題目分析:
一張圖里兩棵樹,每個人選擇乙個點集,兩個人選的點集不想交,求最大權值
8~21pts
直接暴力列舉 兩個節點不想交
47~65pts
只考慮兩棵樹完全一樣的情況:
樹形dp(揹包)dp[
i][j
][j]
[k
]dp[i][j][j][k]
dp[i][
j][j
][k]
表示以i為跟的子樹,在第一棵樹上選j個,第二棵樹上選k個點的最大利潤。
時間複雜度:o(n
3)
o(n^3)
o(n3)
100pts
**方法:費用流 **
兩個人的兩棵樹分別建出來 每棵樹父親向兒子連一條有向邊,
流量:當前點所對應的子樹最多選的點數
每個點都可以接受1的流量(被選擇)
最後跑一遍最大費用最大流
時間複雜度:o(n
2log
n)
o(n^2logn)
o(n2lo
gn)題意分析:
有解當前僅當:所有點的點權和大於等於所有邊的邊權和
證明:∑u,
v(a[
u]+a
[v]−
wa,w
)>=0
\sum_(a[u]+a[v]-w_)>=0
∑u,v(
a[u]
+a[v
]−wa
,w)
>=0∑u
,v(a
[u]+
a[v]
)−∑w
a,
w>=0
\sum_(a[u]+a[v])-\sum w_>=0
∑u,v(
a[u]
+a[v
])−∑
wa,w
>=0
7pts
列舉全排列
15pts
狀壓dp
38pts
列舉所有邊,找到一條滿足的邊,縮邊,時間復
雜度o(
n2
)時間複雜度o(n^2)
時間複雜度o
(n2)
優先縮兩端點權
45pts
找邊權和最小的樹(即最小生成樹),其餘同38分做法。
70pts
每次找到兩個點之間有一條邊,合併後點權會改變
100pts
從下往上貪心
每次縮乙個子樹,滿足: 子樹點權和(a)-邊權和(b)-連到根節點的邊+根節點的權值》=0
每次操作後變的只有根節點的權值。
可以按子樹點權和-邊權和從大到小排序,但其實沒必要排序,先做a-b大於0部分,這樣的話有解情況下根節點的權值一定會增加,再做a-b小於0部分
**寫在前面:**對於乙個完全平方數: 每乙個質因子的次冪都是偶數
100pts:
設 g(x) 為 x 向左找到的最近的數,即與 f(x) 意義類似,方向相反的函式。
實際上f(x)與 g(x) 互為反函式。
證明:假設從 f(x) 向左找到的第乙個位置為 y>x ,則我們把兩次找到的序列取對稱差(即異或),則得到的新序列也是完全平方數,發現由於 f(x) 在兩個序列裡都出現了,且 x 只出現了一次,所以可以找到乙個左端點為 x ,右端點 也就是說,每個合數都有且僅有乙個互不相同的解,且答案為 g(x) 。
時間複雜度:o(n
364ln
2n
)o(\frac)
o(64ln2
nn3
)真的不知道怎麼搞出來的
不超過 1000的質數只有 168 個,複雜度 o(16
82×n
128n
)o(\fracn)
o(1281
682×
nn)
,但實際上答案不會超過 n
2\frac n2
2n,所以可過。
以上思路是理解了,**還是不會寫orz
本來以為第一題能得部分分(兩棵樹一樣的情況),感覺思路還蠻清晰的,沒想到居然爆零tot,第三題打了前n<=20的表然鵝並沒有什麼用,只有質數的特判得了分。心態有點崩orz
感覺自己見的題型太少了,有些題有些想法但完全沒有正解的思路。不過每天都還是在進步吧。qaq
2019暑假正睿集訓8 10day7題解及總結
50pts 80pts 這道題直接暴力搜尋,每次在三個符號中任選乙個,按題意合併數。當合併了還剩兩個數的時候,就判斷它們選哪種符號最終能為1,找到一種ans 1 100pts 優化1 位運算。把輸 串按照fft初始化 法 樣bitrev 下就可以 位運算優化。優化2 四 當串 之後16的時候預處理。...
2019正睿金華集訓 0804總結
今天感受了b班考試的難度,果然好難,接近爆蛋,暴力分都不太好拿。考試歷程 先看了一下三個題面,發現就第二題的暴力好寫一點,隨後又想到了並查集,然後去寫t2,過了樣例然後我就不管了 以為自己可以拿到暴力分 t3這道題我只想說,貌似除了暴力我好像也寫不了,於是我寫了乙個大暴力,由於是輸出方案,評測機是s...
解題報告 2019正睿Day5
我們可以把染黑看成刪掉這條邊,那麼每次相當於是,如果存在乙個點有且僅有一條出邊,那麼把這條邊也刪掉,最後要刪完所有的邊。那麼我們考慮乙個環,可以發現這個環如果一條邊都不刪,那麼最後一定會被留下來,因為每個點都至少有兩個出邊。所以,在初始的邊刪完之後,圖一定得要無環。我們考慮乙個無環的圖,可以發現他就...