日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Full_of_Boys训练2总结

發布時間:2023/12/3 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。