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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Codeforces Global Round 12 D. Rating Compression 思维 + 贪心

發布時間:2023/12/4 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Codeforces Global Round 12 D. Rating Compression 思维 + 贪心 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

傳送門

題意: 給一個長度為nnn的數組aaa,定義一個數組bbb,且bj=minj<=i<=j+k?1aib_j=min_{j<=i<=j+k-1}a_ibj?=minj<=i<=j+k?1?ai?,比如j=3j=3j=3的時候,a[1,3,4,5,2]a[1,3,4,5,2]a[1,3,4,5,2]b3b_3b3?[min(1,3,4),min(3,4,5),min(4,5,2)][min(1,3,4),min(3,4,5),min(4,5,2)][min(1,3,4),min(3,4,5),min(4,5,2)]。現在讓你求bjb_jbj?是否為一個排列,且1<=j<=n1<=j<=n1<=j<=n

思路: 可以發現如果是一個kkk的排列,那么對應bn?k+1b_{n-k+1}bn?k+1?,可以看出來隨著kkk變大,bbb每次取的長度是遞減的。手寫幾個樣例可知,如果當前排列為kkk排列,想要達到k+1k+1k+1排列,那么kkk這個數字一定只出現了一次,如果超過一次的話,那么bbb中一定是有至少兩個元素為kkk。當然滿足這個還不夠,還需要滿足位置關系。假設當前區間為[l,r][l,r][l,r](初始為[1,n][1,n][1,n])且當前為kkk排列,那么kkk這個數一定出現在lllrrr位置,讓后再將出現在的位置向前或者向后移動一位繼續跑就可以了。
當然這樣不是很嚴謹,如果直接這么寫會發現樣例一就過不去,問題出在b1b_1b1?上,我們特殊處理下b1b_1b1?就好啦。

//#pragma GCC optimize(2) #include<cstdio> #include<iostream> #include<string> #include<cstring> #include<map> #include<cmath> #include<cctype> #include<vector> #include<set> #include<queue> #include<algorithm> #include<sstream> #include<ctime> #include<cstdlib> #define X first #define Y second #define L (u<<1) #define R (u<<1|1) #define pb push_back #define mk make_pair #define Mid (tr[u].l+tr[u].r>>1) #define Len(u) (tr[u].r-tr[u].l+1) #define random(a,b) ((a)+rand()%((b)-(a)+1)) #define db puts("---") using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); } //void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); } //void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL; typedef unsigned long long ULL; typedef pair<int,int> PII;const int N=300010,mod=1e9+7,INF=0x3f3f3f3f; const double eps=1e-6;int n; int a[N],cnt[N],pos[N]; int ans[N];void solve() {int l,r; l=1,r=n;for(int i=1;i<=n;i++){if(cnt[i-1]!=1) return;if(!cnt[i]) return;ans[n-i+1]=1;if(pos[i]==l) l++;else if(pos[i]==r) r--;else return;} }bool check() {int c=0;for(int i=1;i<=n;i++) if(cnt[i]) c++;return c==n; }int main() { // ios::sync_with_stdio(false); // cin.tie(0);int _; scanf("%d",&_);while(_--){scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d",&a[i]),cnt[a[i]]++,pos[a[i]]=i;cnt[0]=1; if(check()) ans[1]=1;solve(); for(int i=1;i<=n;i++) printf("%d",ans[i]); puts("");for(int i=1;i<=n;i++) cnt[a[i]]--,pos[a[i]]=0,ans[i]=0;}return 0; } /**/

總結

以上是生活随笔為你收集整理的Codeforces Global Round 12 D. Rating Compression 思维 + 贪心的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 99精品欧美| 国产精品午夜福利视频234区 | 学生调教贱奴丨vk | 九九av| 少妇一级淫免费观看 | 国产亚洲精品久久久久久久久动漫 | 91免费视频黄 | xxxxx毛片 | 夜夜夜操操操 | 黄色a在线观看 | 久久一区二区三区精品 | 中文字幕+乱码+中文 | 男女黄色片 | 福利一区在线观看 | a一级网站 | 久久久久亚洲 | 午夜小网站 | たちの熟人妻av一区二区 | 国产熟女高潮一区二区三区 | 日韩一区二区三区精品 | 色五丁香 | 高清国产mv在线观看 | 国产精品theporn | 成人短视频在线免费观看 | 国产精品第2页 | se94se欧美| 日韩电影精品 | 国产午夜福利一区二区 | 中文字幕首页 | 老司机av导航 | 欧美日本成人 | 无码精品一区二区三区在线 | 男人天堂av电影 | 久久91 | 日本视频在线观看 | 亚洲av无码一区二区三区人 | 欧美成人秋霞久久aa片 | 成年人黄色一级片 | a级黄视频| 中国av一区 | 97福利视频| 九九精品九九 | 黄视频网站在线看 | 五月天精品在线 | 折磨小男生性器羞耻的故事 | 亚洲午夜精品久久久久久人妖 | 香蕉啪啪网 | 日韩高清二区 | 欧美不卡影院 | 国产外围在线 | 欧美另类在线播放 | 黄色片子免费 | 免费看的av | 亚洲区视频在线观看 | 99久草| 在线视频观看免费 | 中文字幕在线免费 | 美女脱了裤子让男人捅 | 色爱综合网 | 亚洲激情视频一区 | av免费资源 | 亚洲爱色 | 豆花视频成人 | 成av人片在线观看www | 亚洲美女自拍偷拍 | 欧美成一区二区三区 | 日韩在线视频免费观看 | 看毛片网站 | 91麻豆精品91久久久久同性 | 91丝袜一区二区三区 | 成年人av| 丰满人妻一区二区三区53视频 | 国产在线精品一区 | 欧美国产精品一区 | 久久综合久久久久 | 香蕉国产精品视频 | 久久看av| 成人av免费网址 | 美丽的小蜜桃2:美丽人生 | 特黄一区二区三区 | 91色爱| 深喉口爆一区二区三区 | 国产成人无码a区在线观看视频 | 无码人妻丰满熟妇区五十路百度 | 久草国产精品 | av不卡免费在线观看 | 超污网站在线观看 | 免费看欧美一级特黄a大片 国产免费的av | 国产成人精品白浆久久69 | 国产精品探花一区二区三区 | 欧美性猛交xxxx乱 | 成人在线91| 国产视频在线一区二区 | 人人妻人人澡人人爽精品欧美一区 | 伦av综合一区| 国产精品熟女久久久久久 | 国产伦理一区二区 | 美女视频免费在线观看 | 青青青av |