C49-桶思想+区间和
2025-03-22 12:06:13
发布于:江苏
7阅读
0回复
0点赞
一、利用前缀和计算区间和
理解并使用区间和的计算公式
实例 A336.前缀和
#include<iostream>
using namespace std;
int n,m;
int a[100005]={};
int s[100005];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
s[i] = s[i-1] + a[i];//预处理前缀和
}
for(int i=1;i<=m;i++){
int l,r;
cin>>l>>r;
cout<<s[r] - s[l-1]<<endl;//计算区间和
}
}
二、桶思想
1. 选班长
某班级共有8为学生,老师决定选择一位班长, 每个同学参与投票,给出每位同学的投票情况,
请输出班长。
输入:输入8个数字表示每一位同学投票的结果,2 5 7 2 3 3 3 4
输出:
第1个选手的票数为:0票
第2个选手的票数为:2票
...
班长是第3号选手, 票数为3票
#include<iostream>
using namespace std;
int vote, b[10];
int main(){
for (int i=1; i<=8; i++){
cin>>vote;
b[vote] ++;
}
int maxx = 0; //下标
for (int i=1; i<=8; i++){
printf("第%d个选手的票数为:%d票\n", i, b[i] );
if (b[i] > b[maxx]){
maxx = i;
}
}
printf("班长是第%d号选手,票数为%d票\n", maxx, b[maxx]) ;
return 0;
}
这里空空如也
有帮助,赞一个