# 卓越盃發生的常見問題 --- ## 變數 變數 a 需要每次初始化 ```cpp= #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n,k,m,a=0,ans=0,t=0; cin>>n>>k; while(ans<=k){ while(cin>>m){ if(m==1) a+=1; if(m==0){ t+=1; break; } } if(a) ans+=a*a; } cout<<t-1; return 0; } ``` 亂取名導致不知道自己在寫什麼 ```cpp= #include<iostream> using namespace std; int main(){ ios::sync_with_stdio(0);cin.tie(0); int a,b,c=0,d,i=0; long long p=0; bool s=0; cin>>a>>b; while(i<a&&cin>>d){ if (s) if (!d) i+=1; else if (!d){ p+=c*c; if(p>=b) { c=i+1; s=1; } c=0; i+=1; } else c+=1; } cout<<c; return 0; } ``` ---- ## DP 時狀態不足 這題應該需要兩種狀態 1. 這一天有超過 2. 這一天沒有超過 ```cpp= #include <bits/stdc++.h> using namespace std; int dp[100005]; int main(){ ios::sync_with_stdio(0);cin.tie(0); int n,t; cin>>n>>t; int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } if(a[0]>t&&a[0]>a[1]) dp[0]=a[0]; else if(a[0]>t) dp[0]=t; else dp[0]=a[0]; for(int i=1;i<n;i++){ if(i==n-1) dp[i]=dp[i-1]+a[i]; else if(a[i]>t&&a[i]>a[i+1]) dp[i]=dp[i-1]+a[i]; else if(a[0]>t) dp[i]=dp[i-1]+t; else dp[i]=dp[i-1]+a[i]; } cout<<dp[n-1]<<'\n'; return 0; } ``` 或是合併 ```cpp= #include<iostream> using namespace std; int main(){ int a,b,arr[100010],dp[100010]; cin>>a>>b; for (int i=0;i<a;i++) cin>>arr[i]; dp[0]=arr[0]; if (arr[0]>b) dp[1]=max(dp[0],arr[1]); else dp[1]=dp[0]+arr[1]; for (int i=0;i<a;i++){ if (arr[i-1]>b) dp[i]=max(dp[i-1],dp[i-2]+arr[i]); else dp[i]=dp[i-1]+arr[i]; } cout<<dp[a-1]; return 0; } ``` ---- ## 嘗試用浮點數做高精度計算 ```cpp= #include<bits/stdc++.h> using namespace std; int main() { long long n; cin >> n; long long k = 54*pow(2,n); long long t = pow(10,9) + 7; cout << (long long)(k%t); } ``` ---- ## 時間複雜度(想偷分阿) $O(n)$ ,題目預設要求 $O(\log(n))$ ```cpp= #include<iostream> using namespace std; int main(){ ios::sync_with_stdio(0);cin.tie(0); long long a,b=2; long long r=54; cin>>a; for (int i=0;i<a;i++){ r*=2; r%=1000000007; } cout<<r; return 0; } ``` ```cpp= #include <bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(0);cin.tie(0); int n; cin>>n; int t=1; if(n==0) cout<<54<<'\n'; else{ for(int i=0;i<n;i++){ t=t*2%1000000007; } cout<<54*t; } return 0; } //我來亂的 ``` 我們的 judge 真口黏 ### 常數優化同學 XxRoyxX 40 分,有想法耶同學 ```cpp= #include<bits/stdc++.h> using namespace std; long long a,b=54; int main() { ios::sync_with_stdio(false); cin.tie(0); cin>>a; for(int i=0;i<a;i++) { b=b*2; if(b>1000000007) b-=1000000007; } cout<<b; } ``` 幫你做到極限(有AC) ```cpp= #include<bits/stdc++.h> using namespace std; long long a,b=54; int main() { ios::sync_with_stdio(0); cin.tie(0); cin>>a; int i; for(i=0;i+30<a;i+=30) { b<<=30; b%=1000000007; } b=(b<<(a-i))%1000000007; cout<<b; } ``` ---- ## 索引值 除此之外還有其他問題,大家來找找 ```cpp= #include<bits/stdc++.h> using namespace std; vector<string> v; int main() { ios::sync_with_stdio(0); cin.tie(0); int n,q,a[1005]; cin>>n>>q; for(int i=0;i<q;i++) cin>>a[i]; for(int i=0;i<n;i++) cin>>v[i]; for(int i=0;i<q;i++){ cout<<v[a[i]]<<'\n'; } return 0; } ``` ---- ## 字串沒有用 getline ```cpp= #include<bits/stdc++.h> #define eb emplace_back using namespace std; vector<string> v; int main(){ string s; int a,b,c; cin>>a>>b; cin.ignore(); for (int i=0;i<b;i++){ cin>>s; v.eb(s); } for (int i=0;i<a;i++){ cin>>b>>c; cout<<v[b-1][c-1]; } return 0; } ``` --- ## 安妮亞系列 ---- ![](https://i.imgur.com/Jxn9vdf.png) ---- ![](https://i.imgur.com/VZfCmSh.png) ---- ![](https://i.imgur.com/mKsHEdB.png) ---- ![](https://i.imgur.com/qGrxq59.png) ---- ![](https://i.imgur.com/gy847gl.png) ---- ![](https://i.imgur.com/bc3houw.png) ---- ![](https://i.imgur.com/FkfKT5O.png) ---- ![](https://i.imgur.com/aHYAwUE.png) ---- ![](https://i.imgur.com/hnzGYgd.png) ---- ![](https://i.imgur.com/778UNNM.png) ---- ![](https://i.imgur.com/yeiPTN9.png) ---- ![](https://i.imgur.com/7YWrZk4.png) ---- ![](https://i.imgur.com/EFpLlZv.png) ---- ![](https://i.imgur.com/WerlGB5.png) ---- ![](https://i.imgur.com/FChaT3h.png) ---- ![](https://i.imgur.com/5YeCHlh.png) ---- ![](https://i.imgur.com/uPuOstM.png) ---- ![](https://i.imgur.com/0uiPCwd.png) ---- ![](https://i.imgur.com/3Wfi5iD.png) ---- ![](https://i.imgur.com/A0NY0GG.png) ---- ![](https://i.imgur.com/r4taJTO.png) ---- ![](https://i.imgur.com/anR55k7.png) ---- ![](https://i.imgur.com/Yh0pRpl.png) ---- ![](https://i.imgur.com/XkQpxxT.png) ---- ![](https://i.imgur.com/leSGyey.png) ---- ![](https://i.imgur.com/zKe6Q4G.png) ---- ![](https://i.imgur.com/OwqDzBK.png) ---- ![](https://i.imgur.com/7W8gw9r.png) ---- ![](https://i.imgur.com/k3C1VtF.png) ---- ![](https://i.imgur.com/HD4g7Fc.png) ---- ![](https://i.imgur.com/8xVdhNJ.png) ---- ![](https://i.imgur.com/VclLJMO.png) ---- ![](https://i.imgur.com/J6atEnO.png) ---- ![](https://i.imgur.com/dZXBPcG.png) ---- ![](https://i.imgur.com/nAFYwZp.png) ---- ![](https://i.imgur.com/MJ8WseX.png) ---- ![](https://i.imgur.com/ep6UCb6.png) ---- ![](https://i.imgur.com/ZNdAQzv.png) ---- ![](https://i.imgur.com/YPVR5Mc.png) ---- ![](https://i.imgur.com/64CLQ3d.png) ----
{"metaMigratedAt":"2023-06-17T04:01:09.209Z","metaMigratedFrom":"Content","title":"卓越盃發生的常見問題","breaks":true,"contributors":"[{\"id\":\"3978a08d-c47c-4560-b04d-dfbd8e71d0a3\",\"add\":5805,\"del\":36}]"}
    374 views
   owned this note