原创 POJ 3321 Apple Tree (樹狀數組)

題目:http://poj.org/problem?id=3321 題意:給出一顆樹,一開始樹是滿的(每個結點都有蘋果)兩種操作;1)C x ,x結點有蘋果則摘掉這個蘋果,否則加上一個蘋果;2)Q x ,詢問結點x爲根的子樹上共有多少蘋果

原创 概率dp入門[HDU5001][POJ2151][POJ3071][HDU3853][POJ2096]

概率分爲求概率和求期望兩種: 求概率從起點開始求解,因爲起點發生的概率通常可以確定,爲1、1/n或其他; 求期望從終點開始求解,因爲通常記錄從某個點到終點的期望,即先確定了終點到終點的期望。 例題 HDU 5001 概率 http://

原创 HDU 2452 Navy maneuvers (記憶化搜索)

題目:http://acm.hdu.edu.cn/showproblem.php?pid=2452 題意:給出一個圖,n個點,m條邊,保證無環,每個點有一個權值。指定一個點作爲起點,Victory和Glory輪流選擇下一個走到的點,將走過

原创 HDU 4389 X mod f(x) (數位dp)

題目:http://acm.hdu.edu.cn/showproblem.php?pid=4389 題意:對於一個數x,先求出各位數之和 f(x),如果 x mod f(x) 等於0,則滿足條件。求出數n到m中滿足條件的數的個數。 思路:

原创 POJ 2352 Stars (樹狀數組)

題目:http://poj.org/problem?id=2352 題意:有n個點(x , y),座標按y遞增(y同時按x遞增)給出,對於每個點,判斷有多少個點在它坐下方(包括左邊很右邊)。依次輸出有多少個點左下方有0個點、1個點……n-

原创 HDU 5000 Clone (多重揹包)

題目:http://acm.hdu.edu.cn/showproblem.php?pid=5000 題意: 有一個人他可以克隆自己, 但克隆出來的自己並不完全一樣。對於每兩個自己,A和B,他會看n個屬性,如果B的每一項屬性都比不過A,那麼

原创 HDU 3555 Bomb (數位dp)

題目:http://acm.hdu.edu.cn/showproblem.php?pid=3555 題意:求出1到N (1 <= N <= 2^63-1)的數中,包含“49”的數的個數。 思路:用數位dp的記憶化搜索模版。 代碼: #i

原创 POJ 3286 How many 0's? (數位dp)

題目:http://poj.org/problem?id=3286 題意:求n-m之間的數含有的0的個數。 思路:用數位dp記憶化搜索模版。 代碼: #include <stdio.h> #include <string.h> #inc

原创 NYOJ 138 找球號(二)(哈希)

題目:http://acm.nyist.net/JudgeOnline/problem.php?pid=138 題意:兩種操作,加數字和詢問某些數字有沒有被加入。 思路: 因爲數字的範圍很大,直接用cnt[ i ]表示數字 i 有沒有加入

原创 單調隊列優化dp [HDU2191][HDU3401][POJ1821]

用單調隊列優化形如 dp[i][j] = max(dp[i - 1][k] + (j - k) * a[i]) 的狀態轉移 上式可化爲dp[i][j] = max(dp[i - 1][k] - k * a[i]) + j * a[i],

原创 POJ 3252 Round Numbers (數位dp)

題目:http://poj.org/problem?id=3252 題意:對於一個數,如果它的二進制表示數中,出現的0不少於1,則滿足條件。求數s到e之間滿足條件的數的個數。 思路:用數位dp記憶化搜索模版。一開始用sta表示0出現的次數

原创 POJ 2155 Matrix (樹狀數組)

題目:http://poj.org/problem?id=2155 題意:有一個n*n矩陣,一開始每個格上都是0,兩種操作:1)C x1 y1 x2 y2,把左上角爲x1,y1,右下角爲x2,y2的矩形範圍的格子反轉,0變1,1變0;2)

原创 HDU 1693 Eat the Trees (插頭dp)

題目:http://acm.hdu.edu.cn/showproblem.php?pid=1693 題意: 這是一道插頭dp的入門題 給出一個n*m的地圖,標記爲1的格子上有樹,有個英雄要吃掉所有的樹,吃樹的時候要遵循規則: 1)一圈一圈

原创 HDU 3652 B-number (數位dp)

題目:http://acm.hdu.edu.cn/showproblem.php?pid=3652 題意:求數1-n中,包含序列“13”且能被13整除的數的個數。 思路:用數位dp記憶化搜索模版。 代碼: #include <stdio.

原创 HDU 5416 CRB and Tree (樹形dp)

題目:http://acm.hdu.edu.cn/showproblem.php?pid=5416 題意:給出一棵樹和每條邊的權值,f(u,v) 表示結點u到結點v之間路徑上所有邊異或運算的結果,q次詢問,每次問f(u,v)=s的路徑有多