
简单DP
文章平均质量分 59
1
hesorchen
这个作者很懒,什么都没留下…
展开
-
UVA437巴比伦塔
题目 原题链接 巴比伦人有n种长方形方块,每种有无限个,第i种方块的三边边长是xi,yi,zi。对于每一个方块,你可以任意选择一面作为底,这样高就随着确定了。举个例子,同一种方块,可能其中一个是竖着放的,一个是侧着放的,一个是横着放的。 他们想要用堆方块的方式建尽可能高的塔。问题是,只有一个方块的底的两条边严格小于另一个方块的底的两条边,这个方块才能堆在另一个上面。这意味着,一个方块甚至不能堆在一个底的尺寸与它一样的方块的上面。 解题思路 对于每种长方体,总共有三种摆放方式 尺寸相同且摆放方式相同的长方体原创 2021-04-09 11:02:22 · 400 阅读 · 0 评论 -
51nod2657二进制数字
2657 二进制数字 题目大意:长度为nnn的010101串,问总共有多少串满足不含三个连续的000或111,n<=1e5n<=1e5n<=1e5,输出答案取余1e9+71e9+71e9+7 方法一:找规律,可以发现a[i]=a[i−1]+a[i−2]a[i]=a[i-1]+a[i-2]a[i]=a[i−1]+a[i−2] 方法二:由于每个位置的01状态只由前面两个位置的01状态推导,方案数也是由前两个位置的01状态转移,所以可以用DP解决 ll dp[100010][2][2]; /*原创 2020-06-03 11:05:47 · 5553 阅读 · 2 评论 -
5.23补题
这几天好多不会的简单题都没补,抽空补几(两)题 牛客练习赛B 看完没思路,只会最短路求法,果然无数发tle和mle 然后看到别人两三分钟就过了。 后来才知道题目说了是树,画一下图就很清楚了 下图中,与结点1距离为2的结点个数就是与它相邻的点(2)相邻的点的个数5 再减去1 (1本身) AC代码: vector<int> G[200010]; int main() { // IOS; // FRE; int n; cin >> n; for (原创 2020-05-23 10:07:32 · 5249 阅读 · 0 评论 -
洛谷P2392 背包问题
题目链接: 传送门 看完题目就感觉是个贪心,样例也能推过去,于是交了以下代码: /* * @Author: hesorchen * @Date: 2020-04-14 10:33:26 * @LastEditTime: 2020-05-13 14:29:51 * @Link: https://hesorchen.github.io/ */ #include <map> #include <set> #include <list> #include <原创 2020-05-13 15:52:30 · 5583 阅读 · 0 评论 -
分组背包
题目传送门 题目背景 直达通天路·小 A 历险记第二篇 题目描述 自 010101 背包问世之后,小 A 对此深感兴趣。一天,小 A 去远游,却发现他的背包不同于 010101 背包,他的物品大致可分为 kkk 组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。 输入格式 两个数 m,nm,nm,n,表示一共有 nnn 件物品,总重量为 mmm。 接下来 nnn 行,每行 333 个...原创 2020-04-10 11:07:39 · 5196 阅读 · 0 评论 -
五倍经验日
原题链接 简单01背包,根据题面背景预处理一下w和v数组即可(就算没有药水也可以获得全部失败的经验) 代码: //https://blog.youkuaiyun.com/hesorchen #include <map> #include <set> #include <list> #include <stack> #include <queue&...原创 2020-04-10 09:33:14 · 5208 阅读 · 0 评论 -
最少步数到1 简单dp
为什么我这么菜,还以为是个傻逼贪心,结果wa了十发。 给你一个数n,可以进行三种操作: 如果能被3整除,可以整除3 如果能被2整除,可以整除2 可以减1 dp代码: int dp[20000010]; int main() { fill(dp, dp + 20000005, INF); dp[1] = 0; for (int i = 1; i <= ...原创 2020-04-04 17:53:22 · 5336 阅读 · 0 评论 -
牛客寒假集训营nico和niconiconi 简单dp
题目传送门 简单动态规划,可惜刚刚补题的时候没注意细节问题,还是搞了很久。 ll dp[301000]; int main() { string str; int n, a, b, c; cin >> n >> a >> b >> c >> str; str = ' ' + str...原创 2020-04-01 09:40:16 · 5175 阅读 · 0 评论 -
巧克力蛋糕 DP
题目大意,现在有一个L高度的容器,还有三种巧克力:1.高1cm的黑巧克。2.高1cm的白巧克。1.高kcm的黑巧克。然后要使得最上层和最底层都是黑巧克力,并且黑白巧克力必须间隔着放置。可以不放满,但是总高度不能超过L,问:有多少种摆放方式。 刚开始我是用dfs跑的,然后tle了。然后看了一下题解发现是dp(题解说是简单dp,但是我看了很久才懂)。 我们使用一个二维数组dp[max][5],其中...原创 2020-03-15 17:14:42 · 5217 阅读 · 0 评论