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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

CodeForces - 1480D1 Painting the Array I(贪心)

發布時間:2024/4/11 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CodeForces - 1480D1 Painting the Array I(贪心) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接:點擊查看

題目大意:給出一個長度為 nnn 的序列,現在要求拆分成兩個子序列,使得兩個子序列的貢獻之和最 。對于一個序列的貢獻就是,去掉相鄰且相同的字母后的長度,即 ∑i=1n[a[i]!=a[i?1]]\sum_{i=1}^{n}[a[i]!=a[i-1]]i=1n?[a[i]!=a[i?1]],其中 a[0]=0a[0]=0a[0]=0

題目分析:首先預處理出對于每個位置 iii 后首次出現 aia_iai? 的位置,即為 last[i]last[i]last[i],然后按照三個規則貪心即可:設 v1v1v1 為第一個序列的結尾位置,v2v2v2 為第二個序列的結尾位置,默認為 v1=v2=0v1=v2=0v1=v2=0,對于第 iii 個位置的數:

  • 如果 a[i]=a[v1]a[i]=a[v1]a[i]=a[v1],那么將 a[i]a[i]a[i] 加在第一個序列后面的貢獻為 000,所以應該加到第二個序列后
  • 如果 a[i]=a[v2]a[i]=a[v2]a[i]=a[v2],根據規則 111 同理可得將 a[i]a[i]a[i] 加在第一個序列后面是更優的
  • 如果 a[i],a[v1],a[v2]a[i],a[v1],a[v2]a[i],a[v1],a[v2] 互不相同,我們需要將 a[i]a[i]a[i] 加到 last[v1]last[v1]last[v1]last[v2]last[v2]last[v2] 較小的那個序列后
  • 規則一和規則二比較容易想到,主要是規則三,我先放上一組反例,假如第一個序列此時為 [1][1][1],第二個序列此時為 [2][2][2],剩余需要分配的原序列為 [3,2,2][3,2,2][3,2,2],如果將下一個 333 加入序列一的話,那么第二個 222,無論如何也無法起到貢獻,所以應該將這個 333 加入到序列二中

    感性理解一下規則三的話,就是 lastlastlast 更小的那個位置,可以更早的將當前新加入的數字代替掉,這樣貢獻肯定只會越來越大

    實現就比較簡單了

    代碼:

    // Problem: D1. Painting the Array I // Contest: Codeforces - Codeforces Round #700 (Div. 2) // URL: https://codeforces.com/contest/1480/problem/D1 // Memory Limit: 512 MB // Time Limit: 2000 ms // // Powered by CP Editor (https://cpeditor.org)// #pragma GCC optimize(2) // #pragma GCC optimize("Ofast","inline","-ffast-math") // #pragma GCC target("avx,sse2,sse3,sse4,mmx") #include<iostream> #include<cstdio> #include<string> #include<ctime> #include<cmath> #include<cstring> #include<algorithm> #include<stack> #include<climits> #include<queue> #include<map> #include<set> #include<sstream> #include<cassert> #include<bitset> #define lowbit(x) x&-x using namespace std; typedef long long LL; typedef unsigned long long ull; template<typename T> inline void read(T &x) {T f=1;x=0;char ch=getchar();while(0==isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}while(0!=isdigit(ch)) x=(x<<1)+(x<<3)+ch-'0',ch=getchar();x*=f; } template<typename T> inline void write(T x) {if(x<0){x=~(x-1);putchar('-');}if(x>9)write(x/10);putchar(x%10+'0'); } const int inf=0x3f3f3f3f; const int N=1e6+100; int a[N],nt[N],last[N]; int main() { #ifndef ONLINE_JUDGE // freopen("data.in.txt","r",stdin); // freopen("data.out.txt","w",stdout); #endif // ios::sync_with_stdio(false);int n;read(n);for(int i=1;i<=n;i++) {read(a[i]);last[i]=n+1;}last[0]=n+1;for(int i=n;i>=0;i--) {nt[i]=last[a[i]];last[a[i]]=i;}int ans=0,v1=0,v2=0;for(int i=1;i<=n;i++) {if(a[i]==a[v1]) {ans+=(a[i]!=a[v2]);v2=i;} else if(a[i]==a[v2]) {ans+=(a[i]!=a[v1]);v1=i;} else if(nt[v1]<nt[v2]) {ans++;v1=i;} else {ans++;v2=i;}}cout<<ans<<endl;return 0; }

    總結

    以上是生活随笔為你收集整理的CodeForces - 1480D1 Painting the Array I(贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 99久久久 | 亚洲第四页 | 国产网红av | 精品人妻天天爽夜夜爽视频 | 亚洲有吗在线 | 密色av| 日韩性在线 | 精品美女久久久 | 国产精品乱码久久久久 | 屁股夹体温计调教play | 91jk制服白丝超短裙大长腿 | 欧美激情久久久久 | 国产日韩精品在线 | 欧美日韩图片 | 一级在线视频 | 国产一级片免费在线观看 | jizz欧美性23 | 日韩一区二区在线观看视频 | 一区二区三区影院 | 中文字幕免费在线视频 | 久久一本精品 | 久久久久一区 | 久久青青热| 一区二区免费 | 欧美成人怡红院 | aaaaa级片| 日本黄色性视频 | 日本精品免费视频 | 欧美午夜精品一区 | 亚洲AV午夜成人片 | 神马午夜dy888| 天美麻花果冻视频大全英文版 | 91黄瓜视频| 久久久精品免费观看 | 欧美人交a欧美精品 | 久久99久久99精品免观看软件 | 一区二区精彩视频 | 狠狠干快播 | 美国做爰xxxⅹ性视频 | 青青青手机在线视频 | 极品少妇xxxx精品少妇偷拍 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 黑人巨大精品欧美黑白配亚洲 | 男生草女生的视频 | 黄色大片网站在线观看 | 中文字幕av一区二区三区谷原希美 | 91精品国产一区二区无码 | 色综合天天干 | 神马午夜伦理影院 | 日日爱影视| 国产精品嫩草影院av蜜臀 | 男人把女人捅爽 | 国产精品扒开腿做爽爽爽视频 | 久久一级免费视频 | 96看片 | 国产二区电影 | 久久久久久久影院 | 桃色av网站 | 欧美最猛性xxxxx(亚洲精品) | 日批视频在线 | 欧美xxxx日本和非洲 | 久久欧 | 成人午夜影院在线观看 | 国产一级做a爱片久久毛片a | 日本少妇中出 | 久久久www成人免费精品 | 亚洲伦理久久 | 五月视频 | 日本视频在线看 | 欧美一级在线播放 | 精品少妇久久 | 日韩精品在线观看一区二区三区 | 国产91国语对白在线 | 国产精品成人国产乱一区 | 国产在线999| 在线aaa | 欧美精品久久久久久久久老牛影院 | 巨大黑人极品videos精品 | 久久精品系列 | 久久久久久久久久一区二区 | 精品人人妻人人澡人人爽牛牛 | 爱涩av | 欧美性生活网址 | 男生草女生视频 | 男人的天堂aa | 中文字幕黄色av | √资源天堂中文在线视频 | 欧美视频第一区 | 一级特黄aaa大片 | 国产电影一区二区三区 | 中文字幕无线精品亚洲乱码一区 | 暖暖日本视频 | 日韩欧美视频在线免费观看 | 欧美乱淫视频 | 欧美美女性生活视频 | 日本高清一区二区视频 | 蜜桃综合网 | 亚洲美女色视频 | 一区二区在线不卡 |