<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      洛谷 P11190

      給定長度為 \(n\) 的字符串 \(s\),問至多能將 \(s\) 劃分成多少個子序列,使得每個子序列都不是回文串?(輸出方案)

      特殊性質 A:每個字符出現次數不超過 \(\frac{n}{2}\)

      特殊性質 B:只有 a, b 兩種字符。

      這個題沒有特殊性質提示感覺有紫。

      特殊性質 A

      沒有絕對眾數,所以可以嘗試把兩個不同的字符丟到一個回文串,答案為 \(\lfloor \frac{n}{2} \rfloor\)

      構造有個經典 trick,將 \(s\) 重排,顏色相同的丟一起,然后 \((i, i + n / 2)\) 形成一個子序列。\(n\) 是奇數丟到 \((1, 1 + n / 2)\) 里即可。

      特殊性質 B

      不妨設 a, b 中多的為 a,其數量 \(c_a\) 達到了 \(\lfloor \frac{n}{2} \rfloor\)

      顯然每個字符串里都要有 b,所以答案至多 \(c_b\)

      考慮如何達到這個上界,有兩種顯然不是回文串的字符串 aa...abbaa...a。設 b 的出現位置是 \(p_1, p_2, \dots p_{c_b}\)

      • 對于 \(1 < i < c_b\)\(p_{i - 1} + 1 \sim p_i\) 組成一個子序列。
      • 對于 \(i = 1\),讓 \(p_1, p_{c_b - 2} + 1 \sim p_{cb - 1} - 1, p_{cb - 1} + 1 \sim n\) 組成一個子序列。
      • 對于 \(i = c_b\),讓 \(1 \sim p_1 - 1, p_{c_b}\) 組成一個子序列。

      這樣構造能使得每個字符串都是前面的兩種形式。對于那些只有一個字符 b 的子序列,從別的子序列挪一個 a 形成 abba

      正解

      把兩部分結合起來,如果有絕對眾數,把絕對眾數視為 a,剩下的視為 b,做特殊性質 B。否則特殊性質 A。

      時間復雜度:\(O(n)\)


      這個題特殊性質有較強的引導意義,特殊性質 A 的 trick 值得學一下。這種分是否有絕對眾數討論的思想值得學習。

      性質 B 的構造也需要想想,抓到很不是回文串的兩種字符串即可。

      posted @ 2025-11-03 22:17  xiehanrui0817  閱讀(6)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 漂亮人妻被修理工侵犯| 激情在线网| 91中文字幕一区在线| 午夜福利啪啪片| 国产精品一区二区色综合| 亚洲av永久无码精品天堂久久| 皋兰县| 无码日韩精品一区二区三区免费| 中文字幕少妇人妻精品| 人妻系列无码专区69影院| 欧美粗大猛烈老熟妇| 秋霞AV鲁丝片一区二区| 国产精品中文字幕自拍| 国内熟妇人妻色在线视频| 99在线精品免费视频九九视| 国产精品污双胞胎在线观看| 久久亚洲精品国产精品尤物| 三人成全免费观看电视剧高清| 绯色蜜臀av一区二区不卡| 日韩有码中文在线观看| 岢岚县| 999精品色在线播放| 成全影视大全在线观看| 国产老熟女视频一区二区| 成年女人片免费视频播放A| 在线a级毛片无码免费真人| 国产精品一区二区麻豆蜜桃| 和黑人中出一区二区三区| 白嫩少妇无套内谢视频| 人人妻人人插视频| 色成人亚洲| 久久国产精品夜色| 亚洲乱妇老熟女爽到高潮的片| 国产精品三级中文字幕| 亚洲精品沙发午睡系列| 狼人大伊人久久一区二区| 成人无码影片精品久久久| 欧美国产日韩久久mv| 国模雨珍浓密毛大尺度150p| 久久精品色一情一乱一伦| 国产精品午夜福利合集|