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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Codeforces Round #229

發(fā)布時間:2025/3/14 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Codeforces Round #229 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

390 A. Inna and Alarm Clock

http://codeforces.com/contest/390/problem/A

水題一枚,兩個set就可完成

1 #include<iostream> 2 #include<string.h> 3 #include<set> 4 using namespace std; 5 6 set<int>s1,s2; 7 8 int main() 9 { 10 int n,a,b; 11 while(cin>>n) 12 { 13 s1.clear(); 14 s2.clear(); 15 while(n--) 16 { 17 cin>>a>>b; 18 s1.insert(a); 19 s2.insert(b); 20 } 21 int mm=s1.size(); 22 int nn=s2.size(); 23 cout<<min(mm,nn)<<endl; 24 } 25 return 0; 26 } View Code

390?B. Inna, Dima and Song

?

http://codeforces.com/contest/390/problem/B

同樣也很水,兩數(shù)之和相等的情況之下,要使兩個數(shù)的乘積比較大,只要保證兩個靠的比較近就行了,即(sum/2)*(sum-sum/2)

1 #include<iostream> 2 #include<string.h> 3 #include<set> 4 #include<stdio.h> 5 using namespace std; 6 7 long long int a[100001],b[100001]; 8 9 int main() 10 { 11 long long int n,i; 12 while(cin>>n) 13 { 14 for(i=0;i<n;i++) 15 cin>>a[i]; 16 for(i=0;i<n;i++) 17 cin>>b[i]; 18 long long int sum=0; 19 for(i=0;i<n;i++) 20 { 21 if(a[i]+a[i]<b[i]||b[i]==1) 22 sum-=1; 23 else 24 { 25 long long int mm=b[i]/2; 26 long long int nn=b[i]-mm; 27 sum+=mm*nn; 28 } 29 } 30 cout<<sum<<endl; 31 } 32 return 0; 33 } View Code

390?C. Inna and Candy Boxes

http://codeforces.com/contest/390/problem/C

這個題蠻有結(jié)題報告的價值的

題意:

給定一個長度N的01串S,再給一個整數(shù)K。

然后有W個詢問,每個詢問給一對整數(shù)L和R,問對原串在[L,R]這個區(qū)間上要修改多少個位置使得在L+K-1,L+2K-1,L+3K-1,...,R都是1,而其它位置都是0。題目保證R-L+1能夠被K整除。

對于一次詢問,首先求出原串中對應(yīng)區(qū)間上1的個數(shù)X,和落在指定位置上1的個數(shù)Y,以及指定位置的個數(shù)Z。

?

由于題目中已經(jīng)給出 ?r-l+1為k的整數(shù)倍 所以 ?給出左邊界 l ?那么第一個數(shù)一定為(l+k-1)由于做減法運算 ?所以不能包含這個點 ?所以 ?只要把給的l邊界l-1即可?

對于右邊界 ?一定是k ?所以直接用r作為右邊界即可

?

代碼:

1 #include<iostream> 2 #include<string.h> 3 #include<stdio.h> 4 using namespace std; 5 6 const int maxn=100005; 7 8 int a[11][maxn]; 9 10 int sum[maxn]; 11 12 int main() 13 { 14 string s; 15 16 int n,k,w; 17 freopen("aa.txt","r",stdin); 18 while(cin>>n>>k>>w) 19 { 20 cin>>s; 21 22 int l=s.length(); 23 sum[0]=0; 24 25 for(int i=0;i<l;i++) 26 { 27 int j=i+1; 28 sum[j]=sum[i]+(s[i]-'0'); 29 if(j>k) 30 a[j%k][j]=a[j%k][j-k]+(s[i]=='1'?-1:1); 31 else 32 a[j%k][j]=(s[i]=='1'?-1:1); 33 } 34 int aa,bb; 35 36 while(w--) 37 { 38 cin>>aa>>bb; 39 int sun=sum[bb]-sum[aa-1]; 40 aa--; 41 int sux=a[bb%k][bb]-a[aa%k][aa]; 42 cout<<sun+sux<<endl; 43 } 44 } 45 return 0; 46 } View Code

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/zhanzhao/p/3551125.html

總結(jié)

以上是生活随笔為你收集整理的Codeforces Round #229的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。