标签:
对三种数字分别前缀和。
1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 using namespace std; 5 const int maxn=100233; 6 int pre[3][maxn]; 7 int i,j,k,n,m; 8 9 int ra;char rx; 10 inline int read(){ 11 rx=getchar(),ra=0; 12 while(rx<‘0‘||rx>‘9‘)rx=getchar(); 13 while(rx>=‘0‘&&rx<=‘9‘)ra*=10,ra+=rx-48,rx=getchar();return ra; 14 } 15 int main(){ 16 n=read(),m=read();int x; 17 for(i=1;i<=n;i++) 18 for(j=0,x=read()-1;j<3;j++)pre[j][i]=pre[j][i-1]+(j==x); 19 while(m--) 20 i=read(),j=read(), 21 printf("%d %d %d\n",pre[0][j]-pre[0][i-1],pre[1][j]-pre[1][i-1],pre[2][j]-pre[2][i-1]); 22 return 0; 23 }
[bzoj4397] [Usaco2015 dec]Breed Counting
标签:
原文地址:http://www.cnblogs.com/czllgzmzl/p/5596442.html