當前位置:
首頁 >
Codeforces Round #715 (Div. 2) D. Binary Literature 构造
發(fā)布時間:2023/12/4
24
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #715 (Div. 2) D. Binary Literature 构造
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
傳送門
文章目錄
- 題意:
- 思路:
題意:
給你個nnn和三個長度為n?2n*2n?2的串,讓你構(gòu)造一個長度≤n?3\le n*3≤n?3的串,使其子序列包含至少兩個給定串。
思路:
先考慮如果沒有長度限制,那么我們肯定就是把兩個串鏈接在一起就行了,這樣長度就是n?4n*4n?4的,考慮怎么優(yōu)化成n?3n*3n?3的串。我們要減少長度nnn,所以可以考慮兩個串共用nnn個字符,這樣兩個串長度減去公用的字符就變成了nnn,而我們構(gòu)造的串長度目前也是nnn,所以我們直接將兩個串剩余的字符都插入我們目前構(gòu)造的長度為nnn的串里面就好了。
下面證明為什么一定能找兩個公共字符≥n\ge n≥n的串。
由于只有0,10,10,1兩種字符,所以這個串一定是cnt1≥ncnt_1 \ge ncnt1?≥n或者cnt0≥ncnt_0 \ge ncnt0?≥n,所以由抽屜原理可知三個串的時候,至少有兩個cnt1≥ncnt_1 \ge ncnt1?≥n或者cnt0≥ncnt_0 \ge ncnt0?≥n,所以我們直接找就好啦。
做的時候想到了盡可能多的找的公用的,但是沒想到直接選一個字符來判斷。
總結(jié)
以上是生活随笔為你收集整理的Codeforces Round #715 (Div. 2) D. Binary Literature 构造的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 借助 SpaceX 火箭,鸿海发射两颗“
- 下一篇: 解决Zimbra邮件服务器的过期办法