![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP
TirpitzOVO
这个作者很懒,什么都没留下…
展开
-
圆桌游戏
【问题描述】 有一种圆桌游戏是这样进行的:n个人围着圆桌坐成一圈,按顺时针顺序依次标号为1号至n号。对1 < i < n的i来说,i号的左边是i+1号,右边是i-1号。1号的右边是n号,n号的左边是1号。每一轮游戏时,主持人指定一个还坐在桌边的人(假设是i号),让他向坐在他左边的人(假设是j号)发起挑战,如果挑战成功,那么j离开圆桌,如果挑战失败,那么i离开圆桌。当圆桌边只剩下一个人时,这原创 2017-09-13 17:46:02 · 2327 阅读 · 0 评论 -
[P1280]尼克的任务
原题链接nico的任务 niconiconi这个题的DP方程 对我来说还是有点难想的 因为如果当前有多个任务的话 需要根据任务的结束状态判断选择哪个 但是正推的话 还不知道结束后是什么状态 所以 DP[i]代表从i~n的最大空闲时间#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#includ原创 2017-10-26 16:26:25 · 550 阅读 · 0 评论 -
[P1352]没有上司的舞会
原题链接树形DP入门 DP方程搞错了居然还过了90 (*/ω\*)利用DFS递归求解 每个点分为选和不选两种情况 假设选为1不选为0 dp[x][0]+=max(dp[num[i]][1],dp[num[i]][0]); //这里一开始写成了dp[num[i]][1] 但它的儿子的两种状态实际上都是可选的 dp[x][1]+=dp[num[i]][原创 2017-10-26 10:49:11 · 662 阅读 · 0 评论 -
天上掉馅饼
深切悼念天国的Bonus 看着额外加成四个大字欲哭无泪这个题做的大费周章 还跑去问了数学老师什么是期望 总之就是 最大美味值×概率因为要求 不吃的话以后也不能吃 所以为了避免出现无效情况 需要倒着枚举 利用状态压缩 实现是否符合前置条件的判断#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#原创 2017-10-25 16:33:07 · 314 阅读 · 0 评论 -
[P1220]关路灯
原题链接这是一道DP题 但是用爆搜也能过 跑的还挺快的就是直接暴力搜索 跑到边界去关灯#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<ctime>#include<cstdlib>#include<climits>#include<queu原创 2017-11-09 14:56:51 · 371 阅读 · 0 评论 -
2017/10
题目编号是我瞎搞的T1 因为数据范围很小 我还以为是折半搜索没想到是个n3的DP不难看出 跳楼的高度是单调的情况下才可能是最优 这样就先把高度排序 转移方程 dp[i][j] = min ( dp[i-1][k] + b[j].h - b[k].h ) + b[j].c ( k∈1~j-1 ) i表示跳了几次楼 j表示现在在哪座楼上 dp[i][j]表示跳i次楼到达j楼需要的最小原创 2017-10-30 16:18:29 · 294 阅读 · 0 评论 -
[P1049]装箱问题
原题链接背包的变式,一共两个思路。思路1 把体积同时当成价值,转换成简单的01背包,使价值最大。#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<queue>using namespace std;int m,n,a[35],f[21000],i,j原创 2016-12-21 15:45:01 · 413 阅读 · 0 评论 -
括号序列
有关括号匹配 好像大部分都是DP?讲真 居然要把前缀和单独拿出来作为一维 这个我是没想到 但是知道了之后 感觉异常合理#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#include<climits>#include<cstdlib>#include<ctime>#include<cstr原创 2017-10-23 15:03:17 · 420 阅读 · 0 评论 -
[CODEVS 1959]拔河比赛
原题链接看脸的时候到了☆随机化! 重复! DP的Flag倒下了! 夏天没有西瓜![划掉]总之有非常看脸的随机做法 也有非常靠谱的DP做法 DP是bool型 判断前i个人里选j个能不能达到k随机化#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cmath>#include原创 2017-08-10 16:51:15 · 231 阅读 · 0 评论 -
abcd
【问题描述】 有4个长度为N的数组a,b,c,d。现在需要你选择N个数构成数组e,数组e满足a[i]≤e[i]≤b[i] 以及 Σe[i]∗c[i]=0(1<=i<=n) 并且使得 Σe[i]∗ d[i] (1<=i<=n)最大【输入格式】 输入文件名为abcd.in 输入文件共 N+1 行 第 1 行包含1个正整数N 第 i+1 行包含4个整数a[i],b[i],c[i],d[i]【原创 2017-08-22 15:14:16 · 527 阅读 · 0 评论 -
[HDU P6082]度度熊与邪恶大魔王
原题链接有点意外的DP 其实一开始的思路也是背包 但是思考方向的不对 后来看了题解就是 DP[i][j]表示在防御力为i的情况下打出j点伤害所需的最小晶石数 枚举魔法的时候 如果直接能打掉就用这招消耗的晶石数和原来取min 不能的话就是dp[i][j]=min(dp[i][j],dp[i][j-hurt]+kei[k])#include<iostream>#include<cstri原创 2017-08-18 16:34:39 · 238 阅读 · 0 评论 -
[HDU P2089]不要62
原题链接数位DP入门真的是好久不写了 入门题搞了一个小时依旧延续DP的优良传统 想不到的状态 推不出的转移 但是好像这道题是数位DP的常规想法手好冷啊不想打字了…… 参考链接#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<cstdlib>u原创 2017-12-13 16:59:56 · 228 阅读 · 0 评论