摘要: https://zoj.pintia.cn/problem-sets/91827364500/problems/91827368971 需要判断凸包,学了再来补; 先说dp部分, dp[ i ][ j ]表示划分起点为i,终点为j的凸多边形所需的花费; dp [ i ] [ j ] =min ( d 阅读全文
posted @ 2020-07-07 23:40 SuccessfulRoad 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 选择结点: dp[ i ] [ 0 / 1] 树上背包:f[ v ] [ k ] =f[ u ] [ k ]+ val; f [ u ] [ k ]= max( f[v ][k-1],f[u][k]) 常规:f[ i ] [ j ],以i为根的结点。。。 http://acm.hdu.edu.cn/ 阅读全文
posted @ 2020-07-06 23:12 SuccessfulRoad 阅读(121) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1059 多重背包题; 如果sum奇数直接continue;不是奇数则判断dp[sum/2]能不能到达; 即dp[sum/2]的方案数是否为0; 注意输出格式!!! 1 #include<bits/stdc++.h> 阅读全文
posted @ 2020-07-05 22:39 SuccessfulRoad 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 引用博客: https://blog.csdn.net/dcx2001/article/details/78269908 https://www.cnblogs.com/ifmyt/p/9588872.html 树形dp一般f[i][j],i表示以i为根的树, 基本方程: 选择结点类:f【i】【0】 阅读全文
posted @ 2020-07-05 06:31 SuccessfulRoad 阅读(137) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3181 高精+背包 完全背包求方案数则只需dp[ j ] + = dp[ j - w[ i ] ]即可;任意一种背包方案计算都只需将max变为+; 这道题要注意,求方案数一般有很多,不mod,就自己看看数据是否超内存; dp[ i ]存放前18位 阅读全文
posted @ 2020-07-04 23:36 SuccessfulRoad 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 01背包 http://acm.hdu.edu.cn/showproblem.php?pid=2546 余额为体积; 01背包比较明显; 因为是>=5时才能消费,所以预留5的空间,计算出在余额为m-5的情况下,所能花费的最大价钱; 记住,因为只要>=5,不管菜多贵,都能买;所以我们希望5元时买的菜最 阅读全文
posted @ 2020-07-04 18:47 SuccessfulRoad 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 链接:https://ac.nowcoder.com/acm/contest/5388/A来源:牛客网 给你一个边长为 n 的用硬币摆成的实心三角形,请问把他倒过来最少需要多少步? 我觉得这种题没什么好办法,就是找规律,多练习这种题就可能发现规律;一般找规律的题,就先暴力(枚举),再从枚举中推个公式 阅读全文
posted @ 2020-05-04 23:16 SuccessfulRoad 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 链接:https://ac.nowcoder.com/acm/contest/4911/A来源:牛客网 题目描述 牛牛最近喜欢玩咪咪游戏,于是自己写了个程序编了个游戏让牛妹来玩。游戏是这样的: 牛牛有一个长的字符串(只包26含个小写字母),他想让牛妹判断这个字符串是好的。 定义一个串是好的:这个串是 阅读全文
posted @ 2020-04-16 23:27 SuccessfulRoad 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 今天突然发现牛客上的每日一题也很宝藏~!!!决定刷一下~~~持续更新 链接:https://ac.nowcoder.com/acm/problem/13221来源:牛客网数码(数论分块) 题目描述 给定两个整数 l 和 r ,对于所有满足1 ≤ l ≤ x ≤ r ≤ 10^9 的 x ,把 x 的 阅读全文
posted @ 2020-04-16 12:10 SuccessfulRoad 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 链接:https://ac.nowcoder.com/acm/contest/5203/A来源:牛客网 题目描述 (暴力) 为了得到一个数的"相反数",我们将这个数的数字顺序颠倒,然后再加上原先的数得到"相反数"。例如,为了得到1325的"相反数",首先我们将该数的数字顺序颠倒,我们得到5231,之 阅读全文
posted @ 2020-04-15 17:58 SuccessfulRoad 阅读(349) 评论(0) 推荐(0) 编辑