hdu 1257 dp(最长下降子序列)
2012-04-16 16:36
176 查看
View Code
//hdu 1257 dp(最长下降子序列的长度) //题意是要求最少要几套拦截系统,没套系统拦截的后一个导弹 //要比前一个低,导弹按顺序来,讨论每个导弹时要依次看 //比 所拥有的哪个系统 的最低高度低最少的,则让这个系统拦截 //若所拥有的系统中 的最低高度都比该导弹低,则要再建一套系统 #include <stdio.h> #include <string.h> #define N 10005 int s , dp ; int main() { int n; while(scanf("%d", &n) != EOF) { for(int i = 0; i < n; ++i) { scanf("%d", &s[i]); dp[i] = 1; } int max = 0; for(int i = 0; i < n; ++i) //拦截第i 个导弹 { for(int j = i - 1; j >= 0; --j) { //若第j 个导弹比第 i 个导弹低,且且拦截第 j //个导弹所需的系统数 再建一个拦截i,比拦截i所需的 //系统数多,则需要建这个,因为 拦截第j 个需要的系统数 //比 i 多,导弹i 又在j 后才来,这是不可能的 if(s[i] > s[j] && dp[i] < dp[j] + 1) { dp[i] = dp[j] + 1; if(max < dp[i]) max = dp[i]; } } } printf("%d\n", max); } return 0; }
相关文章推荐
- hdu 5256 序列变换 求最少改变次数使序列变为递增 最长不下降子序列
- HDU 6197 array array array(最长不下降子序列)
- hdu1160 FatMouse's Speed 【最长下降子序列+输出】
- [hdu 5532] [2015ACM/ICPC亚洲区长春站 ] Almost Sorted Array 最长不下降子序列
- hdu 4604 Deque(最长不下降子序列)
- HDU1160 - FatMouse's Speed(最长下降子序列+打印路径)
- hdu 1160 FatMouse's Speed(最长不下降子序列+输出路径)
- (hdu step 3.2.4)FatMouse's Speed(在第一关键字升序的情况下,根据第二关键字来求最长下降子序列)
- HDU 1423 Greatest Common Increasing Subsequence(最长公共子序列+最长不下降子序列)
- hdu 1069 最长下降子序列
- hdu 1069 monkey and banana(最长下降子序列)
- hdu1160简单dp最长下降子序列
- hdu1069 最长下降子序列
- hdu1160简单dp最长下降子序列
- hdu1160(最长下降子序列+排序)
- hdu 6197array array array(最长不下降子序列nlogn)
- HDU 5532 Almost Sorted Array(最长不下降子序列nlogn模板)
- HDU 6197 array array array(最长上升或下降子序列)
- HDU-6197 - array array array - 最长上升或下降子序列
- HDU 1069(最长下降子序列)