AtCoder Beginner Contest 177总结
生活随笔
收集整理的這篇文章主要介紹了
AtCoder Beginner Contest 177总结
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
回學(xué)校第一次打AtCoder,感覺(jué)晚上在寢室打不在狀態(tài)~~
A - Don’t be late
數(shù)學(xué)題簽到
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #include<iostream> #include<algorithm> using namespace std; typedef long long ll; const int N=100010; ll a[N]; int n; int main() {IO;int d,t,s;cin>>d>>t>>s;int x=(d+s-1)/s;if(t>=x) cout<<"Yes"<<endl;else cout<<"No"<<endl;return 0; }B - Substring
直接暴力即可
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #include<string> #include<cstring> #include<iostream> #include<algorithm> #define mkp(a,b) make_pair(a,b) using namespace std; typedef long long ll; typedef pair<int,int> pii; int main() {IO;string s,t;cin>>s>>t;int res=1e9;for(int i=0;i+t.size()<=s.size();i++){int cnt=0;for(int j=0;j<t.size();j++) if(s[j+i]!=t[j]) cnt++;res=min(cnt,res);}cout<<res<<endl;return 0; }C - Sum of product of pairs
預(yù)處理前綴和即可
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #include<iostream> #include<algorithm> using namespace std; typedef long long ll; const int N=200010,mod=1e9+7; ll a[N],s[N]; int n; int main() {IO;cin>>n;for(int i=1;i<=n;i++) {cin>>a[i];s[i]=s[i-1]+a[i];}ll res=0;for(int i=1;i<=n;i++)res=(res+(s[n]-s[i])%mod*a[i]%mod)%mod;cout<<res<<endl;return 0; }D - Friends
并查集維護(hù)sz[]找個(gè)最大的即可
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #include<cstring> #include<iostream> #include<algorithm> using namespace std; typedef long long ll; typedef pair<int,int> pii; const int N=200010,mod=1e9+7; int p[N],sz[N]; int n,m; int find(int x) {if(x!=p[x]) p[x]=find(p[x]);return p[x]; } int main() {IO;cin>>n>>m;for(int i=1;i<=n;i++) p[i]=i,sz[i]=1;while(m--){int a,b;cin>>a>>b;int pa=find(a),pb=find(b);if(pa!=pb){p[pa]=pb;sz[pb]+=sz[pa];}}int res=0;for(int i=1;i<=n;i++) if(i==p[i]) res=max(res,sz[i]);cout<<res<<endl;return 0; }E - Coprime
太久沒(méi)做過(guò)數(shù)論題目了,篩法啥的都忘完了,回頭刷kuangbin復(fù)習(xí)復(fù)習(xí)吧
方法一
如果兩個(gè)數(shù)最大公約數(shù)不為1,那么對(duì)兩個(gè)數(shù)進(jìn)行分解質(zhì)因數(shù)后一定有相同的質(zhì)因子。——O(nai)O(n\sqrt{a_i})O(nai??) 1040ms
方法二
方法一反著做,將原數(shù)分解質(zhì)因數(shù),方法二是正著做,考慮兩個(gè)數(shù)最大公約數(shù)是d那么兩個(gè)數(shù)一定是d的倍數(shù),直接暴力篩原數(shù)組中一個(gè)數(shù)的倍數(shù)的個(gè)數(shù)。如果個(gè)數(shù)大于1就不是pairwise coprime——O(NlogN)O(NlogN)O(NlogN) 248ms
F - I hate Shortest Path Problem
線段樹 留個(gè)坑回來(lái)補(bǔ)一下?
要加油哦~
總結(jié)
以上是生活随笔為你收集整理的AtCoder Beginner Contest 177总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Educational Codeforc
- 下一篇: Codeforces Round #66