心得 暑假DAY1 7 7考試總結

2022-03-26 20:36:07 字數 1519 閱讀 5070

呼。。

正式開始暑假集訓。

今天一上午還在搞7-7的考試改題

然而,該來該去,tle48過不去了

不知道哪的問題,loj上1w3ms(卡常都沒能救得了)

至於t1和t3,簡單總結一下算了

排序感覺很像分治的樣子

因為要想得到最終的順序序列,它的子串行一定要是順序

具體的,進行dfs,搜尋每一次的操作

我們只有在小區間合法的情況下在交換大區間

最後得到乙個合法的操作方案

如果確定了操作的個數和位置,操作順序改變,又能產生新序列

所以每次dfs找到新的操作個數,得到的貢獻是out的階乘

統計答案即可

放棋子很重要的是

一些確定的棋子所在的行列位置不影響轉移

那麼用g[i][j][k]表示k枚相同的棋子佔任意i行,j列的方案數

g轉移:g[i][j][k]=c(i*j,k0)-sigma(g[l][r][k])*c(i,l)*c(j,r)      l<=i,r<=j && !(l==i && r==j)

找到轉移的補償量很重要

那麼今天開始了圖論專項

菜餚製作

t1就栽了

一開始想直接拓撲最小字典序,很快發現顯然不行

那麼又想把 菜的每個限制都聚到一起,進行拓撲排序,也有問題

原來是倒序輸出反向連邊的拓撲最大序

因為小序號要盡量在前,就是說,先一心把小的輸出了,再考慮大序號

比如樣例

5 24 3

製作1之後,雖然當前可製作的4比5小,但我們要先考慮做2,也就是把5做了,再2,4,3

可以發現大的序號選或不選 取決與 它限制的小序號

那麼這其實是「小的限制大的」了

於是反向建邊

這樣得到的拓撲序用倒序輸出的話可以滿足原來的限制

那麼在反圖中我們先做大序號,倒序輸出即可成為 小序號盡可能先做

矩陣遊戲

一道二分圖。。

其實二分圖挺迷的,有時候特別難想,但有時候也挺套路的

我們發現初始在一行/一列的黑白快在交換過程中始終在同一行/列

考慮最終,對角線格仔成黑色

也就是說,每一行都對應乙個專屬的黑快

(這樣無論怎麼交換,最後都是一行專屬乙個)

把行/列分別為二分圖的左右部分

二分圖能完全匹配,就有解

約會因為n個點n條邊,所以每個圖里一定有且僅有乙個環

把這個環縮成點就變成一棵樹,並且樹根就是這個環

在樹上找lca,順便計算深度

那麼對於每次詢問,如果它們的lca不是樹根,那麼分別輸出各自距離lca的距離

如果lca是樹根,還要在環內操作

取環內某個點為起點,順著路線依次排距離

我們把原始圖中的點用並差集指向環中的點

那麼最後就是各自距離lca的距離加上在環內走的距離

一定是乙個人走,乙個人停在原地等才是最優情況

比較環內兩種情況:a走b等,b走a等,按題意特判即可

2019 7 7海亮暑假集訓Day2考試總結

2,這是一道高階差分的模板題 我都不知道什麼是高階差分 首先,我們要知道如下定理。1 把差分字首和就會等於原序列 2 c n,k c n 1,k 1 c n 1,k 3 c n,m c n 1,m 1 這些東西很好證明,所以就不說了 接下來我們說一下怎麼做。py個圖,不打了,那個大括號就表示n 下面...

2019 7 8海亮暑假集訓Day3考試總結

t1,顯然是乙個dfs暴力就可以過,但是我的yes小寫了 沉默兩秒.t2,這一道題我要好好講講 下面是我寫的題解 下面有四種情況 看懂了嗎 看懂了!還是挺好理解的 可是考試時候還是推不出來啊 t3,這一題我一開始想的是分塊 因為下午要講的是分塊,所以我就沒多想 後來正解竟然是倍增 說實話,我的倍增除...

2019 7 15海亮暑假集訓Day10考試總結

t1,我在做的時候竟然沒想到統計方案,這真的有點.70分啊 這一道題首先可以發現,最長上公升子串行和次長上公升子串行的差別就是 如果最長上公升子串行有1個,那麼次長上公升子串行的長度則為最長上公升子串行 1,否則就是最長上公升子串行,那麼我們就可以統計最長上公升子串行和其方案數就可在o n 2 的時...