标签:amp targe title nbsp class i++ ORC href splay
努力把可能不一样的变成不一样的,两种情况。两个一个为“.”,一个为“1”或“0”。第二种是都为“.”。
有这样的就可以不一样。
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN=1e5+10; int main(){ int n,m,flag=0; cin>>n>>m; string ss; cin>>ss; // cout<<ss<<endl; for(int i =0;i<ss.length()-m;i++){ if(ss[i]!=ss[i+m]){ if(ss[i]==‘.‘) ss[i] = (‘1‘-ss[i+m]) +‘0‘; else if(ss[i+m]==‘.‘) ss[i+m] = (‘1‘-ss[i]) +‘0‘; flag=1; break; } else if(ss[i]==‘.‘){ ss[i]=‘1‘; ss[i+m]=‘0‘; flag=1; break; } } if(flag){ for(int i =0;i<ss.length();i++){ if(ss[i]==‘.‘) cout<<"0"; else cout<<ss[i]; } cout<<endl; } else{ cout<<"No"<<endl; } return 0; }
数学能力太差了。。。
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN=1e5+10; int main(){ int x,y; double a,b; cin>>x>>y; a=y*log(x); b=x*log(y); if(x==y){ cout<<"="<<endl; return 0; } if(a>b) cout<<">"<<endl; else if(a<b) cout<<"<"<<endl; else cout<<"="<<endl; return 0; }
第一次是使用了一个三层for循环,直接超时。。。后来在wzd的教导下,想到1^(1+1)的做法。。。
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN=1e5+10; ll n,a[3007],b[3007],c[3007],ans=0x7fffffff,flag=1; int main(){ cin>>n; for(int i =1;i<=n;i++) cin>>a[i]; for(int i =1;i<=n;i++) cin>>b[i]; // fill(c,c+3010,ans); for(int i =2;i<=n-1;i++){ int mmin1=0x7fffffff,mmin2=0x7fffffff; for(int j=i+1;j<=n;j++){ if(a[j]>a[i]&&mmin1>b[i]+b[j]){ mmin1=b[i]+b[j]; } } // cout<<mmin2<<endl; for(int j=i-1;j>=1;j--){ if(a[j]<a[i]&&mmin2>mmin1+b[j]){ mmin2=mmin1+b[j]; } } // cout<<mmin2<<endl; if(ans>mmin2) ans=mmin2; // cout<<ans<<endl; } if(ans==0x7fffffff) cout<<"-1"<<endl; else cout<<ans<<endl; return 0; }
标签:amp targe title nbsp class i++ ORC href splay
原文地址:https://www.cnblogs.com/aixiaodezsh/p/13805759.html