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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[AGC001 D]Arrays and Palindrome

發布時間:2025/3/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [AGC001 D]Arrays and Palindrome 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意

對于一對數組\(a_i\)\(b_i\),滿足\(\sum\limits_{i=1}^{k_a}a_i=\sum\limits_{i=1}^{k_b}b_i=N\),而且對于所有長度為\(N\)的字符串,如果在滿足下列兩個條件的前提下:

  • 對于前\(a_1\)個,接下來\(a_2\)個,再接下去\(a_3\)個……都是回文串

  • 對于前\(b_1\)個,接下來\(b_2\)個,再接下去\(b_3\)個……都是回文串

同時還必然滿足這個字符串一定全部字符都一樣。如果只有原來\(a_i\)的一個排列,求一種這個\(a_i\)數組和相應的\(b_i\)數組。注意可能不存在。

  • \(N\leq 10^5\)
  • \(k_a \leq 100\)
  • \(A_i\leq 10^5\)

分析

先考慮\(k_a\)比較小的情況,例如\(k_a=1\),這個時候可以發現我們只需要讓回文串錯一位就可以了。

對于\(k_a=2\),考慮我們從那個中間分隔的點開始往外直接擴展,實際上只要覆蓋到兩邊回文串中間的那個點,然后剩下來的直接隨便覆蓋就可以了(因為就這一些已經將兩個回文串“連接”在了一起),這是一個思路,但是比較難以實現。

更加直接的思路(按照題解),還是按照錯位,我們考慮實際上只需要將中間那個分割點向左邊移動一下,那也是能夠相應建立關系的。

按照這個思路,我們應該可以進一步地考慮推廣!我們應該可以按照這個思路,只需要取\(b=\{a_1-1,a_2,\cdots,a_{k_a-1},a_{k_a}+1\}\),這種答案的構造方法,除非是中間的數是偶數,否則都是可以的。

那么當存在大量偶數的時候有沒有可能構造出一個相應的解呢?我們考慮設\(a\)里面偶數有\(O_a\)個,\(b\)里面偶數有\(O_b\)個,那么邊數是\(\frac{N-O_a}{2}+\frac{N-O_b}{2}\),考慮如果我們要讓這\(N\)個點連通,我們肯定至少需要\(N-1\)條邊,那么也就是\(\frac{N-O_a}{2}+\frac{N-O_b}{2}\geq N-1\),這個不等式算出來是\(O_a+O_b\leq 2\)……于是我們發現不可能偶數多于\(2\)個。如果滿足的話那一定可以將這兩個偶數調到最前和最后。

那么我們只要掃一遍就可以得到了。回顧一下思路,我們從\(k_a=1\)的情況推出了錯位的思路,然后進一步推廣到了一般情況,同時對于一種看上去比較特殊的情況得出了解。最后,我們證明了剩下的情況沒有解,實際上也就是說因為有偶數,所以相當于要浪費一部分邊去專門將偶數導走,然后整個圖就無法導通。

注意在寫的時候有可能會出現減出\(0\)的情況,所以需要再判一下邊界情況。

# include <bits/stdc++.h> # define il inline # define fi first # define se second # define pb push_back # define mem(x,v) memset(x,v,sizeof x) # define rep(i,x,y) for(int i=x;i<=y;++i) # define re(i,x,y) for (int i=x;i<y;++i) using namespace std; typedef long long ll; il ll read(){ll x=0; char c=getchar();for(;c<'0'||c>'9';c=getchar());for(;c>='0'&&c<='9';c=getchar())x=x*10+c-'0';return x; } const int maxm = 100+10; int n,m; int a[maxm]; vector<int> b; int main(){n=read(); m=read();rep(i,1,m) a[i]=read();if (m == 1){b.pb(1); b.pb(n-1);}else{int cnt = 0;rep(i,1,m) cnt += a[i] % 2;if (cnt > 2){puts("Impossible"); return 0;}rep(i,2,m-1)if (a[i]%2==1){if (a[1]%2==0)swap(a[1],a[i]);else swap(a[m],a[i]);}b.pb(a[m]+1);for (int i=m-1;i>1;--i) b.pb(a[i]);b.pb(a[1]-1);}rep(i,1,m) printf("%d ",a[i]); printf("\n");int bs=b.size();if (b[bs-1] == 0)--bs;printf("%d\n",bs);for (int i=bs-1;i>=0;--i) printf("%d ",b[i]); printf("\n");return 0; }

轉載于:https://www.cnblogs.com/wendavid/p/8982266.html

總結

以上是生活随笔為你收集整理的[AGC001 D]Arrays and Palindrome的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: av一区二区三区四区 | 极品少妇在线观看 | 亚洲国产va | 久草播放 | 午夜免费视频网站 | 97精品国产露脸对白 | 婷婷国产| √天堂资源在线 | 茄子视频色| 黄色片aaa| 久久美| 毛片链接 | 好吊妞视频这里只有精品 | 国产精品视频在线观看 | 麻豆av毛片 | 亚洲综合五月天婷婷丁香 | 婷婷在线视频 | 亚洲成人中文 | 狠狠干在线观看 | 五月天精品视频 | 日韩中文字幕在线观看 | 图片区小说区视频区 | 黄色片免费观看 | 99热国产| 男人av网 | 国产真实交换夫妇视频 | 香蕉久久a毛片 | 亚洲天天综合 | 黄在线视频 | 日本激情视频一区二区三区 | 国产真实夫妇交换视频 | 日美av| 麻豆电影网站 | 精品人妻一区二区三区免费 | 麻豆影视网站 | 综合久久国产 | 看毛片视频 | 可以免费看的av | 国产av无码专区亚洲精品 | 国产亚洲精品久久久久久无几年桃 | 香蕉综合网 | 天堂网一区二区 | 精品亚洲aⅴ无码一区二区三区 | 黄色仓库av | 任你操精品 | 免费亚洲网站 | 欧美精品久久久久久 | 黄色av一区| 久久久99精品免费观看 | h无码动漫在线观看 | 九九热视频精品在线观看 | 亚洲s码欧洲m码国产av | 亚洲免费色图 | 又黄又骚的视频 | 成人av激情 | 污视频免费看 | 九九黄色片 | 黑人3p波多野结衣在线观看 | 57pao国产成永久免费视频 | 欧美激情在线一区二区 | 久久99久久99精品中文字幕 | h片在线观看 | 人妖干美女 | 国产做爰xxxⅹ高潮视频12p | 国产老女人乱淫免费 | 91视频在线| 寡妇av| 99精品人妻无码专区在线视频区 | 亚洲视频区 | 欧美成人综合视频 | 天天干天天爽天天射 | 国产麻豆一区二区三区在线观看 | 日日夜夜综合网 | 日本一区二区三区视频在线播放 | av在线播放一区 | 日本人妻一区二区三区 | 欧美一区二区三区色 | 能免费看18视频网站 | 中文字幕免费在线视频 | 337p粉嫩大胆噜噜噜噜69影视 | 国产69久久精品成人看 | 精品国产免费看 | 一本色道久久88 | 在线观看污| av天天干 | 日韩av不卡在线 | 中文在线资源 | 久久九九热视频 | 免费在线看黄色片 | 在线免费日韩 | 黄色一级网址 | 欧美一级黄色片在线观看 | 成人va在线观看 | 日本一区二区在线免费观看 | 欧美激情一区二区三区p站 欧美mv日韩mv国产网站app | 成人一区三区 | 久久久精品动漫 | 720url在线观看免费版 | 亚洲涩情 |