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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Wannafly挑战赛19

發布時間:2023/12/3 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Wannafly挑战赛19 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Wannafly挑戰賽19


A. 隊列Q

需要支持把一個元素移到隊首,把一個元素移到隊尾,移到隊首就直接放到隊首前面那個位置,原位置標為0,隊尾同理。

#include <bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;++i) typedef long long ll; const int N = 30000200; using namespace std; int n,m; int q[N],hd,x,ed,P[N]; char s[1111]; void F(int x) {int p = P[x];swap(q[p],q[hd]);P[x] = hd;hd--; } void L(int x){int p=P[x];swap(q[p],q[ed]);P[x]=ed;ed++; } int main() {scanf("%d",&n);hd = 500000;ed = hd + n - 1;rep(i,hd,ed)scanf("%d",&q[i]),P[q[i]]=i;hd--;ed++;scanf("%d",&m);rep(ti,1,m){scanf(" %s %d",s,&x);if(s[0]=='F'){F(x);}else {L(x);}}int f=0;rep(i,hd,ed)if(q[i]){if(f)printf(" ");f=1;printf("%d",q[i]);}puts("");return 0; }

B. 矩陣

帶限制的最大子矩陣,首先是與不帶限制的最大子矩陣一樣,最上邊的邊和底邊,然后做最大子段和。帶上了0的限制和長度限制,于是寫了個雙指針,就過了。(講道理感覺雙指針有點假。。。
ps: 好像真的是假算法,回頭補下單調棧做法。

#include <bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;++i) typedef long long ll; const int N = 555; const ll inf = 1000000000000000LL; using namespace std; int R,C,X,Y,Z; ll mp[N][N], sum[N][N], sum0[N][N], a[N], b[N]; int ck(int l,int r,ll x,ll y) {if(r-l+1 <= Y && l<=r && r<=C && x<=Z) return 1;return 0; } ll solve() {ll res=0,ans=a[1],ans0=b[1];rep(i,1,C)res=max(res,a[i]);int l = 1, r = 1;while(l<=r&&r<=C) {if(ck(l,r,ans0,ans))res = max(res,ans);while(ck(l,r+1,ans0+b[r+1],ans))++r,ans+=a[r],ans0+=b[r],res=max(res,ans);if(ck(l,r,ans0,ans))res = max(res,ans);ans -= a[l];ans0 -= b[l];++l;while(a[l]<=0&&l<=C)ans0-=b[l],ans-=a[l],++l;while(l>r)++r,ans0+=b[r],ans+=a[r];if(ck(l,r,ans0,ans))res = max(res,ans);}return res; } int main() {scanf("%d %d %d %d %d",&R,&C,&X,&Y,&Z);rep(i,1,R)rep(j,1,C)scanf("%lld",&mp[i][j]);rep(i,1,R)rep(j,1,C){sum[i][j] = sum[i-1][j] + mp[i][j];if(mp[i][j]==0) sum0[i][j] = sum0[i-1][j] + 1;else sum0[i][j] = sum0[i-1][j];}ll ans = 0;rep(l,1,R)rep(r,l,min(R,l+X-1)){rep(k,1,C) a[k] = sum[r][k]-sum[l-1][k], b[k] = sum0[r][k]-sum0[l-1][k];ans = max(ans,solve());}printf("%lld\n",ans);return 0; }

C. 多彩的樹

預處理每種顏色狀態下的路徑數,但是這次統計的包含這個狀態的所有子狀態。因此考慮容斥,當當前狀態的顏色數為奇數時,加奇數,減偶數,當為偶數時加偶數減奇數。
\(eg1: a1a2 = (a1a2 + a1 + a2) - a1 - a2\)
\(eg2: a1a2a3 = (a1a2a3 + a1a2 + a2a3 + a1a3 + a1 + a2 + a3) - (a1a2 + a1 + a2) - (a2a3 + a2 + a3) - (a1a3 + a1 + a3) + a1 + a2 + a3\)
沒有系統學習過容斥,碰見類似容斥,最好舉幾個例子找規律

#include <cstdio> #include <cstring> #include <queue> #define rep(i,a,b) for(int i=a;i<=b;++i) typedef long long ll; const int N = 50004; const ll mod = 1e9 + 7; using namespace std; struct edge{int e,nxt;}E[N<<1]; int h[N],cc; void add(int u,int v) {E[cc].e = v;E[cc].nxt = h[u];h[u]=cc;++cc; } int n,k,x,y,a[N],col[12],vis[N],cnt[1<<11]; ll ans[12],dp[(1<<12)],num[(1<<12)]; ll dfs(int s) {ll res = 1;vis[s] = 1;for(int i=h[s];~i;i=E[i].nxt) {int v = E[i].e;if(!vis[v]&&col[a[v]]) {res += dfs(v);}}return res; } int main() {scanf("%d%d",&n,&k);rep(i,1,n) scanf("%d",&a[i]);memset(h,-1,sizeof(h));rep(i,1,n-1)scanf("%d%d",&x,&y),add(x,y),add(y,x);rep(i,1,(1<<k)-1) {dp[i]=cnt[i]=0;rep(j,0,k-1){col[j+1]=0;if(i&(1<<j))col[j+1]=1,++cnt[i];}rep(j,1,n)vis[j]=0;rep(j,1,n)if(!vis[j]&&col[a[j]]){ll tmp = dfs(j);dp[i] += tmp*(tmp-1)/2;dp[i]%=mod;}}rep(i,1,(1<<k)-1){num[i]=0;for(int j=i;j>0;--j)if((j|i)==i){if((cnt[i]-cnt[j])&1)num[i]-=dp[j];elsenum[i]+=dp[j];num[i]%=mod;num[i]+=mod;num[i]%=mod;}ans[cnt[i]] += num[i]; ans[cnt[i]]%=mod;}ans[1]+=n;ans[1]%=mod;ll res = 0;for(int i = k; i >= 0; --i) {res = ((res*131LL%mod + ans[i]%mod)%mod)%mod;}printf("%lld\n",res);return 0; }

轉載于:https://www.cnblogs.com/RRRR-wys/p/9275919.html

總結

以上是生活随笔為你收集整理的Wannafly挑战赛19的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 黄色工厂这里只有精品 | 日本精品视频一区二区 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 69xxxx国产| www.久久av| 亚洲激情 | 国产精品77 | 日韩少妇内射免费播放18禁裸乳 | 极品色av| 日本午夜网| 中文字幕在线播放第一页 | 日韩精品视 | 色香色香欲天天天影视综合网 | 男人天堂网在线视频 | 男人天堂2024 | 日韩亚洲精品视频 | 色妻av | 国产,日韩,欧美 | 日日狠狠久久偷偷四色综合免费 | 羞羞涩涩视频 | 各处沟厕大尺度偷拍女厕嘘嘘 | 亚洲人成电影在线 | 久久99精品久久久久 | 欧美又粗又长又爽做受 | 欧美自拍偷拍第一页 | 神秘马戏团在线观看免费高清中文 | 亚洲va国产va天堂va久久 | 亚洲第一天堂影院 | 天堂色av| 美女视屏 | 亚洲视频福利 | 欧美3p在线观看 | 国产精品亚洲自拍 | 狠狠澡| 午夜视频在线免费播放 | 澳门黄色录像 | 日韩一级片中文字幕 | 色网址在线观看 | 色婷婷久久久亚洲一区二区三区 | 麻豆免费av| 生活片一级片 | 亚洲激情午夜 | 最好看的日本字幕mv视频大全 | 婷婷国产精品 | 免费av不卡在线观看 | 欧美一级在线播放 | 亚洲www在线 | 性欧美hd调教 | 日韩 欧美 亚洲 国产 | 亚洲精品欧美激情 | 色偷偷av | 你懂的网址在线观看 | 天天av天天 | 美女张开腿让男人操 | a国产视频| 欧美日韩国 | 欧美综合久久久 | 天堂欧美城网站网址 | 久久免费少妇高潮99精品 | 欧美自拍在线 | 蜜臀aⅴ国产精品久久久国产老师 | 麻豆亚洲av熟女国产一区二 | 亚洲毛片一区二区 | 久久一线 | 男女羞羞无遮挡 | 欧美老女人性生活视频 | 免费看黄在线看 | 国产又粗又猛又黄又爽无遮挡 | 射射射综合网 | 999成人网 | 日韩欧美一卡二卡 | 情五月| 日本天堂影院 | 亚洲成人免费在线视频 | 欧美日韩不卡一区二区三区 | 亚洲精品第三页 | 99re6在线观看 | 老牛影视av老牛影视av | 手机在线成人av | 男女裸体影院高潮 | 欧美激情性生活 | 91av日本| 91免费观看网站 | 理论片琪琪午夜电影 | 国产一区二区三区四区三区四 | 玉足女爽爽91 | 成年人免费小视频 | 久操免费在线 | www视频在线观看网站 | 99热99| 丰满熟女人妻一区二区三 | а√天堂8资源在线官网 | 粗大挺进潘金莲身体在线播放 | 粉嫩一区 | 国产性爱精品视频 | 青娱网电信一区电信二区电信三区 | 国产精品主播在线 | 美女扒开下面让男人捅 | xxxx黄色片|