
动态规划
文章平均质量分 61
Saito Asuka
这个作者很懒,什么都没留下…
展开
-
CodeForces - 977F - Consecutive Subsequence 动态规划+离散化
F. Consecutive Subsequencetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an integer array of length n.You have to choose some subse...原创 2018-05-07 20:12:28 · 244 阅读 · 0 评论 -
Codeforces - 1155D - Beautiful Array dp
题目链接题意:有一个长度为 nnn 的序列以及一个数 xxx , 现在可以从这个序列中选出最多一段子序列乘上 xxx ,或者不选,求这之后能获得的最大子段和是多少。思路:对于整个子序列,显然是可以分成五个部分:左侧未被选入答案,左侧被选入答案但没有乘 xxx ,被选入答案且乘 xxx ,右侧被选入答案但没有乘 xxx ,右侧未被选入答案。那么对于每个位置的数则有这五种状态,直接 dpdpdp...原创 2019-04-23 19:31:19 · 232 阅读 · 0 评论 -
CodeForces - 570E - Pig and Palindromes dp
题目链接题意:给定一个 n∗mn*mn∗m 的地图,地图上每个格子有一个小写的英文字母,起点为(1,1)(1,1)(1,1) ,终点为 (n,m)(n,m)(n,m) ,且每一步的移动只能往右移一格或者往下移一格。求所有从起点到终点的路径,经过的格子按顺序能组成回文串的路径个数。思路:由于回文串的对称性,可以考虑同时从起点和终点出发,一个往右或下移动,一个往左或上移动。这样状态则为 (x1,y...原创 2019-03-28 22:06:11 · 189 阅读 · 0 评论 -
Codeforces - 1106E - Lunar New Year and Red Envelopes 优先队列+dp
题目链接题意:现在有 kkk 个红包,总共 nnn 的时间, BobBobBob 采用贪心策略,每个时间点若有红包能取则取钱数 wiw_iwi 最多的,且取完之后直到 did_idi 个时间点之后才能再取红包, AliceAliceAlice 有 mmm 次机会在一个时间点让 BobBobBob 不能做任何操作,AliceAliceAlice 怎么分配这 mmm 次机会才能使得 BobBob...原创 2019-02-02 22:30:28 · 384 阅读 · 0 评论 -
牛客寒假算法基础集训营3 - H 处女座的百日理财计划 大数+dp
题目链接题意:初始资金是1000,一共100天,每天早上可以收回到期的投资资金,中午可以玩老虎机有概率翻倍手头的资金,晚上可以选择借给别人钱,问第100天结束之后能获得的钱的最大期望值。思路:DPDPDP ,对于老虎机,由于是翻倍,期望值则是 ans[i]∗2∗Q[i]ans[i] * 2 * Q[i]ans[i]∗2∗Q[i] ( ans[i]ans[i]ans[i] 为当天手头上的资金, ...原创 2019-01-28 15:02:22 · 357 阅读 · 0 评论 -
洛谷 P2051 [AHOI2009]中国象棋 dp
题目链接题意:一个 nnn 行 mmm 列的棋盘,上面放置若干个炮(也可以不放),要求炮之间无法相互攻击(即一行或者一列最多只能存在两个炮),求所有的放置方法思路:动态规划,定义 dp[i][j][k]dp[i][j][k]dp[i][j][k] 表示前 iii 行有 jjj 列有一个炮,有 kkk 列有两个炮,由此可以通过第 i−1i-1i−1 行的dp数组以及排列组合得出状态转移方程#i...原创 2019-01-21 20:23:17 · 216 阅读 · 0 评论 -
洛谷 P1941 飞扬的小鸟 dp
题目链接思路:动态规划,这里下降的方程就是01背包了,上升的由于到m之后还能继续点保持m的高度,所以是完全背包,但是由于同时只能执行一个,且若是先转移01背包的状态会影响到后续完全背包的转移,所以优先转移完全背包,再转移01背包。 #include<cstdio>#include<iostream>#include<algorithm>#incl...原创 2018-11-11 16:15:26 · 256 阅读 · 0 评论 -
HDU - 5542 The Battle of Chibi 离散化+dp+树状数组
题目链接题意:给出一个长为n的序列,求其中长为m的严格单调上升序列的个数。思路:dp[i][j],表示以i为结尾长为j的序列的个数。由于i最大有1e9,所以离散化,这样i最大就只有1000。那么状态转移方程为: 这样时间复杂度就有,对于转移方程里的区间求和,可以通过树状数组维护(线段树空间不够),这样复杂度就到了。#include<cstdio>#inclu...原创 2018-11-11 15:53:09 · 216 阅读 · 0 评论 -
HDU - 4328 Cut the cake 动态规划(悬线法)
题目链接题意:有一个n*m的棋盘,棋盘上每个位置有一种颜色(蓝色:B或者红色:R),现在定义一种矩形,矩形内相邻位置颜色要么都不同要么都相同。现在求棋盘内这种矩形的最大周长。思路:悬线法,left[i]维护每行第i列往左的相邻位置颜色不同的最长长度,right[i]维护每行第i列往右的相邻位置颜色不同的最长长度,up[i]表示当前这一行第i列往上相邻位置颜色不同的最长长度。当前这个位置的答...原创 2018-10-28 20:28:19 · 194 阅读 · 0 评论 -
牛客国庆集训派对Day2 - E 数据排序 状压dp
题目链接题意:有n张照片,有2*n(n-1)组数据,每组数据<x,y>表示照片x比照片y好看,现要给每张照片赋予一个评分,记g(x,y)为数据中<x,y>出现的次数,则有冲突值计算公式f(c)=,求f(c)的最小值。思路:由于n最大只有15,所以很容易想到是状压dp,0表示当前位置照片未考虑,1表示已经考虑在内。那么对于当前状态i,扩展到之后的状态,我们可以考虑枚举...原创 2018-10-15 22:04:31 · 218 阅读 · 0 评论 -
牛客网 Wannafly挑战赛19 B-矩阵 DP
题目链接题意:给出一个R行C列的矩阵M,求最大的行数不超过X,列数不超过Y,0的个数不超过Z的子矩阵和。思路:类比最大子段和,预处理数组suml[i][j]表示M[1][j]+M[2][j]+M[3][j]+...+M[i][j],num0[i][j]从第一行到第i行,j列上0的个数。枚举子矩阵的起始行i,终止行j(j-i+1<=X),对于列的枚举即可类比最大子段和,计算过程中保持条件满足即...原创 2018-07-07 10:31:48 · 269 阅读 · 0 评论 -
HihoCoder - 1320 压缩字符串 区间dp
题目链接题意:求一个字符串能够缩写的最小长度,设字符串S,s,则缩写规则为若S=(s+s+s+s+...+s)共k个s,则S可缩写为k(s)。思路:区间dp,设一个字符串s最小长度为dp[i][j],其某个子串为s'且S=(s+s+s+...+s)共l个,i为字符串起始下标,j为终止下标。则字符串s最小的长度=min(j-i+1,dp[i][k]+dp[k+1][i],2+l的位数+s的长度)。#...原创 2018-06-28 21:08:36 · 230 阅读 · 0 评论 -
ZOJ - 1379 Wild Domains dp
题目链接题意:t组数据,给出两个字符串,对于每个字符串的每个子字符串通过"."隔开。有三个特殊作用的字符"?","*","!",求按照匹配规则,两个字符串是否匹配。思路:一开始硬肝dp一直wa,所以由于这三个字符的特殊作用,我们应该简化一下三个字符,我们可以重新定义!:匹配一个,*作用不变,?:匹配一个或者不匹配。这样原来的*仍然是*,?变为!??,!变为!!*。这样对于dp[i][j]是否有解只...原创 2018-07-16 14:48:45 · 155 阅读 · 0 评论 -
2014浙江省赛 B - Problem Arrangement 状压dp
题目链接题意:有n(n<=12)个题目,i题目放在j位置会产生p[i][j]的分数,求分数大于等于m的方案数以及总的方案数。思路:设数组dp[i][j]表示当前d个(d为状态i中1的个数)题目位置摆好之后位置情况的状态为i,分数为j(j<m)的方案数当j=m时,dp[i][m]为分数>=m的方案数,由此可以建立状态转移方程dp[i+(1<<k)][mm]+=dp[i]...原创 2018-06-25 11:22:17 · 218 阅读 · 0 评论 -
CodeForces - 747F - Igor and Interesting Numbers dp+暴力
题目链接题意:从所有数字出现次数均不超过 ttt 次的16进制数中找到第 kkk 小个数是多少。思路:显然,由于 kkk 的最大不超过2e9 ,所以这个答案的位数不会超过9位,那么我们可以先枚举每个位数下满足题目要求的十六进制数的个数,找到答案的位数,然后从高位到低位枚举即可。对于每种长度的数目个数可以暴力求得,设一个数组 dp[i][j]dp[i][j]dp[i][j] 表示 前 iii ...原创 2019-04-28 20:59:50 · 258 阅读 · 0 评论