description
給出 n
個點,其中有 n−
1條有向邊,邊的方向可以改變,問最少改變多少條邊可以從某乙個點到達任意乙個點,同時求出這些點。
solution
於是我們可以換根。
description
給一顆
n 個結點的樹,節點編號為 1n
,問刪除乙個節點之後,讓剩下的分支中節點數量最多的盡量少。
solution
想必會點分治的都懂。
description
給你一顆樹,每個節點都有權值,有些節點也是陷阱。現在從樹上一點出發,不經過重複的節點,到另乙個節點終止,並且經過最大不超過
c 個陷阱(
c<
4),要求路徑的權值和最大。
solutiondp
可以 o(
n)做。
這道題在
c 很大的時候就必須點分治了,維護乙個桶,有點像bz
oj2599
,複雜度 o(
nlogn)
。description
有一顆
n 個節點的樹,每條邊有邊權。現在你要在這些節點讓放一些隊員,讓隊員訪問完全部的邊。放置乙個隊員的代價是
k,乙個隊員經過一條邊需要付出邊權的代價。並且乙個隊員不能經過同一條邊兩次。問最小代價是多少
solutiondp
[i][
j]表示
i 這個節點的子樹的邊全部訪問完全,並且有
j條向上的隊員(隊員總是可以向上走)。
description
算出區間內二進位制中
0 的個數大於等於
1的個數的數字有多少個。
solution
直接把所有的數轉成二進位制數考慮,然後數字 dp
裸題。description
我們定義十進位制數
x 的權值為f(
x)=a
(n)×
2(n−
1)+a
(n−1
)×2(
n−2)
+...
a(2)
×2+a
(1)∗
1,a(i)表示十進位制數x中第i位的數字。
題目給出 a,
b ,求出 0b
有多少個不大於 f(
a)的數。
solution
考慮邊界。如果
j 小於0,顯然 dp
[i][
j]=0
。如果 i==
0 ,顯然任何數都比0大,所以 dp
[i][
j]對於 0≤
j 的時候 dp
[i][
j]=1
,否則 dp
[i][
j]=0
。description
求乙個區間內的 be
auti
ful
numb
ers 有多少個。 be
auti
ful
numb
ers 指:乙個數能整除所有組成它的非
0 數字。
例如 15
可以被
1 和
5整除,所以
15 是 be
auti
ful
numb
ers 。
solution
最簡單的那種會 ml
e 的數字 dp
想必大家都會。顯然 lc
m 一定可以整除
2520
,而可以整除
2520
的數只有
48 個。然後又是板。
description
給出乙個序列
a ,求取乙個序列 b,
b 序列的數兩兩互質,問能夠導致 ∑|
ai−b
i|最小的方案。其中 ai
≤30,序列長度小於
100 。
solution
因為當
a的資料範圍不超過
30 ,所以如果某個數超過
60 ,那麼選擇
1 一定比它更優,所以我們能夠用到的數的質因子也一定不會超過
60,也才
17 個。所以就可以很暴力的狀壓了。
description有
n 個城市和
m條雙向路,有
k 個人,每個人選了兩個不同的城市。現在讓你盡可能多的刪除邊,是的這
k個人每個人都可以從選的兩個之間移動。n≤
15,k,
m≤(n
−1)×
n2solution這個題做法有點亂七八糟。
通過
k 個城市對,可以分成一些聯通的集合。
description在一條有
n 個格點的線上擲骰子,有 1−
6六個值,如果當前為止超過
n ,則勝利,有
m個跳躍點,到
x 位置可以直接飛到
y位置(
x<
y ),問從起點開始到終點擲骰子的期望數。
solutiondescription原來袋子裡有
w 只白鼠和
b只黑鼠 ,龍和王妃輪流從袋子裡抓老鼠。誰先抓到白色老師誰就贏。王妃每次抓乙隻老鼠,龍每次抓完乙隻老鼠之後會有乙隻老鼠跑出來。每次抓老鼠和跑出來的老鼠都是隨機的。如果兩個人都沒有抓到白色老鼠則龍贏。王妃先抓,問王妃贏的概率。
solution
NYOJ1208 水題系列(DP)
大意 給你乙個有向圖,每條邊都有一定的權值,現在讓你從圖中的任意一點出發,每次走的邊的權值必須必上一次的權值大的情況下,問你最多能走幾條邊?這道題最容易想到的,就是最長單調遞增子串行 但是在這道題上是超時的。每次走到邊的權值必須比上一次的大,所以我們可以先把所有的邊按權值進行從小到大的排序。在定義狀...
Dp優化 斜率優化
該模板的ai要具有單調性,也就是sum陣列 若沒有單調性,加個二分即可 我的一篇題解,很詳細 1 寫出狀態轉移方程 2 按照斜率優化的式子推導出式子 3 代入模板即可。include include using namespace std typedef long long ll const int...
斜率優化 DP
我們知道,有些dp方程可以轉化成dp i f j x i 的形式,其中f j 中儲存了只與j相關的量。這樣的dp方程我們可以用單調佇列進行優化,從而使得o n 2 的複雜度降到o n 可是並不是所有的方程都可以轉化成上面的形式,舉個例子 dp i dp j x i x j x i x j 如果把右邊...