真题链接:
第一题:
1 #include"iostream" 2 #include"algorithm" 3 #include"stdio.h" 4 using namespace std; 5 const int MAXN=300005; 6 struct node 7 { 8 int value; 9 int index;10 };11 node users[MAXN];12 int n,q;13 14 bool Cmp(const node &a,const node &b)15 {16 if(a.value!=b.value)17 return a.value=1&&users[tempIndex].value==k)43 {44 if(users[tempIndex].index>=l&&users[tempIndex].index<=r)45 result++;46 tempIndex--;47 }48 tempIndex=kIndex+1;49 while(tempIndex<=n&&users[tempIndex].value==k)50 {51 if(users[tempIndex].index>=l&&users[tempIndex].index<=r)52 result++;53 tempIndex++;54 }55 return result;56 }57 int main()58 {59 while(scanf("%d",&n)==1)60 {61 for(int i=1;i<=n;i++)62 {63 scanf("%d",&users[i].value);64 users[i].index=i;65 }66 sort(users+1,users+1+n,Cmp);67 68 // for(int i=1;i<=n;i++)69 // cout< <<' '< < >q;71 int l,r,k;72 while(q--)73 {74 scanf("%d%d%d",&l,&r,&k);75 cout< <
第二题:
1 #include"iostream" 2 #include"stdio.h" 3 #include"string.h" 4 #include"math.h" 5 using namespace std; 6 7 int color[55][10005]; 8 int colorIndex[55]; 9 int n,m,c;10 11 int Min(int a,int b)12 {13 return a >iColor;50 color[iColor][colorIndex[iColor]++]=i;51 }52 }53 /*54 for(int i=0;i<=c;i++)55 {56 for(int j=0;j
第三题: