Full_of_Boys训练2总结
生活随笔
收集整理的這篇文章主要介紹了
Full_of_Boys训练2总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目來源::西安電子科技大學第16屆程序設計競賽網絡同步賽
A, B, C: easy problem
D. 另一個另一個簡單題
做法是加起來,除n。希望會推導的聚聚指點。
#include <bits/stdc++.h> const int inf =0x3f3f3f3f; using namespace std; int T; int ans; int main(){scanf("%d",&T);while(T--){int n;scanf("%d",&n);ans=0;for(int i=1;i<=n;++i){int x;scanf("%d",&x);ans+=x;}printf("%d\n",ans/n);} }F.?Operating System
貪心,每次替換掉該元素下一個出現的最遠的元素。原題:BZOJ1826
#include <cstdio> #include <algorithm> #include <queue> #include <cstring> typedef long long ll; const int maxn = 70000+700; using namespace std; int n,m; int a[maxn],pr[maxn],pos[maxn],in[maxn],cnt=0; ll b[maxn],v[maxn]; struct node{int w;node(){}node(int x){w=x;}bool operator < (node a)const {return pos[a.w] > pos[w];} }; priority_queue<node>q; int main() {int qq;while(scanf("%d%d%d",&n,&m,&qq)!=EOF){cnt=0;memset(in,0,sizeof(in));memset(pos,0,sizeof(pos));memset(pr,0,sizeof(pr));memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(v,0,sizeof(v));while(!q.empty())q.pop();for(int i=1;i<=qq;++i) scanf("%lld",&b[i]),v[cnt++]=(b[i]);sort(v,v+cnt);cnt = unique(v,v+cnt)-v;for(int i=1;i<=qq;++i){a[i]= lower_bound(v,v+cnt,b[i])-v+1;}for(int i=0;i<maxn;++i) pr[i]=qq+1;for(int i=qq;i>=1;--i){pos[i]=pr[a[i]];pr[a[i]]=i;}pos[qq+1]=qq+1;int ans=0,sz=0;for(int i=1;i<=qq;++i){if(in[a[i]]){q.push(node{i});continue;}if(sz==n){while(!q.empty()){int u=q.top().w;q.pop();if(in[a[u]]){in[a[u]]=0;break;}}}else ++sz;in[a[i]]=1;++ans;q.push(node{i});}printf("%d\n",ans);}return 0; }E.Xieldy And His Password
dp[i][j]表示以i這一位為最高位,模3等于j的方法數。那么轉移就是:t=(j*2+a[i])%3 ,dp[i][t] = dp[i-1][j]; 還有一個轉移是只包含第i位的方案所以dp[a[i]]]++;
#include <bits/stdc++.h> typedef long long ll; using namespace std; char s[1000007]; ll dp[1000007][3]; int main(){while(~scanf(" %s",s)) {int len=strlen(s);memset(dp,0,sizeof(dp));++dp[0][s[0]-'0'];for(int i=1;i<len;++i){for(int j=0;j<3;++j){int t = (2*j%3+s[i]-'0')%3;dp[i][t]=dp[i-1][j];}++dp[i][s[i]-'0'];}ll ans = 0;for(int i=0;i<len;++i)ans+=dp[i][0];printf("%lld\n",ans);} }?J.?Database
大模擬。。。仰慕zyc巨神的200+代碼,不貼了
反思:完全沒有罰時意識,自我放棄罰時。。。導致6題倒數。對于有明顯確定思路的題,必須過手造數據,才能交。中文題感覺很良好,這題要是英文估計涼一半。對于沒思路題的難度可以跟自己做出的其他相同他人數的題對比一下,確定是找規律還是推公式。dp狀態確定極其不熟練,很簡單的狀態就是沒思路,需要加強。但是,zyc碼力驚人!!!orz
轉載于:https://www.cnblogs.com/RRRR-wys/p/8904593.html
總結
以上是生活随笔為你收集整理的Full_of_Boys训练2总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平板支撑的正确练习方法如何进行平板支撑的
- 下一篇: 组合数学学习笔记