我很快就想到了乙個 o(n
2)
o(n^2)
o(n2
) 的做法,騙了 50 分。
雖然題解裡說正解是從 n 方的做法中優化來的,但是我想的做法跟題解做法大相徑庭,根本無法優化:
把必須出現的顏色看成是區間互相包含關係,於是類似括號序列,每種顏色有個左邊界和右邊界。把它看成是樹上加點,再記錄一下葉子節點數,把一號點去掉,當成 0 號點,方便計算答案。設 dp[i][j] 為出現 i 種顏色,即樹中有 i+1 個點時,有 j 個是葉子的方案數,那麼新加入的點就有兩種可能,成為之前某個點最大的弟弟,或者成為某個點的大兒子, dp[沒有細推,於是一直把乙個錯誤結論相信了乙個半小時,最後連最顯然的暴力都沒打,只拿了 10 分。i][j
]=dp
[i−1
][j]
∗j+d
p[i−
1][j
−1]∗
(2∗i
−j
)dp[i][j]=dp[i-1][j] * j + dp[i-1][j-1] * (2*i-j)
dp[i][
j]=d
p[i−
1][j
]∗j+
dp[i
−1][
j−1]
∗(2∗
i−j)
,然後對答案的貢獻為 dp[
i][j
]∗c(
n−1,
i−1)
∗c(m
+j,i
∗2
)dp[i][j] * c(n-1,i-1) * c(m+j,i*2)
dp[i][
j]∗c
(n−1
,i−1
)∗c(
m+j,
i∗2)
該做法與 n
2n^2
n2死死繫結,無法優化。
不會 polya 定理,不會 burnside 引理,不擅長打暴力,於是只有 5 分了。
20151006模擬賽總結
今天上午去一中,又考了個模擬賽。這次的題有點考思維。我感覺這個第一題難度稍微大了點。一般noip第一題要麼是簡單的模擬,要麼是裸的簡單演算法,這次的第一題要自己構造演算法,並且還是列舉和貪心套在一起。我開始想的是列舉 揹包,複雜度為n 3,但是資料範圍沒給出三次方的分。於是我就覺得不靠譜。然後發現列...
20151031模擬賽總結
今天去一中,考了個模擬賽,真是坑。本來在八中食堂愉快的享受我的早飯 週末早上的番茄雞蛋燙飯 韭菜肉餅簡直爽!然後geng4512就跑過來說要去一中考試,然後兩口喝完燙飯就和他一起狂跑過去了。這次第一題組合數取模,模的不是質數。想了好大半天,沒什麼想法,然後看了下後面的題,又回來做這道題,想起了階乘分...
20160521模擬賽總結
20160521模擬賽是程式設計實習課程安排的第一次模擬賽 比賽鏈結 備註 這個系列模擬賽屬於程式設計實習練習賽,題目有很大一部分事先練習過,做這些題目為了練習碼 熟練度,也為了進行模擬考試練習的機會,所以這個系列模擬賽我每一次都參加,作為練習 題目清單見下 已解決 01 浮點數求高精度冪 已解決 ...