三國之戰
time limit 1000 memory limit 65536
description
在三國某某戰爭中,魏軍要圍攻蜀國. ,諸葛亮親自指揮戰爭,對抗曹操。現假設諸葛亮有n個大炮,每個大炮都有乙個攻擊值ai(ai>=0 &&ai<=100) , 而且他有乙個神奇的技能,就是他能指定任意區間的大炮,使他們的攻擊值都乘以x(x.>=0 && x<=10),同時他也會詢問某段區間的大炮的總攻擊值。(資料保證答案不會超過long long)
input
第一行輸入n(n<=100000),接下一行n個數ai,代表第i個大炮的攻擊值
接著輸入q,代表q次操作,格式:
attack l r x 代表把第l到 第r個大炮的攻擊值都乘以x
query l r 查詢l到r大炮攻擊和值
output
輸出每次查詢結果
sample_input
4 1 1 1 1
3attack 1 2 2
query 1 4
query 2 2
3100 100 100
3query 1 3
attack 1 3 0
query 1 3
sample_output
case 1: 62
case 2:
3000
hint
source
這一題我a了很久才搞定,主要時間就花在除錯上面
因為乙個漏洞。
61 1 1 1 1 1
6attack 1 4 4
attack 3 6 2
attack 1 1 3
attack 1 5 3
attack 1 4 0
query 3 6
#include
#include
#include
#include
#define n 100030
using namespace std;
class node
root[4*n];
int shu[n];
void build(int t,int l,int r)
build(t<<1,l,(l+r)/2);build(t<<1|1,(l+r)/2+1,r);
root[t].sum=root[t<<1].sum+root[t<<1|1].sum;
}void up(int t)
void update(int t,int l,int r,int date)
else
if(root[t<<1].r>=r)update(t<<1,l,r,date);
else if(root[t<<1|1].l<=l)update(t<<1|1,l,r,date);
else
root[t].sum=root[t<<1].sum+root[t<<1|1].sum;}}
int query(int t,int l,int r)
if(root[t<<1].r>=r)s=query(t<<1,l,r);
else if(root[t<<1|1].l<=l)
s=query(t<<1|1,l,r);
else s=query(t<<1,l,root[t<<1].r)+query(t<<1|1,root[t<<1|1].l,r);
root[t].sum=root[t<<1].sum+root[t<<1|1].sum;
}return s;
}int main()
else
新三國爭霸
descrption input output sample input 3 3 5 10 30 1 2 1 2 3 2 1 3 4 11 3 2 5sample output 180hint 分析 顯然現在問題如何知道 w j 1 i n le 300 範圍比較小,我們可以 n 2 預處理出區間內...
寫個三國殺
自己老早以前就想寫個區域網的三國殺,以前思考過其遊戲邏輯的實現,覺得有點複雜,一直也沒有真正動手,上個週末,真正動手做了起來,2天裡寫了大約2000來行 算是把整個框架有了個大致的實現。下面把整個思路整理一下。既然是輕量級的區域網版本,就沒必要把伺服器和客戶端分開來做,就讓程式自帶服務端和客戶端,類...
《三國演義》簡介
三國演義 是我國最早的一部長篇 章回體歷史 描寫了 三國時期的歷史故事,集體表現了統治者之間政治和軍事鬥爭。該書最早的 版本是明 嘉靖元年刊印的 三國志通俗演義 分24卷,240則,每則乙個七言標題。此後新的刊本迭出,卷數 回目 引用詩詞等均有改動。清康熙時,毛綸 毛宗崗父子對 三國志演義 進行了修...