摘要: hdu1506的加强版, 如果要做这题,还是先去做1505吧这一题,其实是对每一行做1505的那种dp,然后取最大值就行了。 1 #pragma warning(disable:4996) 2 #pragma comment(linker, "/STACK:1024000000,1024000000... 阅读全文
posted @ 2015-09-05 15:33 justPassBy 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 可以算出以第i个值为高度的矩形可以向左延伸left[i],向右延伸right[i]的长度那么答案便是 (left[i] + right[i] + 1) * a[i] 的最大值关键left[i] 和right[i]的计算如果a[i] > a[i-1] , 那么left[i] = 0如果a[i] 4 ... 阅读全文
posted @ 2015-09-05 15:20 justPassBy 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 从n根筷子里面, 选择k+8个集合的筷子,每个集合三根筷子, A#include #include #include #include #include #include #include #include #include #include #include #include #include #... 阅读全文
posted @ 2015-09-05 10:36 justPassBy 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串,问最少添加多少个字符可以使得这个字符串变成回文串if(str[i]==str[j]) dp[i][j] = dp[i+1][j-1]else dp[i][j] = min(dp[i][j-1],dp[i+1][j]);可以看出,dp[i][j] 要么是从dp[i+1][] 这个状态转... 阅读全文
posted @ 2015-09-05 10:02 justPassBy 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 给一棵树,边上有权值,然后给一个权值x,问从根结点出发, 走不超过x的距离,最多能经过多少个结点。走过的点可以重复走,所以可以从一个分支走下去,然后走回来,然后再走另一个分支dp[u][j][0] 表示从u出发,走了j个点,然后不回到u点的最小花费dp[u][j][1] 表示从u出发,走了j个点,然... 阅读全文
posted @ 2015-09-05 09:28 justPassBy 阅读(187) 评论(0) 推荐(0) 编辑