摘要: 树链剖分详解(洛谷模板 P3384) 洛谷·[模板]树链剖分 写在前面 首先,在学树链剖分之前最好先把 LCA、树形DP、DFS序 这三个知识点学了emm还有必备的 链式前向星、线段树 也要先学了。 如果这三个知识点没掌握好的话,树链剖分难以理解也是当然的。 树链剖分 树链剖分 就是对一棵树分成几条 阅读全文
posted @ 2019-11-18 23:32 古比 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 该题题意:在规定的地图里放大炮,大炮放的位置有限制,只有‘p’的位置能放; 并且在该点的四周两格内不能再放,找出能放大炮的最大数; 1 /*这道题跟前面做过的一道种植的题相似, 2 不过种植的那道题只会影响上下左右四个点, 3 这道题影响了8个点,所以要多一重l-2的判断; 4 */ 5 #incl 阅读全文
posted @ 2019-11-18 22:57 古比 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 这是一道最短路+状压的题; 详细注释都在代码里。 题意:输入一个数n,现在有n个地方(标号1到n)要从标号为0的地方出去,经过所有的地方之后回来,求最短的时间 输入(n+1)*(n+1)的矩阵表示每两点之间到达所需要的时间。 d[i][j]表示从i-1到j-1的时间; dp[i][j]=min(dp 阅读全文
posted @ 2019-11-18 21:30 古比 阅读(131) 评论(0) 推荐(0) 编辑
摘要: . 1 /*本题为状态压缩题 2 题目大意 : 3 一个矩阵里有很多格子,每个格子有两种状态,可以放牧和不可以放牧, 4 可以放牧用1表示,否则用0表示,在这块牧场放牛,要求两个相邻的方 5 格不能同时放牛(不包括斜着的),即牛与牛不能相邻。问有多少种放牛方 6 案(一头牛都不放也是一种方案); 7 阅读全文
posted @ 2019-11-18 21:25 古比 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 题意: 将含有N个元素的一个集合分成M个子集,使得每个子集的最大值与最小值平方差的和最小。 可以想到贪心将元素从小到大排序,很快可以得出dp[i][j]-前i个子集分j个元素的最小花费,dp方程 dp[i][j]=dp[i-1][k]+(a[j]-a[k+1]);但是需要三重循环,时间复杂度接受不了 阅读全文
posted @ 2019-11-18 20:28 古比 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 斜率优化DP 两步骤; 1.造出DP方程; 2.通过DP方程构造出一个斜率优化方程; 具体怎么构造呢? 如 两个点 a b; 构造出 DP(a)<DP(b) 然后通过这一式子,构造出一个下凸包(后面的边的斜率大于前面的边) 只有下凸包的点是可能作为状态转移方程的转移点,其他点都不可能。 然后,构造完 阅读全文
posted @ 2019-11-18 16:37 古比 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题意:一个数,如果满足奇数的数字出现偶数次,偶数的数字出现奇数次, 就是符合的数,注比如:12313 就满足,因为1 3出现了偶数次。2出现了奇数次 思路,对于这道题,就是状态压缩加dp; 对于一个数字来说,0~9每一位,都只有3种状态量,要么从未出现,要么出现次数为奇 要么为偶,所以可以用3进制来 阅读全文
posted @ 2019-11-18 12:59 古比 阅读(195) 评论(0) 推荐(0) 编辑