![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP 普通DP
mr_zj_
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #396 (Div. 2) - Problem C - Mahmoud and a Message
题目链接:http://codeforces.com/contest/766/problem/C开始的时候直接想到dfs,然后估摸着会超时,然后却选择性忽略了,因为写着写着就瞎掰出了一个故事:n个年轻人在一片未开发的市场上创业的故事,故事最后的结局是超时。。dfs实质还是遍历搜索,我没有剪枝(不知道咋剪),重复计算量太大,所以写完以后不仅是超时,而且是爆超。。test4就t原创 2017-02-09 11:21:54 · 279 阅读 · 0 评论 -
Codeforces Round #401 (Div. 2) C - Alyona and Spreadsheet
题目链接:http://codeforces.com/contest/777/problem/C题意:给出一个n*m的矩阵,进行k次询问,问从l行到r行是否存在至少一列满足非递减。解法一:暴力。独立地对每一列遍历,计算每一个元素最远可以非递减到哪。然后对每一行的所有列取最大,得到每一行最远可以非递减到哪。这样预处理之后,即可O(1)回答询问。复杂度:O(n*m),有常系数。#inc原创 2017-02-28 18:50:30 · 160 阅读 · 0 评论 -
hdu 1087 Super Jumping! Jumping! Jumping!
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087题意:与求最长上升子序列相似,求和最大的上升子序列。解题方案:dp,状态转移方程dp[i] = max{ dp[j] } + a[i],(0 a[j]),其中dp[i]为以i结尾的上升子序列的最大和。这是提出来的“新的原问题”:求以n结尾的上升子序列的最大和。只要这个原创 2017-03-20 23:30:02 · 188 阅读 · 0 评论 -
51Nod 1073 约瑟夫环 (递推)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1073解题方案:约瑟夫环的经典解题方案——一人出列以后重新排列,变成和原问题相似的规模更小的子问题,再找出映射规则,即递推。参考博客:约瑟夫环问题(数学方法) 当只剩下一个人的时候,即在O(1)规模下他的编号为0。通过递推,也就是层层映射原创 2017-03-31 16:22:35 · 251 阅读 · 0 评论 -
hdu 1028 Ignatius and the Princess III(整数拆分,母函数或dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1028题意:整数拆分,拆分成正整数的和的方案数。解题方案:母函数或dp。方法一:母函数。与上一篇博客类似,属于讨论到的第二种情况。#include #include #include #include #include #include #include #include原创 2017-04-03 22:19:37 · 306 阅读 · 0 评论 -
蓝桥杯 PREV-20 公式求值(母函数,推导,dp)
题目链接:http://lx.lanqiao.cn/problem.page?gpid=T43解题方案:q老师在贴吧的传道授业解惑原创 2017-04-04 15:54:40 · 2041 阅读 · 0 评论 -
hdu 1231 最大连续和(一题多解)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1231题目的规模n最大有1e4,所以直接暴力枚举起点终点,再进行求和复杂度O(n^3),会超时;因为是连续区间,容易想到用前缀和优化一下,可以去掉直接暴力的最内层求和,即换成sum[j]-sum[i],复杂度O(n^2),但还是会超时。下面给出3个可行的解法。解法1:仍然采用前缀和的思想,只原创 2017-04-18 22:54:05 · 344 阅读 · 0 评论 -
leetcode 72 Edit Distance(DP)
题目链接:https://leetcode.com/problems/edit-distance/#/description解题方案:与最长公共子串类似,比较最后一个字符。dp[i][j]为表示S的前i个字符转变成T的前j个字符的最少操作数,则若S[i]==T[j],dp[i][j] = dp[i-1][j-1]若S[i]!=T[j],dp[i][j] = min(dp[i原创 2017-05-02 00:24:28 · 177 阅读 · 0 评论 -
hdu 6024 Building Shops (DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6024题意:有n个路口排在一条直线上,现在要建几个商店,每个路口要不自己建商店,有花费c,要不就去最近左边的商店,花费是到最近左边的商店的距离,最左端的路口一定要自己建商店,求出最少总的花费。解题方案:刚开始想着用贪心,先给n个路口按坐标排序,然后从第2个开始从前往后遍历,每次衡量自己建的花原创 2017-05-08 23:21:08 · 256 阅读 · 0 评论