动态规划
Soap__
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Luogu 1258 队员分组
题目链接:https://www.luogu.com.cn/problem/P1285 这是一道很好很好的题 看一眼题目,就发现可能与二分图有关 然后,经过一定时间的思考,你会发现,这道题好像并不能直接用图论算法或者动态规划解决 这时候,我们就要考虑,是不是有一些可以用来贪心的定理。 首先直观一般会想到关于可以分到一个集合的人的条件 然后就会发现,一个人与不认识他或他不认识的人是绝对不可以分到同一个集合,这样是不是可以看做一个无向的边,又是分为两个集合,二分图染色? 我们可以把每个人与不认识他或者他不认识的原创 2020-10-19 15:42:17 · 246 阅读 · 0 评论 -
2020.9.13 NOIP模拟赛4 T1 brick
题目描述:有nnn行mmm列个砖块,每个砖块有一个分数valuei,jvalue_{i,j}valuei,j,打一个砖块要耗费一颗子弹。砖块都是先打一列最下面那一个.其中存在一些奖励砖块,如果打到奖励砖块,会得到一颗子弹。初始时你有kkk颗子弹,可以决定打砖块的顺序,求最大分数 输入格式:第一行三个整数n,m,kn,m,kn,m,k ---------------然后是nnn行mmm列,每一个数代表每个砖块的分数值 ---------------接着是nnn行mmm列,每一个数代表该砖块是否为奖励砖块[0原创 2020-09-13 20:31:51 · 269 阅读 · 0 评论 -
ZJOI2006 物流运输
题目链接:https://www.luogu.com.cn/problem/P1772 这道题有几种解法… 看到m<=20m<=20m<=20,想到状压dpdpdp 设dp[i][s]dp[i][s]dp[i][s]表示前iii天中,第iii天状态为sss的最小花费 f[s]f[s]f[s]为每天的转移状态 先要记忆化dfsdfsdfs处理出fff数组 dp[i][s]=min(dp[i−1][s]+f[s],min(dp[i−1])+f[s]+k)dp[i][s]=min(dp[i-1]原创 2020-08-23 22:41:00 · 192 阅读 · 0 评论 -
NOI2007 货币兑换
题目链接:https://www.luogu.com.cn/problem/P4027 典型的线性dpdpdp 题目最低下居然还有提示 dp[i]dp[i]dp[i]在第iii天之前买光股票的最大收入 dp[i]=max(dp[j]∗ratejratej∗aj+bj∗ai+dp[j]ratej∗aj+bj∗bi)dp[i]=max(\frac{dp[j]*rate_j}{rate_j*a_j+b_j}*a_i+\frac{dp[j]}{rate_j*a_j+b_j}*b_i)dp[i]=max(ratej原创 2020-08-15 18:13:22 · 201 阅读 · 0 评论 -
NOI Online #1 入门组 魔法
题目链接:https://www.luogu.com.cn/problem/P6190 题目大意:给定一个nnn个点mmm条边的图,你有kkk次施展魔法的机会,每次施展魔法可以让经过下一条边的权值在这一刻取负,求从111到nnn的最小花费 考虑动态规划,设dp[i][j][k]dp[i][j][k]dp[i][j][k]表示从iii到jjj使用kkk次魔法的最小花费。 dp[i][j][k]=min(dp[i][u][k−1]+dp[u][j][1],dp[i][u][1]+dp[u][j][k−1])dp原创 2020-08-15 09:57:29 · 304 阅读 · 0 评论 -
NOI Online #2 提高组 游戏
题目链接:https://www.luogu.com.cn/problem/P6478 题意:给定一棵树,每次从里面选出各一个权值为111和000的结点,直到选完为止,求每次选出结点是另一个该次选出结点父亲的方案数 直接计算答案很难,但我们发现选出至少iii个结点满足题目要求比较容易算出来,再利用二项式反演容斥一下即可 设dp[i][j]dp[i][j]dp[i][j]表示从iii及其子树中选出jjj对题目所要求的点的方案数 dp[i][j]=∑k1+k2+...+km=jdp[v1][k1]∗dp[v2]原创 2020-08-14 19:50:38 · 344 阅读 · 1 评论 -
csp2019 Emiya 家今天的饭
题目链接:https://www.luogu.com.cn/problem/P5664 去年考场上我很菜。。。 现在还是一样菜。。。。。。 题目抽象出来就是给你一个nnn行mmm列的矩阵(数表),可以从里面选出任意个数,每一行只能选一个数,要求每一列选出的数不超过选出总数的⌊12⌋\lfloor \frac{1}{2} \rfloor⌊21⌋,每一个方案的贡献是所有选出的数的乘积,求所有方案之和取模 如果要直接保证每一列选出的数不超过选出总数的⌊12⌋\lfloor \frac{1}{2} \rfloor原创 2020-08-13 14:56:34 · 240 阅读 · 0 评论 -
ZJOI2010 基站选址
题目链接:https://www.luogu.com.cn/problem/P2605 题目的条件数据比较多,在一个地方建基站会影响左右两边 看看数据范围,考虑dpdpdp 因为基站会影响左右两边,设dp[i][j]dp[i][j]dp[i][j]表示在前jjj个村庄中建iii个基站,且最后一个基站建在第jjj个位置,val(i,j)val(i,j)val(i,j)代表iii至jjj间村庄www的花费(注意:jjj代表村庄) dp[i][j]=min(dp[i−1][k]+val(k,i))dp[i][j]原创 2020-08-12 10:54:14 · 260 阅读 · 0 评论
分享