Codeforces Beta Round #25 (Div. 2 Only)

Codeforces Beta Round #25 (Div. 2 Only)

http://codeforces.com/contest/25

A

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define lson l,mid,rt<<1
 4 #define rson mid+1,r,rt<<1|1
 5 #define sqr(x) ((x)*(x))
 6 #define maxn 500005
 7 typedef long long ll;
 8 /*#ifndef ONLINE_JUDGE
 9         freopen("1.txt","r",stdin);
10 #endif */
11 
12 int n;
13 int a[105];
14 map<int,int>mp;
15 
16 int main(){
17     #ifndef ONLINE_JUDGE
18   //      freopen("1.txt","r",stdin);
19     #endif
20     std::ios::sync_with_stdio(false);
21     int n;
22     cin>>n;
23     int d=0,s=0;
24     int posd,poss;
25     for(int i=1;i<=n;i++){
26         cin>>a[i];
27         if(a[i]%2) d++,posd=i;
28         else s++,poss=i;
29     }
30     if(d>s) cout<<poss<<endl;
31     else cout<<posd<<endl;
32 
33 }
View Code

 

B

模拟

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define lson l,mid,rt<<1
 4 #define rson mid+1,r,rt<<1|1
 5 #define sqr(x) ((x)*(x))
 6 #define maxn 500005
 7 typedef long long ll;
 8 /*#ifndef ONLINE_JUDGE
 9         freopen("1.txt","r",stdin);
10 #endif */
11 
12 int n;
13 int a[105];
14 map<int,int>mp;
15 
16 int main(){
17     #ifndef ONLINE_JUDGE
18   //      freopen("1.txt","r",stdin);
19     #endif
20     std::ios::sync_with_stdio(false);
21     int n;
22     cin>>n;
23     string str;
24     cin>>str;
25     int co=0;
26     while(n){
27         if(n>3){
28             n-=2;
29             cout<<str[co]<<str[co+1]<<'-';
30             co+=2;
31         }
32         else{
33             if(n==3)
34                 cout<<str[co]<<str[co+1]<<str[co+2]<<endl;
35             else
36                 cout<<str[co]<<str[co+1]<<endl;
37             n=0;
38         }
39     }
40 }
View Code

 

C

用floyd跑,类似DP的思想

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define lson l,mid,rt<<1
 4 #define rson mid+1,r,rt<<1|1
 5 #define sqr(x) ((x)*(x))
 6 #define maxn 500005
 7 typedef long long ll;
 8 /*#ifndef ONLINE_JUDGE
 9         freopen("1.txt","r",stdin);
10 #endif */
11 
12 ll dp[305][305];
13 
14 int main(){
15     #ifndef ONLINE_JUDGE
16         freopen("1.txt","r",stdin);
17     #endif
18     //std::ios::sync_with_stdio(false);
19     int n;
20     cin>>n;
21     for(int i=0;i<n;i++){
22         for(int j=0;j<n;j++){
23             cin>>dp[i][j];
24         }
25     }
26     int m;
27     cin>>m;
28     ll u,v,c;
29     while(m--){
30         cin>>u>>v>>c;
31         u--,v--;
32         ll ans=0;
33         for(int i=0;i<n;i++){
34             for(int j=0;j<n;j++){
35                 dp[i][j]=min(dp[i][j],min(dp[i][u]+c+dp[v][j],dp[i][v]+c+dp[u][j]));
36                 ans+=dp[i][j];
37             }
38         }
39         cout<<ans/2<<" ";
40     }
41 }
View Code

 

D

并查集,判断是否成环,成环的话把可以构成环的边删去并找到另一个集合把他们连起来

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define lson l,mid,rt<<1
 4 #define rson mid+1,r,rt<<1|1
 5 #define sqr(x) ((x)*(x))
 6 #define maxn 500005
 7 typedef long long ll;
 8 /*#ifndef ONLINE_JUDGE
 9         freopen("1.txt","r",stdin);
10 #endif */
11 
12 int fa[1005];
13 
14 int Find(int x){
15     int r=x,y;
16     while(x!=fa[x]){
17         x=fa[x];
18     }
19     while(r!=x){
20         y=fa[r];
21         fa[r]=x;
22         r=y;
23     }
24     return x;
25 }
26 
27 bool join(int x,int y){
28     int xx=Find(x);
29     int yy=Find(y);
30     if(xx!=yy){
31         fa[xx]=yy;
32         return true;
33     }
34     return false;
35 }
36 
37 int main(){
38     #ifndef ONLINE_JUDGE
39         freopen("1.txt","r",stdin);
40     #endif
41     //std::ios::sync_with_stdio(false);
42     int n;
43     cin>>n;
44     int u,v;
45     vector<pair<int,int> >ve;
46     for(int i=0;i<=1001;i++) fa[i]=i;
47     for(int i=1;i<n;i++){
48         cin>>u>>v;
49         if(!join(u,v)) ve.push_back(make_pair(u,v));
50     }
51     vector<pair<pair<int,int>,pair<int,int> > >ans;
52     for(int i=0;i<ve.size();i++){
53         u=ve[i].first;
54         for(int j=1;j<=n;j++){
55             if(join(u,j)){
56                 ans.push_back(make_pair(make_pair(u,ve[i].second),make_pair(u,j)));
57                 break;
58             }
59         }
60     }
61     cout<<ans.size()<<endl;
62     for(int i=0;i<ans.size();i++){
63         cout<<ans[i].first.first<<" "<<ans[i].first.second<<" "<<ans[i].second.first<<" "<<ans[i].second.second<<endl;
64     }
65 }
View Code

 

E

字符串hash 找到一个前缀和另一个后缀最长相同的长度,也可以用kmp做

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define lson l,mid,rt<<1
 4 #define rson mid+1,r,rt<<1|1
 5 #define sqr(x) ((x)*(x))
 6 #define maxn 500005
 7 typedef long long ll;
 8 typedef unsigned long long ull;
 9 const ull MOD=257;
10 /*#ifndef ONLINE_JUDGE
11         freopen("1.txt","r",stdin);
12 #endif */
13 int Check(string s1,string s2){
14     int len=0;
15     if(s1.find(s2)!=-1) return s1.length();
16     if(s2.find(s1)!=-1) return s2.length();
17     int len1=s1.length();
18     int len2=s2.length();
19     int ans=len1+len2;
20     int i=len1-1,j=0;
21     ull aa=0,bb=0;
22     ull flag=1;
23    // cout<<s1<<" "<<s2<<endl;
24     while(i>=0&&j<len2){
25         aa=s1[i]*flag+aa;
26         flag=flag*MOD;
27         bb=bb*MOD+s2[j];
28        // cout<<s1[i]<<" "<<s2[j]<<" "<<aa<<" "<<bb<<endl;
29         if(aa==bb){
30             len=j+1;
31         }
32         i--,j++;
33     }
34     return ans-len;
35 }
36 
37 int main(){
38     #ifndef ONLINE_JUDGE
39         freopen("1.txt","r",stdin);
40     #endif
41     //std::ios::sync_with_stdio(false);
42     string s1,s2,s3;
43     cin>>s1>>s2>>s3;
44     int len1=s1.length(),len2=s2.length(),len3=s3.length();
45    // cout<<len1<<" "<<len2<<" "<<len3<<" "<<len1+len2+len3<<endl;
46     int ans=0x3f3f3f3f;
47     ans=min(ans,(Check(s1,s2)+Check(s2,s3)-len2));
48     ans=min(ans,Check(s1,s3)+Check(s3,s2)-len3);
49     ans=min(ans,Check(s2,s1)+Check(s1,s3)-len1);
50     ans=min(ans,Check(s2,s3)+Check(s3,s1)-len3);
51     ans=min(ans,Check(s3,s1)+Check(s1,s2)-len1);
52     ans=min(ans,Check(s3,s2)+Check(s2,s1)-len2);
53     cout<<ans<<endl;
54 }
View Code

 

转载于:https://www.cnblogs.com/Fighting-sh/p/10361352.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值