AtCoder Regular Contest 105 部分 NIM游戏
TESyyds,本來以為又要3:1,結果創造歷史!!!非常激動啊好久好久沒看過讓二追三了。
 無縫銜接回旋踢,qa插眼we。送給雷達哥
A - Fourtune Cookies
簽到題
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<set> #include<map> #include<cmath> #include<queue> #include<string> #include<vector> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<unordered_map> using namespace std; typedef long long ll; typedef pair<int,int> pii; const int mod=1e9+7; int main() {IO;int T=1;//cin>>T;for(int ca=1;ca<=T;ca++){int a[4];for(int i=0;i<4;i++) cin>>a[i];sort(a,a+4);if(a[0]+a[1]+a[2]==a[3]||a[0]+a[2]==a[1]+a[3]||a[0]+a[3]==a[1]+a[2])cout<<"Yes\n";elsecout<<"No\n";}return 0; }B - MAX-=min
做的時候感覺和求gcd的過程有點像,于是直接猜結論求序列gcd直接就過了
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<set> #include<map> #include<cmath> #include<queue> #include<string> #include<vector> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<unordered_map> using namespace std; typedef long long ll; typedef pair<int,int> pii; const int mod=1e9+7; const int N=100010; int a[N]; int n; int gcd(int a,int b) {return b?gcd(b,a%b):a; } int main() {IO;int T=1;//cin>>T;for(int ca=1;ca<=T;ca++){// multiset<int> s;// cin>>n;// for(int i=1;i<=n;i++) // {// int a;// cin>>a;// s.insert(a);// }// while(1)// {// auto b=s.begin(),e=s.end();// e--;// int x=*b,y=*e;// if(x==y) break;// s.erase(e);// s.insert(y-x);// }// cout<<*s.begin()<<'\n';cin>>n;for(int i=1;i<=n;i++) cin>>a[i];int d=a[1];for(int i=2;i<=n;i++) d=gcd(d,a[i]);cout<<d<<'\n';}return 0; }C - Camels and Bridge
大佬題解
 剛開始看了半天題,不知道從何入手,然后發現N非常小于是考慮枚舉排列。但是之后就不會做了。
看了題解之后發現自己陷入了一個誤區——橋的排序,本題每部分橋都是一個限制條件,而并不用關系橋的順序。
排序定后現在要求1~n的最小距離,考慮設計dp
 狀態表示:fif_ifi?表示1→i1\to i1→i的最小距離
 狀態轉移:fi=max(fi,fj+len)f_i=max(f_i,f_j+len)fi?=max(fi?,fj?+len),對于當前考慮的駱駝和之前的駱駝滿足所有橋的條件,因而要考慮之前的所有駱駝取距離上限。
 len可以預處理前綴然后二分體重快速求得詳細看代碼
總結:由于自己顯然橋的順序這個誤區,一直不知道從何入手,沒能夠充分挖掘題目的條件,進一步簡化已知條件。
D - Let’s Play Nim
大佬題解,直接copy大佬的題解,寫的非常非常非常清晰,一下子就明白了,難道這就是考智商的題嗎
 
總結:大佬題解的思路非常清晰,首先由于n的奇偶性會影響最終NIM游戲的先手順序于是就分奇偶,然后考慮先手如何能讓自己在最終的NIM的游戲中獲得勝利,一步步趨近答案值得學習。
要加油哦~
總結
以上是生活随笔為你收集整理的AtCoder Regular Contest 105 部分 NIM游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 牛客练习赛 71 AC
- 下一篇: 二月二十九日几年一次 为什么会有二月二十
