我是靠谱客的博主 高兴大碗,这篇文章主要介绍【杭电】[1166]敌兵布阵,现在分享给大家,希望可以做个参考。

这里写图片描述
这里写图片描述

线段数组的应用
很神奇的一个算法

应用于单点修改和区间求和

先记住吧……

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include<stdio.h> #include<string.h> int a[50200]; int n; void add(int k,int m) { while(k<=n) { a[k]+=m; k+=k&-k; } } int res(int k) { int sum=0; while(k) { sum+=a[k]; k-=k&-k; } return sum; } int main() { int T,kase=0; scanf("%d",&T); while(T--) { memset(a,0,sizeof(a)); printf("Case %d:n",++kase); scanf("%d",&n); for(int i=1; i<=n; i++) { int t; scanf("%d",&t); add(i,t); } char s[10]; while(scanf("%s",s),s[0]!='E') { int x,y; scanf("%d %d",&x,&y); if(s[0]=='Q') printf("%dn",res(y)-res(x-1)); else if(s[0]=='A') add(x,y); else if(s[0]=='S') add(x,-y); } } return 0; }

题目地址:【杭电】[1166]敌兵布阵

最后

以上就是高兴大碗最近收集整理的关于【杭电】[1166]敌兵布阵的全部内容,更多相关【杭电】[1166]敌兵布阵内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(87)

评论列表共有 0 条评论

立即
投稿
返回
顶部