【題目及題號】qyq的字串 xjoi15t1
【題解】
看到資料範圍就可以暴力列舉左界和右界,然後對於每乙個子串掃一遍回文位置上不同的字元數量。
小於等於k ans++
大於k不統計
時間複雜度o(n^3)暴力搞過
但是qjc同學說有一種更為機智的解法,類似manacher,可以o(n^2)做。
具體就是找到中間那個字元,然後向兩邊同時擴充套件,如果超過k或者超過邊界就停止。
【易錯點】
我覺得別把這個題想複雜了,別的沒什麼需要注意的。
【題目及題號】qyq的圖 xjoi15t2【待填坑】
好難不會。
只是這個題告訴我別卡時,卡時0分。orz
【題目及題號】qyq在艾澤拉斯 xjoi15t3
【題解】
本題其實是要你計算每個連通塊所能得到的最大權值,取前min(tot,k+1)個就好。
本題難點在於求每個連通塊所能得到的最大權值。
看到資料範圍那麼大,如果要o(n)做,肯定是會想到記憶化搜尋的。
然後就會發現乙個問題,本題的有向圖中完全可能出現環,那麼就可以使用tarjan縮點去掉環,因為在本題的意義下,環是屬於乙個點的。
現在這就變成了一張有向無環圖,發現每個點只會被它指向的點更新,那麼深搜下去使用記憶化搜尋就保證每個點只會被訪問一次。
判斷兩點屬不屬於同乙個連通塊使用並查集。(本題要注意題目中對連通塊的新定義,本題中有邊相連就屬於乙個連通塊)
【考試ing】
要注意本題涉及到縮點,所以新圖中點的對映要注意,尤其並查集要在縮完點之後使用,防止縮點之後更改關係。
本題我偷了個懶,最後一部分取前k+1個的時候,我直接用了優先佇列,就要注意特判隊列為空的情況。
測試的測試點總結
1.驗證系統是否在輸入型別出錯時,還能進行其他資料的操作。2.驗證系統是否在輸入長度出錯時,還能進行其他資料的操作。3.驗證系統是否在輸入格式出錯時,還能進行其他資料的操作。4.驗證系統是否在輸入範圍出錯時,還能進行其他資料的操作。5.驗證系統是否在輸入了重複值 前提不允許重複,注意大小寫敏感和前後...
測試 20201028測試總結
教練終於考noip模擬題了。真 簽到題,直接使用math庫函式即可。text include include include include include using namespace std typedef long long lxl define getchar p1 p2 p2 p1 bu...
測試 20201012測試總結
t1t2分往臉上送,t3直接勸退。數三角形。先固定一條直線,求它能與其他直線組成多少個三角形。這個很好求。令 s 為所有直線的集合,k i 表示直線 i 的斜率,c k 表示斜率為 k 的直線條數,則直線 l 能與其他直線組成的三角形個數即為 begin frac sum c times n c c...