青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

數(shù)據(jù)加載中……

TJU_OI 1090 戰(zhàn)地統(tǒng)計系統(tǒng)(War Field Statistical System)

1090.  戰(zhàn)地統(tǒng)計系統(tǒng)(War Field Statistical System)

輸入文件名:c.in     輸出文件名:c.out 提交  討論  運行狀況 

2050年,人類與外星人之間的戰(zhàn)爭已趨于白熱化。就在這時,人類發(fā)明出一種超級武器,這種武器能夠同時對相鄰的多個目標(biāo)進(jìn)行攻擊。凡是防御力小于或等于 這種武器攻擊力的外星人遭到它的攻擊,就會被消滅。然而,擁有超級武器是遠(yuǎn)遠(yuǎn)不夠的,人們還需要一個戰(zhàn)地統(tǒng)計系統(tǒng)時刻反饋外星人部隊的信息。這個艱巨的任 務(wù)落在你的身上。請你盡快設(shè)計出這樣一套系統(tǒng)。

這套系統(tǒng)需要具備能夠處理如下2類信息的能力:

    1.外星人向[x1,x2]內(nèi)的每個位置增援一支防御力為v的部隊。

    2.人類使用超級武器對[x1,x2]內(nèi)的所有位置進(jìn)行一次攻擊力為v的打擊。系統(tǒng)需要返回在這次攻擊中被消滅的外星人個數(shù)。

注:防御力為i的外星人部隊由i個外星人組成,其中第j個外星人的防御力為j。

輸入格式

從文件c.in第一行讀入n,m。其中n表示有n個位置,m表示有m條信息。

以下有m行,每行有4個整數(shù)k,x1,x2,v用來描述一條信息 。k表示這條信息屬于第k類。x1,x2,v為相應(yīng)信息的參數(shù)。k=1 or 2。

注:你可以認(rèn)為最初的所有位置都沒有外星人存在。

規(guī)模:0<n≤1000;0<x1≤x2≤n;0<v≤1000;0<m≤2000

輸出格式

結(jié)果輸出到文件c.out。按順序輸出需要返回的信息。

輸入樣例

3 5
1 1 3 4
2 1 2 3
1 1 2 2
1 2 3 1
2 2 3 5

輸出樣例

6
9

樣例說明

輸入樣例   對應(yīng)輸出     輸出樣例
3 5 無 6
1 1 3 4 無 9
2 1 2 3 6
1 1 2 2 無
1 2 3 1 無
2 2 3 5 9

題目來源OIBH 信息學(xué)練習(xí)賽 #6

題目標(biāo)簽

二維(1)   線段樹(1)  

這個題目的標(biāo)簽是二維+線段樹,我估計有些哥們真的用二維線段樹來做了,查看了一下后面的代碼,發(fā)現(xiàn)大多數(shù)的人的代碼都超過2k,有的還達(dá)到s四五k之多.
我的思路是把這個題目轉(zhuǎn)化成矩形切割來做,x,y,v三個參數(shù)以及默認(rèn)的一個初始值代表了一個矩形區(qū)域,左下角(x1,y1)=(x,1),右上角(x2,y2)=(y,v);
切割的大體方法是從USACO上的一個題目學(xué)來的,類似木塊上浮,從第一個矩形一直浮到最上面的矩形,每碰到一個遮蓋的矩形就分裂當(dāng)前矩形,在上浮的過程中計算出每次詢問的答案.
如果你對矩形切割很了解,相信我的代碼還是比較容易理解的.

 1 #include<iostream>
 2 using namespace std;
 3 const int MAXM=3000+100;
 4 struct rect
 5 {
 6   int x1,y1,x2,y2;
 7   rect(){};
 8   rect(int x1,int y1,int x2,int y2) : x1(x1),y1(y1),x2(x2),y2(y2) {}
 9 }temp,q[MAXM];
10 
11 int pos[MAXM],cp=0,ans[MAXM],n,m;
12 bool mark[MAXM];
13 
14 inline bool is_parted(rect& a,rect& b)
15 {
16   return (a.x2<b.x1 || a.x1>b.x2 || a.y2<b.y1 || a.y1>b.y2);
17 
18 
19 void Cut(int p,rect cur)
20 {
21   if (p>cp) return;
22   while ( p<=cp && is_parted(cur,q[pos[p]]) ) ++p;
23   if (p>cp) return;
24   rect ques=q[pos[p]];
25   int area=(cur.y2-cur.y1+1)*(cur.x2-cur.x1+1);
26   if (cur.x1<ques.x1){ 
27     area-=(ques.x1-cur.x1)*(cur.y2-cur.y1+1);
28     rect temp=cur;
29     cur.x1=ques.x1;
30     temp.x2=ques.x1-1;
31     Cut(p+1,temp);
32   }
33   if (cur.x2>ques.x2){
34     area-=(cur.x2-ques.x2)*(cur.y2-cur.y1+1);
35     rect temp=cur;
36     cur.x2=ques.x2;
37     temp.x1=ques.x2+1;
38     Cut(p+1,temp);
39   }
40   if (cur.y2>ques.y2){
41     area-=(cur.y2-ques.y2)*(cur.x2-cur.x1+1);
42     rect temp=cur;
43     cur.y2=ques.y2;
44     temp.y1=ques.y2+1;
45     Cut(p+1,temp);
46   }
47   if (cur.y1<ques.y1){
48     area-=(ques.y1-cur.y1)*(cur.x2-cur.x1+1);
49     rect temp=cur;
50     cur.y1=ques.y1;
51     temp.y2=ques.y1-1;
52     Cut(p+1,temp);
53   }
54   ans[p]+=area;
55 }
56 
57 int main()
58 {
59   freopen("c.in","r",stdin);
60   freopen("c.out","w",stdout);
61   memset(mark,0,sizeof(mark));
62   cin >> n >> m;
63   for (int i=0;i<m;++i){
64     int k,x,y,v;
65     cin >> k >> x >> y >> v;
66     q[i]=rect(x,1,y,v);
67     if (k==2){
68       mark[i]=1;
69       pos[++cp]=i;
70     }
71   }
72 
73   memset(ans,0,sizeof(ans));
74   int p=1;
75   for (int i=0;i<m;++i){
76     if (mark[i]) { ++p; continue; }
77     Cut(p,q[i]);
78   }
79   for (int i=1;i<=cp;++i) cout << ans[i] << endl;
80  
81   return 0;
82 }
83 

posted on 2009-07-26 20:19 Chen Jiecao 閱讀(415) 評論(0)  編輯 收藏 引用 所屬分類: TJU_OI

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美精品国产精品| 欧美日在线观看| 久久深夜福利免费观看| 欧美日韩亚洲激情| 91久久精品国产| 蜜乳av另类精品一区二区| 午夜精品久久久久久久久久久久久 | 亚洲区一区二区三区| 久久久久久国产精品mv| 亚洲性感激情| 国产精品高清一区二区三区| 亚洲精选中文字幕| 欧美黄色一区二区| 久久人人97超碰人人澡爱香蕉| 亚洲欧美日韩精品久久久久| 在线亚洲国产精品网站| 欧美国产91| 免费亚洲电影| 最新成人av在线| 亚洲大胆女人| 久久大综合网| 久久一区中文字幕| 亚洲欧美视频一区| 欧美二区在线观看| 久久另类ts人妖一区二区| 国产欧美一区二区在线观看| 篠田优中文在线播放第一区| 亚洲一区二区三区视频| 欧美精品成人91久久久久久久| 亚洲国产一区二区三区高清| 欧美电影免费网站| 欧美激情综合色综合啪啪| 一区二区三区精品在线 | 亚洲欧洲日产国产网站| 欧美另类变人与禽xxxxx| 在线亚洲欧美视频| 国产精品99久久99久久久二8| 国产日韩欧美一区| 欧美a一区二区| 欧美日韩在线视频首页| 欧美尤物巨大精品爽| 蜜臀久久99精品久久久画质超高清 | 国产精品视频成人| 久久久久国产精品www| 久久久久久午夜| 99re热这里只有精品视频| 亚洲视频每日更新| 精品动漫3d一区二区三区| 亚洲国产精品激情在线观看| 欧美性大战xxxxx久久久| 欧美在线1区| 免费精品视频| 国产精品一级久久久| 免费一区视频| 国产精品久久久久aaaa樱花| 另类成人小视频在线| 欧美日韩国产一区二区三区地区 | 亚洲欧美在线一区二区| 欧美在线观看www| 一区二区三区免费看| 久久超碰97人人做人人爱| av成人天堂| 久久精品国产99精品国产亚洲性色| 亚洲激精日韩激精欧美精品| 一区二区欧美日韩视频| 亚洲国产精品小视频| 亚洲一区日本| 亚洲精品中文在线| 欧美成人资源| 久久成人18免费观看| 日韩一二在线观看| 欧美一区二区在线免费播放| 一本到高清视频免费精品| 久久精品国产久精国产爱| 亚洲一区精彩视频| 欧美精品麻豆| 免费不卡在线视频| 国产女人水真多18毛片18精品视频| 亚洲国产精品久久91精品| 国产亚洲综合精品| 99热这里只有精品8| 亚洲精品日产精品乱码不卡| 久久福利资源站| 久久国产精品一区二区三区四区| 欧美日韩国产一区二区| 亚洲欧洲一区二区三区久久| 亚洲国产精品成人一区二区| 欧美尤物巨大精品爽| 亚洲欧美一区二区激情| 欧美日韩国产小视频在线观看| 亚洲国产精品福利| 亚洲精品乱码久久久久久黑人| 久久精品麻豆| 久久久国产视频91| 国模吧视频一区| 久久国产视频网| 久久精品亚洲精品| 国产欧美日韩综合精品二区| 亚洲性夜色噜噜噜7777| 亚洲视频一起| 欧美视频在线播放| 一区二区三区视频免费在线观看| 99热精品在线| 欧美女人交a| 一本久道久久综合婷婷鲸鱼| 这里只有精品视频在线| 欧美日韩极品在线观看一区| 亚洲美女精品成人在线视频| 亚洲午夜女主播在线直播| 国产精品福利在线| 亚洲免费小视频| 久久精品一区二区| 在线播放国产一区中文字幕剧情欧美 | 欧美日韩国产麻豆| 日韩午夜精品| 午夜激情久久久| 国产美女精品一区二区三区| 午夜亚洲福利在线老司机| 久久久欧美一区二区| 1024日韩| 欧美肉体xxxx裸体137大胆| 亚洲欧美国产va在线影院| 久久久人成影片一区二区三区观看 | 欧美精品一区二| 亚洲天堂av高清| 久久精品国产亚洲a| 亚洲观看高清完整版在线观看| 欧美国产日韩在线| 夜夜嗨av一区二区三区四区| 久久av老司机精品网站导航 | 欧美大色视频| 日韩视频在线免费观看| 久久国产主播| 亚洲精品极品| 国产精品自拍网站| 六月天综合网| 亚洲婷婷在线| 欧美二区在线| 亚洲欧美在线观看| 在线成人av| 欧美三区免费完整视频在线观看| 亚洲欧美文学| 亚洲国产裸拍裸体视频在线观看乱了中文 | 午夜在线电影亚洲一区| 红桃视频亚洲| 欧美日韩国内| 美女性感视频久久久| 亚洲一区亚洲| 亚洲精品免费在线观看| 久久精品在这里| 亚洲网站啪啪| 亚洲国产成人在线视频| 国产欧美日韩综合精品二区| 欧美精品www在线观看| 欧美一区亚洲| 亚洲一区二区免费| 日韩亚洲一区二区| 免费久久99精品国产自| 性8sex亚洲区入口| 一区二区三区精品在线| 亚洲精品乱码久久久久久日本蜜臀| 国产一区免费视频| 国产精品视频最多的网站| 欧美日本在线一区| 米奇777超碰欧美日韩亚洲| 香蕉精品999视频一区二区| 夜夜嗨av一区二区三区| 亚洲美女色禁图| 亚洲国产精品传媒在线观看 | 亚洲欧美在线视频观看| 日韩网站免费观看| 欧美日韩亚洲国产一区| 欧美高清视频一区二区三区在线观看| 亚洲欧美日韩精品久久| 亚洲天堂久久| a4yy欧美一区二区三区| 亚洲欧美精品在线观看| 中国成人在线视频| 夜夜嗨网站十八久久| 亚洲精品你懂的| 亚洲人成人77777线观看| 亚洲国内精品在线| 欧美精品久久99| 欧美激情性爽国产精品17p| 免费试看一区| 免费看成人av| 女同性一区二区三区人了人一| 妖精视频成人观看www| 亚洲老司机av| 亚洲欧美一区二区三区在线| 亚洲伊人伊色伊影伊综合网| 亚洲一区亚洲| 欧美一级精品大片| 久久精品二区亚洲w码| 欧美一区二区视频在线观看2020| 性做久久久久久久免费看| 欧美一区二区黄色| 一区二区三区免费在线观看| 欧美日韩国产三级| 欧美日本一区二区三区|