DP
文章平均质量分 55
赤兔码
我服了
展开
-
Codeforces Round #721 (Div. 2) E - Partition Game
E - Partition Game题意:给一个长度为n的数组,将其分成k段,每段的权值定义为这段数组中每个不同的数的cost和,对于一个数的cost为这个数在这一段中最后一次出现和第一次出现的距离差。求分成连续k段的最小权值和。昨天打cf看了一下这个题,和银川B好像,于是就想能不能巧妙的dp一下,想了挺长时间也没有dp的思路,感觉现在这种题就像我的梦魇似的,银川B题因为比赛前一天看了很多数据结构的题导致完全没想dp,而这个题又因为银川B题的折磨也没想数据结构,真的感觉现在处于一个知识量和思维和做题状态原创 2021-05-21 12:08:23 · 213 阅读 · 0 评论 -
E - Egor in the Republic of Dagestan
线性dp的本质其实就是DAG上递推,而最短路的本质其实就是dp,而最短路的dp其实就是处理有环图的一种dp处理方法。首先最短路是基于贪心的dp,如果是不基于贪心,其实本质就是跑n次o(m)的dp转移,但是由于有了贪心加上优先队列优化,就成了m*logn的,而这种贪心应用于某些有环的dp上就成了最短路dp问题。题意:给出 n 个点和 m 条边的有向图,每条边的长度为 1 ,有一个属性由 0 或 1 表示,现在需要给每个节点赋值,使得:1.如果点 u 的权值为 0 ,则 u 只能走 ( u , v ) 且原创 2020-09-10 13:14:36 · 310 阅读 · 0 评论 -
2019 ICPC Asia Jakarta 问题 J: Tiling Terrace
题意:给n,k,g1,g2,g3,然后给一个长度为n的只包含’.‘和‘#‘的字符串,有三种type,type 1:单个的’.’,贡献为g1,type 2:两个连着的’.’,贡献为g2.type 3:".#.",连续的点#点,贡献为g3.求最优划分使得贡献最大,每个字符只能用于1个type。字符串中’#'顶多出现50次。type 1最多用n次。思路:显然dp,一开始看错了题意以为是个垃圾题,后来发现这个题还是有点东西的。这一开始感觉应该是个二维dp,但是第一维为字符串前i项,如果第二维为用了原创 2020-08-31 14:01:45 · 262 阅读 · 0 评论 -
Smooth Array
Smooth Array题意:给n个数,每次操作可以修改数组中的一个数使之为任意数,求最小修改次数,使得修改完的数组每k个连续的数之和为s。思路:因为每k个连续的数之和为s则,a[i]=a[i+k],即a数组最终为一个k周期的循环,然后问题化简为k组背包问题,即求出dp[k][s]即可,dp[i][j]就是前i组数和为j的最大不需要操作数,因为分组背包是求最大值的,所以需要进行转换求最大不需要...原创 2020-03-29 16:01:32 · 292 阅读 · 0 评论 -
[JLOI2013]卡牌游戏 概率dp+约瑟夫环
[JLOI2013]卡牌游戏题目描述:N个人坐成一圈玩游戏。一开始我们把所有玩家按顺时针从1到N编号。 首先第一回合是玩家1作为庄家。每个回合庄家都会随机(即按相等的概率)从卡牌堆里选择一张卡片,假设卡片上的数字为X,则庄家首先把卡片上的数字向所有玩家展示,然后按顺时针从庄家位置数第X个人将被处决即退出游戏。然后卡片将会被放回卡牌堆里并重新洗牌。被处决的人按顺时针的下一个人将会作为下一轮...原创 2020-02-14 22:07:57 · 426 阅读 · 0 评论 -
排序背包dp
Description FHC同学经常熬夜打CF,喜欢看着CF排位的rank一点点上升。众所周知,codeforces每场比赛的时间为T分钟,有N道题,可以在比赛时间内的任意时间提交代码。第i道题的分数为point[i],题目的分数随着比赛的进行,每分钟减少minute[i]。这是一场高手(红名)之间的CF之战,相比较普通场,新增了一个规则:题目获得的分数可能减成负数。已知第i道题需要花费time...原创 2019-09-29 00:10:39 · 225 阅读 · 0 评论 -
P1578 奶牛浴场 求最大子矩阵(枚举)
P1578 奶牛浴场由于n,m很大但是障碍点的数量很小,所以可以枚举障碍点从而找到最大子矩阵。复杂度为障碍点的数量的平方,一般用于处理n,m很大时的最大子矩阵问题,枚举思想很简单,排序,然后以第一个点为左边界,依次枚举右边界,然后再以第二个点,第三个点为右边界进行枚举。由于边界问题,细节比较多,实现起来很麻烦,但是也可以当作模板。#include<iostream>#incl...原创 2019-09-21 17:22:46 · 214 阅读 · 0 评论 -
悬线法(符合条件最大子矩阵) dp
学习链接:浅谈用极大化思想解决最大子矩阵问题模板: for(i=1;i<=n;i++){//初始化 for(j=1;j<=m;j++){ Right[i][j]=j; Left[i][j]=j; height[i][j]=1; } } for(i=1;i<=n;i++){//转移left数组 for(j=2;j<=m;j++){ ...原创 2019-09-20 23:39:57 · 332 阅读 · 1 评论 -
P2051 [AHOI2009]中国象棋
题目描述这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大家肯定很清楚,在中国象棋中炮的行走方式是:一个炮攻击到另一个炮,当且仅当它们在同一行或同一列中,且它们之间恰好 有一个棋子。你也来和小可可一起锻炼一下思维吧!输入格式一行包含两个整数N,M,之间由一个空格隔开。输出格式总共的方案数,...原创 2019-09-20 13:20:53 · 111 阅读 · 0 评论 -
F - Removed Interval(最长上升子序列)
题意:删去连续的长度为L的序列,求最长上升子序列。严格上升。dp[i][0]代表选择i点在[1,i]中找最长上升子序列。dp[i][1]代表删去了长度为L的连续序列之后选择i点的在[1,i]中的最长上升子序列。离散化加线段树维护求区间最大值。坑点:忘了我最后找的状态是选择了第n个点的dp[n][1],可是还有可能是因为dp[n+1][1],即最后删除n-L+1到n这一段连续序列之后的最长上...原创 2019-09-09 23:14:23 · 441 阅读 · 1 评论 -
2019南京ICPC网络赛 D
** RobotsGiven a directed graph with no loops which starts at node 11 and ends at node nn.There is a robot who starts at 11, and will go to one of adjacent nodes or st...原创 2019-09-06 13:40:31 · 935 阅读 · 0 评论