日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NYOJ 228 士兵杀敌(五)

發布時間:2025/3/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NYOJ 228 士兵杀敌(五) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

士兵殺敵(五)

時間限制:2000?ms ?|? 內存限制:65535?KB 難度:5 描述

南將軍麾下有百萬精兵,現已知共有M個士兵,編號為0~M,每次有任務的時候,總會有一批編號連在一起人請戰(編號相近的人經常在一塊,相互之間比較熟悉),最終他們獲得的軍功,也將會平分到每個人身上,這樣,有時候,計算他們中的哪一個人到底有多少軍功就是一個比較困難的事情。

在這樣的情況下,南將軍卻經常會在許多次戰役之后詢問軍師小工第i號士兵到第j號士兵所有人的總軍功數。

請你幫助軍師小工回答南將軍的提問。

輸入
只有一組測試數據
第一行是三個整數N,C,Q(1<=N,C,Q<=1000000),其中N表示士兵的總數。
隨后的C行,每行有三個整數Mi,Ni,Ai(0<=Mi<=Ni<=N,0<=Ai<=100),表示從第Mi號到第Ni號士兵所有人平均增加了Ai的軍功。
再之后的Q行,每行有兩個正正數m,n,表示南將軍詢問的是第m號士兵到第n號士兵。
輸出
請對每次詢問輸出m號士兵到第n號士兵的總軍功數,由于該數值可能太大,請把結果對10003取余后輸出
樣例輸入
5 3 2 1 3 2 2 4 1 5 5 10 1 5 2 3
樣例輸出
19 6
淚奔了!花費了好幾個小時,樹狀數組和線段樹都用上了,滿以為能提交成功,結果一提交,居然TLE!!!
只是因為不是在線問的!!!
TLE代碼:
#include<stdio.h> #include<string.h> int num[1000010],sum[3000000]; int N,t,count; int LowBit(int i) {return i&(-i); } void Plus(int i,int value) {while(i>0){num[i]=(num[i]+value)%10003;i-=LowBit(i);} } int Get(int i) {int result=0;while(i<=N){result=(result+num[i])%10003;i+=LowBit(i);}return result; } // 創建線段樹 void Create(int l,int r,int root) {if(l==r){sum[root]=Get(count);// printf("%d ",sum[root]);count++;return;}int mid=(l+r)/2;Create(l,mid,root*2);Create(mid+1,r,root*2+1);sum[root]=(sum[root*2]+sum[root*2+1])%10003; } void Query(int l,int r,int root,int a,int b) {if(a>r||b<l)return;if(a<=l&&b>=r){t=(t+sum[root])%10003;return;}int mid=(l+r)/2;Query(l,mid,root*2,a,b);Query(mid+1,r,root*2+1,a,b); } int main() {int C,Q,a,b,value,i;memset(num,0,sizeof(num));memset(sum,0,sizeof(sum));scanf("%d%d%d",&N,&C,&Q);for(i=1;i<=C;i++){scanf("%d%d%d",&a,&b,&value);Plus(a-1,-value);Plus(b,value);}count=1;Create(1,N,1);for(i=1;i<=Q;i++){scanf("%d%d",&a,&b);t=0;Query(1,N,1,a,b);printf("%d\n",t);}return 0; }
別人的AC碼:
#include<stdio.h> #include<string.h> #define M 10003 int num[1000010]; int main() {int N,C,Q,a,b,value,i;memset(num,0,sizeof(num));scanf("%d%d%d",&N,&C,&Q);for(i=1;i<=C;i++){scanf("%d%d%d",&a,&b,&value);num[a]+=value; // 從a到C的值全部加valuenum[b+1]-=value; // 從b到C的值全部減value}for(i=1;i<=N;i++)num[i]+=num[i-1];for(i=1;i<=N;i++)num[i]=(num[i-1]+num[i])%M;for(i=0;i<Q;i++){scanf("%d%d",&a,&b);printf("%d\n",(num[b]-num[a-1]+M)%M);}return 0; }

總結

以上是生活随笔為你收集整理的NYOJ 228 士兵杀敌(五)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜在线你懂的 | 亚洲AV无码国产精品 | 国产日本精品 | 爱爱视频网 | 国产精品视频久久 | 啪免费| 国产成人精品片 | 色一情一乱一伦一区二区三区 | 最近最好的2019中文 | 国产欧美一区二 | 久久青| 91干视频 | 国产无毛av| 欧美日韩成人精品 | 四虎精品在永久在线观看 | 精品人妻一区二区三区日产乱码 | 天天操天天操天天操天天操天天操 | av老司机在线播放 | 国产女人精品 | 色综合久久中文字幕无码 | 天天插天天搞 | 午夜毛片视频 | 欧美激情视频在线播放 | 日本中文一区 | 欧美一级黄色网 | 亚洲妇女av| 精品一区亚洲 | 丰满少妇久久久久久久 | 亚洲欧美日韩在线不卡 | 成人中文字幕+乱码+中文字幕 | 97av超碰 | 涩涩天堂 | 狠狠综合久久 | 精品一区二区三区四区五区 | 五月综合激情网 | 日本视频免费 | 一区二区在线不卡 | 熟妇人妻系列aⅴ无码专区友真希 | 亚洲欧美一区二区三区四区 | 国产黄色在线观看 | 天天狠天天干 | 一区二区三区欧美在线 | 久久久久久久久久福利 | 中文字幕亚洲一区二区三区五十路 | 亚洲精品中文字幕成人片 | 亚洲丁香网 | 一区二区的视频 | 成人在线一区二区三区 | 久久久黄色大片 | 不良视频在线观看 | 18在线观看视频 | 欧美成人va| 狠狠摸狠狠操 | 中文字幕一区二区三区精品 | 日b视频免费看 | 亚洲精品自拍 | 免费黄色欧美 | 国产精品va无码一区二区 | 黄色三级网络 | 亚洲 欧美 变态 另类 综合 | 天天夜碰日日摸日日澡性色av | 爱情岛论坛永久入口 | 香蕉视频免费在线播放 | 嫩草导航 | 日韩精品国产一区二区 | 懂色av一区二区三区免费观看 | 日韩成人黄色片 | 调教在线观看 | 在线国产91 | 欧美成人免费一级 | 一级特黄aa大片 | 国产裸体视频 | 国产全肉乱妇杂乱视频 | 18被视频免费观看视频 | 高潮一区 | 91成人观看 | 欧美激情精品久久久久久变态 | 国产日韩欧美精品一区二区 | 人妻视频一区二区三区 | jizzjizz亚洲| 欧美日韩综合一区 | 一区二区三区四区高清视频 | 国产鲁鲁视频在线观看免费 | 97人人爽人人爽人人爽 | 国产超碰人人模人人爽人人添 | 都市激情中文字幕 | 中文字幕福利视频 | 亚洲777| 欧美激情自拍 | 亚洲av无码一区二区三区人 | 一级片视频网站 | 91操碰| 91成人福利在线 | 亚洲精品自拍 | av网站国产 | eeuss一区| 超碰福利在线观看 | 中文字幕日韩人妻在线视频 | 美女国产网站 |