![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dp
枚举星星
这个作者很懒,什么都没留下…
展开
-
蓝桥 - K好数 数位dp
题意:一个L位的K进制数 如果相邻两位都不是相同的数字 那么这个数就是K好数思路:数位dp 注意控制L位 所以开头是1板子稍微变变就行#include<algorithm>#include<iostream>#include<cstdio>#include<cstring>#include<string>#incl...原创 2020-03-29 10:11:34 · 150 阅读 · 0 评论 -
蓝桥训练 - 上39级楼梯
题意:一共39级楼梯 每次可以迈一级或者两级问你迈到39级时迈了偶数步有多少种方法。思路:dp。自己第一眼没有注意偶数步 直接以为是递推了 显然不对 应该分奇偶dp i j 意为 上到第i级时 迈了奇数次总共方法数(j为1或0)//可知:dp[i][0]=dp[i-1][1]+dp[i-2][0];dp[i][1]=dp[i-1][0]+dp[i-2][1];//当然要初始化i...原创 2020-02-28 15:46:16 · 217 阅读 · 0 评论 -
数位dp小结 题目由易到难 20寒假
这次不这么注重格式 还搞什么超链接简单粗暴 题+题解目录:1、不要62 HDU2089(同题型Bomb 不再整理最基础数位dp!2、B-Number HDU3652稍微进阶 多个 各个位之和可被整除3、Balanced Number HDU3709 (枚举所有支点 进行搜索4、吉哥故事系列——恨7不成妻 HDU4507更难一点 约定条件下 各个数字的平方和 用到...原创 2020-02-09 10:49:28 · 235 阅读 · 0 评论 -
POJ1088 滑雪 dp入门 记忆化搜索
题意:给你一个r*c的矩阵,只能从图上数字大的地方滑向数字小的地方,问你一次性最多滑过多少个数字。思路:记忆化搜索。顺序搜索,记录地图上每一个点出发所能达到的最远长度,若某一点标记过说明当前点的最远长度已经确定,直接ruturn(这是一步重要剪枝),否则重新搜索。随着搜索的进行,速度会越来越快(你经历的越多,经验就越多)(前人栽树,后人乘凉)。下面是ac代码:#include<ios...原创 2019-09-22 09:45:40 · 166 阅读 · 0 评论 -
HDU1059 Dividing 多重背包 dp入门
题意:价值为1 2 3 4 5 6 的六种弹珠,有不同的数量,把价值平均后分给两个人。问能否公平划分(一人一半)。思路:多重背包。首先算出总价值,若是奇数显然不行,若是偶数,则需要用多重背包判断一下,核心点就是多重背包化为01背包。AC代码如下#include<iostream>#include<cstdio>#include<cstring>#in...原创 2019-09-21 21:39:44 · 134 阅读 · 0 评论 -
HDU1069 Monkey and Banana DP入门题
题意:给你n种箱子,每种箱子给你长宽高abc,问你怎样堆起来箱子才能让总高度最高。要求:对于相邻两个箱子,下面的箱子的边必须比上面箱子的边要长。即,若下面箱子长宽为6和5,那么上面箱子的长宽要小于6和小于5.思路点:1、拿到这题首先想到,对于某一种箱子(长宽高分别为abc),那么单看这一个箱子,有六种摆放方法(abc acb bac bca cab cba),实际就对应六种不同的箱子...原创 2019-09-21 19:45:49 · 155 阅读 · 0 评论 -
CodeForces855B Marvolo Gaunt's Ring 思维题/dp/线段树留坑
题意:给你一串数的序列,给你三个数 p,q,r,问你怎样选择数列中的三个数,使得pai+qaj+rak最大,其中i<=j<=k。思路:可用线段树,但俺不会,就当个思维题看吧(据说这题当思维题做要快很多,而且代码短小精悍,当然我是参考了bin巨和hmgg的思路,确实niubility。但是要说几点:inf要至少开到4e18,如果开到1e18是过不了的。二是注意一下循环里的三句:aa...原创 2019-08-29 10:30:57 · 157 阅读 · 2 评论 -
CodeForces-1092F Tree with Maximum Cost 树形dp
题目链接:http://codeforces.com/problemset/problem/1092/F题意:给你一棵树,每个点都有权值。计算一下每个点的:所有其他点的权值 乘以到这个点的距离 之和 比如说对于1节点来说,我们要求的就是其他n-1个节点各自的值乘以到这个点的距离,然后求和。然后我们需要求出每个点的这个值,最后求个最大值就可以了。自己看了题想了思路觉得不靠谱,又搜了题解瞄了...原创 2019-08-17 21:36:59 · 207 阅读 · 0 评论 -
FZU2109 数位dp 含前导零
这题没考虑到前导0,就是不知道哪wa了,又补题一直wa,scanf和printf改成cin cout就对了 真不知道错在哪了。。。刚刚又试了一下,G++scanf过不了 但是visual C++可以。真服了,浪费我又一个多小时。这道题是简单的数位dp!!!注意前导0!前导0!前导0!掉坑的地方说三遍,顺便庆祝下因为前导0,成功爆0。思路:就是数位dp模板题,不过置前导0的时候要注意技巧,就是...原创 2019-08-16 19:57:00 · 306 阅读 · 0 评论 -
树状dp入门题合集
题目:POJ1463 POJ3342 Codeforces1084D Codeforces1118F1 POJ1655- POJ1463题意:原题意是让你选择尽可能少的点,选择的这些点和它最临近点加起来可以涵盖所有点。换一种离散数学上缅甸说法,就是给你一棵树(树是一种连通无回路的图),让你把这棵树变成一个二部图,然后求两部分哪个部分顶点。思路:树(记忆)形(化)d(搜)p(索),从任一个点出...原创 2019-08-16 16:15:04 · 220 阅读 · 0 评论