代码中遇到的疑问
carut
这个作者很懒,什么都没留下…
展开
-
UVA - 1372 Log Jumpin 贪心
问题 https://vjudge.net/problem/UVA-1372 分析 这道题我一开始一直认为时dp,最后可参考大佬的解法才发现时贪心问题 参考:https://blog.csdn.net/zstu_zlj/article/details/11881015 先按照起始点的大小从小到大排序,然后对于每个i,将它看作起始点,判断i+1是否可以加入进来 对于开始地第一个点,也就是cnt==1时,只要求xi[i+1]-xi[i]<=k,就能将i+1加入进来,但是cnt>1,就要求xi[i+1原创 2020-09-08 15:37:14 · 112 阅读 · 0 评论 -
UVA - 1407 Caves 树形dp 多重背包
分析 参考:https://www.jianshu.com/p/065cfa72e24b 状态的定义比较明显,主要是状态转移部分有点复杂,差点被绕晕了,现在觉得类似于多重背包问题 //0-1背包的枚举物品 for(int i=0;i<g[node].size();++i){ pair<int,int> &temp=g[node][i]; //为了放置重复计算,j从大到小进行更新 for(int j=tot[node];j>原创 2020-08-09 17:45:25 · 187 阅读 · 0 评论 -
UVA - 10564 Paths through the Hourglass DP
问题 https://vjudge.net/problem/UVA-10564 分析 这道题用递归dfs,从根节点到叶子,状态从前往后的方法求解比较方便,不用保存字符串,而用递推的方法就比较麻烦些 重要参考:https://www.jianshu.com/p/b73bc23897fd(重要的,比较简单的解法) http://www.bubuko.com/infodetail-309480.html https://www.cnblogs.com/ember/p/4915561.html 代码 #includ原创 2020-07-29 10:25:48 · 185 阅读 · 0 评论 -
Mobile Computing UVA - 1354 枚举二叉树
问题 https://vjudge.net/problem/UVA-1354 分析原创 2020-03-17 23:24:48 · 95 阅读 · 0 评论 -
UVA - 10641 Barisal Stadium (DP + 几何)
问题 平面上,n(n<=30)条边凸多边形,外部有m(m<=1000)个光源,光源可以照亮一些边,每个光源有坐标和费用,求照亮整个凸多边形所有边的最小光源费用 分析 向量叉乘: 如何判断两个向量之间夹角是顺时针还是逆时针? 利用平面向量的叉乘,a,b是平面向量,a = (x1,y1) b = (x2,y2) a×b = x1y2 - x2y1,若结果为正,则向量b在a的逆时针方向...原创 2020-01-27 17:35:40 · 470 阅读 · 0 评论 -
UVA - 1632 Alibaba 记忆化搜索
问题 一条坐标轴,alibaba可以选择任一点作为出发点,直线上一共有N个点,按照顺序输入,每个点有自己的坐标和时间,超过时间会消失,问经过所有点的最短时间是多少,无法办到的话输出No solution 分析 这题和前面的修理长城比较相似,把时间作为状态对应的值,状态是 dp[i][j][p]代表经过[i,j]所有点后停留在p(p代表左端还是右端)所需要的最小时间 注意: 等于算超时 #inclu...原创 2020-01-25 17:03:17 · 101 阅读 · 0 评论