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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

bzoj2375 疯狂的涂色

發布時間:2023/12/1 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bzoj2375 疯狂的涂色 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

瘋狂的涂色

Time Limit: 5 Sec Memory Limit: 128 MB

Description

小t非常喜愛畫畫,但是他還是一個初學者。他最近費盡千辛萬苦才拜到已仙逝的達芬奇為師(神仙?妖怪?謝謝)。達芬奇果然是畫雞蛋長大的,讓小t一入門就拿著一張白紙條瘋狂地涂色。假設紙條被劃分成了n個區域,用1~n的整數從左到右順序編號,達芬奇總共下達了m條指令。第I條指令是讓小t把編號為(Ip+q)mod n+1與(Iq+p)mod n+1(p,q為常整數)之間的區域(連續的一段區域)涂成第I種顏色。你可以假設達芬奇家中顏料的顏色數足夠多(達芬奇是畫雞蛋長大的)。
現在由于達芬奇下達的指令過多,小t一時應付不過來。達芬奇只讓他回答每一個區域最后的顏色。趁達芬奇還在“五谷輪回之所”忙碌時,小t偷偷的請讓你這個計算機高手幫他算出最后的顏色狀態,并告訴他。時間緊迫,要快喲!(達芬奇的指令次數多到惡心)

Input

為四個整數n,m,p,q。

Output

n行,第I行代表最后第I個格子的顏色。白色編號為0。

Sample Input

1000 999 341 547

(樣例自己腦補。。。。。)

和bzoj一起水一道題233.。。。

#include<cstdio> #include<algorithm> using namespace std; int fa[1000011],ans[1000011]; inline int find(int i) { return fa[i]==i ? i : fa[i]=find(fa[i]); } int main() {int n,m,p,q,l,r,tmp;scanf("%d%d%d%d", &n, &m, &p, &q);for(int i=1;i<=n+1;i++) fa[i]=i;for(int i=m;i;i--){l=(i*p+q)%n+1; r=(i*q+p)%n+1; if(l>r) swap(l,r); for(int j=find(l);j<=r;j=tmp){ans[j]=i;tmp=find(j+1);fa[j]=tmp;}if(find(1)==n+1) break;}for(int i=1;i<=n;i++) printf("%d\n",ans[i]);return 0; }

轉載于:https://www.cnblogs.com/LLppdd/p/8673270.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的bzoj2375 疯狂的涂色的全部內容,希望文章能夠幫你解決所遇到的問題。

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