這個題,讓我看到就想到最長上公升子串行,1000的大小,n^2 就可以
但是注意到,最高的兩個士兵可以是相同身高的,所以,再求出左右兩個最長上公升子串行之後,最後得出結果的時候要注意這一點。
這個地方 wa 了好多次, 這個題目的通過率這麼低 應該就是這個點。
#include #include #include #include using namespace std;
#define max 20000
int n;
int dpl[max];
int dpr[max];
double h[max];
int main()
} for(int i=n;i>=1;i--)
}int maxl=0;
for(int i=1;i<=n;i++)
printf("%d\n",n-maxl);
} return 0;
}
POJ 3280 簡單區間 DP
就是想的時候不要想漏了轉移方式。對於乙個回文串 去掉最左和最右兩個後依然是回文串,好了。dp 轉移有三種,一種是從 dp i 1 j 轉移過來,一種是從 dp i j 1 轉移過來,一種是從 dp i 1 j 1 轉移過來 include include include include includ...
POJ2342 簡單樹形dp
因為在做hdu4126的時候需要使用樹形dp,然而我對樹形dp一點也不了解,所以做一下樹形dp的題來加深其了解,題目不說了 dp方程是 dp i 0 max dp j 0 dp j 1 i是j的父親 dp i 1 dp j 0 其中dp i 0 表示該人沒來 dp i 1 表示該人來了 貼 incl...
poj 1192(簡單樹形dp)
題意 這題描述看似很複雜,其實讀懂後就是乙個相鄰點之間連通問題,水題。解題思路 首先把相鄰的點連線起來建立一棵樹,dp i 0 表示不選擇i節點可以得到的最大價值,dp i 1 表示選擇i節點可以得到的最大價值。狀態方程很簡單,詳見 include include include includeus...