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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

水题杂做(

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 水题杂做( 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

平時閑的無聊寫的或者口嗨的水題就不水博客了。


CF1545A AquaMoon and Strange Sort

題意

給出nnn個數字的一個序列,每次可以交換相鄰的兩個數字,求是否能夠將序列從小到大排序且每個數字被交換次數為偶數。
n≤105n\leq 10^5n105

解題思路

其實就是每個數字的奇偶位置不能變,按照奇偶位置排序然后判斷是否有序即可


[USACO15OPEN]Palindromic Paths G

題意

n?nn*nn?n的字母矩陣,求有多少條從(1,1)(1,1)(1,1)出發只向右和下走的路徑滿足經過的路徑是一個回文串。
n≤500n\leq 500n500

解題思路

兩頭同時出發,設fi,j,kf_{i,j,k}fi,j,k?表示走了iii步,兩頭的橫坐標分別是j,kj,kj,k,這樣可以壓掉一維狀態了,然后滾動卡長


P4873 [USACO14DEC]Cow Jog G

題意

nnn頭牛,每頭牛從pip_ipi?出發,速度為viv_ivi?,跑TTT秒。
求最少多少個賽道可以使所有牛之間沒有沖突。
1≤n≤1051\leq n\leq 10^51n105

解題思路

兩頭牛有沖突當且僅當aaa的起始位置小于等于bbb,而aaa的終止位置大于等于bbb。因為起始位置單調,所以算出終止位置然后求最長不升子序列即可。


P3535 [POI2012]TOU-Tour de Byteotia

題意

給出nnn個點mmm條邊的一張無向圖,求至少刪掉多少條邊才能讓編號不超過kkk的點都不在任何一個環上。

解題思路

考慮一下如果一個點在環上,顯然刪掉關鍵點連著的邊不會虧,所以肯定存在一種方案只刪去連接關鍵點的邊。
所以我們可以優先連接所有的非關鍵點的邊,然后剩下的跑一個類似最小生成樹的就好了。


P5505 [JSOI2011]分特產

題意

nnn個人,mmm種特產。第iii種特產有aia_iai?個 ,要求每個人都分到一個特產,求方案數。

1≤n,m,ai≤10001\leq n,m,a_i\leq 10001n,m,ai?1000

解題思路

考慮二項式反演,這樣就可以去掉每個人都分到的條件了。


CF1555D Say No to Palindromes

題意

給出一個串,每次詢問一個區間表示將這個區間子串提出來之后至少要修改多少個字符才能使得沒有長度大于111的回文串。字符集為{a,b,c}\{a,b,c\}{a,b,c}。
1≤n,m≤2×1051\leq n,m\leq 2\times 10^51n,m2×105

解題思路

顯然只需要考慮長度為2,32,32,3的回文串,也就是每個字符不能和它距離不超過222的位置相等。又因為字符集大小為333所以肯定是按照某個abcabcabc的排列循環下去的,枚舉這個排列即可。


Loj#6467- ‘Zip’ Quine

比較奇怪的題目所以放這里了

題意

一種包含兩個語句的語言

  • print x:代碼后xxx行不編譯而是直接輸出
  • repeat x y:一直輸出輸出過的倒數第yyyxxx次(可以輸出自己輸出的)

要求寫一個能輸出自己本身的代碼

解題思路

核心肯定是repeat語句,我們考慮用repeat語句輸出它本身,然后因為因為第一個repeat會多輸出些東西所以前面補一些print 1,因為兩個print 1會輸出一個print 1最后代碼就是

print 1 print 1 print 1 print 1 print 1 print 1 repeat 3 2 print 2 repeat 3 2 print 2 repeat 3 2

【LGR-089】洛谷 8 月月賽 II T2

題目大意

給出一個長度為nnn0/10/10/1字符串SSS,然后求一個長度為mmm個字符串TTT滿足

  • TTT中不包含子串SSS
  • TTT中包含子序列SSS
  • 1≤n≤m,1≤∑m≤2×1061\leq n\leq m,1\leq \sum m\leq 2\times 10^61nm,1m2×106

    解題思路

    考慮暴力插一個字符進去,好像插在哪都會被卡就隨機一下位置和插啥,然后用字符串hashhashhash判就好了。


    CF1304C Air Conditioner

    題目大意

    開始空調溫度為mmmnnn個顧客來的時間不同和適應溫度不同。

    每個時刻可以使得空調溫度變化一度。

    求能否滿足所有顧客的需求。

    1≤n≤100,1≤ti,li,ri,m≤1091\leq n\leq 100,1\leq t_i,l_i,r_i,m\leq 10^91n100,1ti?,li?,ri?,m109

    解題思路

    每次考慮能夠調整到的的區間就好了。


    CF1463B Find The Array

    題目大意

    給出一個長度為nnn的序列aaa,要求一個序列bbb滿足

  • ∣a∣=∣b∣|a|=|b|a=b
  • ?i∈[1,n?1],bi∣bi+1orbi+1∣bi\forall i\in[1,n-1],b_i|b_{i+1}\ or\ b_{i+1}|b_i?i[1,n?1],bi?bi+1??or?bi+1?bi?
  • 2(∑i=1n∣ai?bi∣)≤∑i=1nai2\left(\sum_{i=1}^n|a_i-b_i|\right)\leq \sum_{i=1}^na_i2(i=1n?ai??bi?)i=1n?ai?
  • 1≤n≤50,1≤T≤10001\leq n\leq 50,1\leq T\leq 10001n50,1T1000

    解題思路

    考慮一下如果差小于aia_iai?和的一半就好了,我們把aaa按照位置奇偶分組,然后看下奇數大還是偶數大,大的bi=aib_i=a_ibi?=ai?,否則bi=1b_i=1bi?=1。

    顯然這樣一定是合法的。


    CF891A Pride

    題目大意

    給出一個長度為nnn的序列aaa,你每次可以讓一個數gcdgcdgcd上一個相鄰的數,求最小的步驟使所有數都變成111

    1≤n≤2000,1≤ai≤1091\leq n\leq 2000,1\leq a_i\leq 10^91n2000,1ai?109

    解題思路

    找到一個最小的gcdgcdgcd111的區間,然后造出一個111,之后直接拿111改變周圍即可。

    時間復雜度:O(n2)O(n^2)O(n2)


    AT2387 [AGC016C] +/- Rectangle

    題目大意

    求一個W×HW\times HW×H的矩陣滿足元素和為正數,且任意一個w×hw\times hw×h的矩陣和為負數。

    1≤w≤W≤500,1≤h≤H≤5001\leq w\leq W\leq 500,1\leq h\leq H\leq 5001wW500,1hH500

    解題思路

    如果對一行/列有構造方法那么顯然合法,考慮一行的話當且僅當N%n≠0N\% n\neq 0N%n?=0的時候有解(就是每nnn個填一個?(n?1)inf?1-(n-1)inf-1?(n?1)inf?1,然后其他位置填infinfinf

    如果對于行列都無解那么一定無解,因為此時W%w=0,H%h=0W\%w=0,H\%h=0W%w=0,H%h=0,也就是用上述的方法在二維的情況下也無法讓加上一些權值。


    AT2266 [AGC008D] K-th K

    題目大意

    給出長度為nnn的序列www,構造一個長度n×nn\times nn×n的序列滿足

  • 1~n1\sim n1n各出現nnn次。
  • iiiiii的位置是wiw_iwi?。
  • 1≤n≤5001\leq n\leq 5001n500

    解題思路

    首先iii的前i?1i-1i?1個肯定優先填,我們按照wiw_iwi?從小到大填,然后填到對應位置之后后面的也可以填了,丟進隊列里維護一下就好了。


    AT2148-[ARC063C]木と整數/Integers on a Tree

    題目大意

    給出nnn個點的一棵樹,一些點上有數字,然后你要在其他節點上填數字使得每條邊連接的兩點數字差絕對值為111。

    1≤n≤1051\leq n\leq 10^51n105

    解題思路

    用帶數字的點分割出若干個聯通塊,每個聯通塊dfsdfsdfs搜出每個點的數字范圍就好了。

    至于奇偶性我懶得判,最后直接判得出的那個解是否合法就好了(((


    CF1592D Hemose in ICPC ?

    題目大意

    給出nnn個點的一棵樹,樹上的權值不告訴你,Dist(x,y)Dist(x,y)Dist(x,y)表示xxxyyy路徑上的最大值,你每次可以詢問一個點集中最大的Dist(x,y)Dist(x,y)Dist(x,y)是多少,求一個x,yx,yx,y使得它的Dist(x,y)Dist(x,y)Dist(x,y)是全圖最大的。

    1≤n≤10001\leq n\leq 10001n1000,詢問次數不超過121212。

    解題思路

    隨便找個點當根,那么所有邊肯定被某條根到葉子的路徑包括,然后再葉子上二分就好了。


    AGC052A Long Common Subsequence

    題目大意

    給出三個長度為2n2n2n010101串,保證每個恰好有nnn000nnn111。

    求一個長度為2n+12n+12n+1的串使得它是所有其他串的兩倍(自己接在自己后面形成的字符串)的子序列。

    1≤∑n≤1051\leq \sum n\leq 10^51n105

    解題思路

    花里胡哨的,兩個部分肯定都是各有nnn000nnn111,一個樸素的想法是nnn000+nnn111肯定是滿足條件的。

    考慮少了的那個怎么補充,考慮接一個000,因為是自己接在自己后面,如果最后一個字符是000那么顯然滿足條件,如果最后有kkk111那么在1~2n?k1\sim 2n-k12n?k這一部分就已經匹配完了前面的nnn000,而后面又可以在到自己的復制之前匹配到kkk111,而在這kkk個一之前肯定是一個000來作為最后一個匹配。


    AGC045A Xor Battle

    題目大意

    有兩個人,和一個數字開始時為000,第iii回合有由sis_isi?號人操作,可以選擇是否讓數字異或上aia_iai?000號人要把數字變為000111號人反之。

    求哪個人獲勝。

    1≤T≤100,1≤n≤200,1≤ai≤10181\leq T\leq 100,1\leq n\leq 200,1\leq a_i\leq 10^{18}1T100,1n200,1ai?1018

    解題思路

    對于一號人的每個操作,零號人都可以通過調整后面它的操作的狀態來抵消掉這個操作。具體地如果零號后面的操作數字能夠異或出這個數字那這個數字就沒有用。

    所以換到具體做法就是從后往前掃,每次遇到000號操作就加入線性基,不然就判斷能不能被異或出來就好了。

    時間復雜度:O(Tnlog?L)O(Tn\log L)O(TnlogL)


    CF449D Jzzhu and Numbers

    題目大意

    給出一個長度為nnn的序列aaa,求有多少個子序列的按位和(位運算)為000。

    1≤n,ai≤1061\leq n,a_i\leq 10^61n,ai?106

    解題思路

    考慮容斥假設和之后至少有iii位有111那么容斥系數就是(?1)i(-1)^i(?1)i,那么高維前綴和處理出數組fif_ifi?表示包含iii的數字個數,然后用答案就是∑i∈S2fi×(?1)∣S∣\sum_{i\in S} 2^{f_i}\times (-1)^{|S|}iS?2fi?×(?1)S。

    時間復雜度:O(nlog?n)O(n\log n)O(nlogn)


    ARC132A Permutation Grid

    題目大意

    給出nnn的兩個排列RRRCCC
    定義一個n×nn\times nn×n的黑白網格,滿足第iii行恰好有RiR_iRi?個黑格子,第iii列恰好有CiC_iCi?個黑格子。
    qqq次詢問給出(x,y)(x,y)(x,y)求位置(x,y)(x,y)(x,y)的格子顏色。

    1≤n,q≤1051\leq n,q\leq 10^51n,q105

    解題思路

    先考慮極端的情況,Ri=1R_i=1Ri?=1Cj=nC_j=nCj?=n的情況那么第iii列肯定只有(i,j)(i,j)(i,j)是黑色的,然后再考慮Ri′=2R_{i'}=2Ri?=2Cj′=n?1C_{j'}=n-1Cj?=n?1(i′,j)(i',j)(i,j)肯定也是黑色的,然后又因為(i,j′)(i,j')(i,j)是白色的,那么(i′,j′)(i',j')(i,j)肯定也是黑色的。

    那么方法就已經很明顯了,如果Ri+Cj>nR_i+C_j>nRi?+Cj?>n那么就是黑色,否則就是白色就好了。


    AGC012B Splatter Painting

    題目大意

    nnn個點mmm條邊的一張圖,qqq次操作將距離xxx不超過ddd的點都染成顏色ccc,求最后每個點的顏色。

    1≤n,m,q,x,c≤105,1≤d≤101\leq n,m,q,x,c\leq 10^5,1\leq d\leq 101n,m,q,x,c105,1d10

    解題思路

    fx,if_{x,i}fx,i?表示距離第xxx個點不超過iii距離都得被染色的最后那次操作,然后暴力轉移就好了。


    AGC013C Ants on a Circle

    題目大意

    nnn只螞蟻在長度為LLL的環上爬,速度都是111,撞到對方就轉頭,求TTT秒后每只螞蟻的位置。

    1≤n≤105,1≤L,T≤1091\leq n\leq 10^5,1\leq L,T\leq 10^91n105,1L,T109

    解題思路

    一個很經典的做法是我們不需要管轉頭,因為如果每只螞蟻都一樣轉頭相當于沒轉。

    然后考慮之后怎么定位每只螞蟻,發現如果沒有螞蟻經過環的話螞蟻之間的排名是不會變的。

    但是如果有螞蟻經過環,那么其實無論是哪只螞蟻都會讓所有螞蟻的排名根據經過環的方向轉動。

    之接求每只螞蟻經過環的次數即可。

    總結

    以上是生活随笔為你收集整理的水题杂做(的全部內容,希望文章能夠幫你解決所遇到的問題。

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