dp
文章平均质量分 94
dance_in_the_dark
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第八次ACM训练(Saturday)
A题顺序13:00 比赛开始14:13 a dxw14:32 j yl14:47 c dxw15:59 g yl16:05 d zjl17:32 h dxw总结第八次训练没什么特别大的感触,只意识到自己应该多收集些板子,免得再遇到一些模板题半天下不了手A - Blank (dp)description有n个点,每个点可以放0,1,2,3四种数,现在给出m个限制[l,r...原创 2020-04-04 21:06:37 · 277 阅读 · 0 评论 -
第三次icpc集训(Wednesday)
总结第三次训练感觉我的状态比上一次又好了一些,但还不够熟练,主要是小错误不断犯,不能一次性打出bug较少的代码。A - Ascending Rating (单调队列+路径压缩)description给定长度为n(<=1e7)的序列,每次从点l开始,每次在x点上,选择在[l,l+m-1]比当前点x值更大的点并跳过去,设maxrating为最后站立的点的值,count为经历的点的个数,...原创 2020-03-19 15:13:56 · 260 阅读 · 0 评论 -
第二次icpc集训(Saturday)
总结第二次比赛在配合与节奏上稍微比第一次有了较大的进步,所谓一回生二回熟,大概就是这样吧。但是,问题同样很明显,首先就我而言1、我打题的准确率不够高,一道题要重复交好几遍,即使我知道这只是碰运气……2、算法能力较差,有点拖累了队友的感觉 3、代码实现能力仍有待加强Rikka with Nash Equilibrium (dp)description给定n,m(<80),求一个满足纳什...原创 2020-03-19 10:12:52 · 911 阅读 · 1 评论 -
【JZOJ5244】【NOIP2017模拟8.8A组】Daydreamin
DescriptionworldwideD最近有午睡的习惯~ 某日中午,他做了一个梦:梦见有一个怪人,她去一个岛上住N+1天(编号为0到N)。这是在大洋中的岛,每天要么是晴天,要么刮台风。 她到达岛的第0天是晴天(这样她才能上岸)。然后对于第i天,假如是晴天,那么有P(0Data Constraint30%:N≤20 50%:N≤2,000 100%:1≤M≤N≤1,000,000 1≤A原创 2017-08-09 10:54:07 · 434 阅读 · 0 评论 -
【JZOJ5237】【GDOI2018模拟8.7】最长公共子序列
DescriptionData Constraint对于20%的数据,n,m<=10 对于40%的数据,n,m<=20 对于60%的数据,n,m<=100 对于80%的数据,n,m<=1000 对应100%的数据,n,m<=5000,保证序列只包含小写字母。Solution这道题和之前做的一道题好像啊,然后就往那个方向去想,搞了1个半小时,最后才发现这道题是弱化版,根本不需要之前的做法。原创 2017-08-09 10:31:02 · 510 阅读 · 0 评论 -
【JZOJ5233】【GDOI模拟8.5】概率博弈
Description小A和小B在玩游戏。这个游戏是这样的: 有一棵n个点的以1为根的有根树,叶子有权值。假设有m个叶子,那么树上每个叶子的权值序列就是一个1->m 的排列。 一开始在1号点有一颗棋子。两人轮流将这颗棋子移向其当前位置的一个儿子。假如棋子到达叶子,游戏结束,最终获得的权值为所在叶子对应权值。 小A希望最后的权值尽量大,小B希望尽量小。小A是先手。 在玩了很多局游戏后,小B对其原创 2017-08-09 10:04:38 · 508 阅读 · 0 评论 -
【51 nod】1378 夹克老爷的愤怒
Description夹克老爷逢三抽一之后,由于采用了新师爷的策略,乡民们叫苦不堪,开始组织起来暴力抗租。夹克老爷很愤怒,他决定派家丁常驻村中进行镇压。诺德县 有N(=105)个村庄,编号0 至 N-1,这些村庄之间用N - 1条道路连接起来。家丁都是经过系统训练的暴力机器,每名家丁可以被派驻在一个村庄,并镇压当前村庄以及距离该村庄不超过K段道路的村庄。夹克老爷一贯奉行最小成本最大利润的原则,原创 2016-12-16 22:37:19 · 532 阅读 · 0 评论 -
【JZOJ4425】【HNOI2016模拟4.4】Fenwit
DescriptionData ConstraintSolution这道题很多人用FWT过了,毕竟题目名就这样…… 那我们另辟蹊径,想想矩阵乘法怎么做。 我们要确定F0的任何一项j对于Ft的任何一项k的系数。那么我们发现j转移至k的途中系数只与转移a^b的1的个数有关。所以我们发现这T次转移只是个填1的问题:现在有一个T行m列的矩阵,每一行你要填上若干个1,是的最后j转移至k。那我们发现对于一个原创 2017-07-14 22:02:22 · 515 阅读 · 0 评论 -
【JZOJ5220】【GDOI2018模拟7.10】C
DescriptionData ConstraintSolution我们设dp[i][j]表示最长公共子序列。正常求。同时我们设f[i][j]表示在满足当前dp[i][j]的情况下前i个x中的子序列有多少是满足是y的子序列。那么我们枚举一下:若当前的子序列中匹配不包括i,那么我们考虑若dp[i-1][j]==dp[i][j],那么f[i][j]+=f[i-1][j]。若当前的子序列中匹配包括i,那么原创 2017-07-10 15:48:23 · 565 阅读 · 0 评论 -
【JZOJ5219】【GDOI2018模拟7.10】B
DescriptionData ConstraintSolution我们发现序列只要求相对大小。所以我们设dp[i][j]表示当前匹配到第i个位置,i位置上放的点的值为j的方案,同时保证前i个数放的值都∈[1,i],每次我们枚举i-1位放什么,若当前状态为’I’,[j,i-1]所有数+1,在[1,j-1]中枚举i-1位放的数。若当前状态为’D’,同时[j,i-1]所有数+1,在[j,i-1]中枚举i原创 2017-07-10 15:40:44 · 563 阅读 · 0 评论 -
【JZOJ5102】【GDOI2017 day2】小学生语文题
DescriptionData ConstraintSolution这道题考场上没想到可以倒着dp,感觉dp都白学了。 我们设出f[i][j]表示当前正确串匹配到i,原串匹配到j,i正对着j,i-n中的每个字符j-n中都可匹配的最小步数。我们现在考虑转移。 1、假设当前的j+1我们对其进行操作使它往前丢,那么f[i][j]=f[i][j+1]+1。 2、假设当前的s[i]==s1[j],那么f原创 2017-05-07 13:24:01 · 1046 阅读 · 4 评论 -
NOIP提高组模拟 幻象
Descriptionphantom是一位爱思考的哲♂学家。最近phantom得到了森の妖精的真传。在他练功的时候, 每秒他的思绪中都有一定的概率浮现出奇♂异的幻象,持续x秒的幻象将产生 的幻象值。phantom练功发自真心,他想知道,在N秒内他期望产生的幻象值是多少。Data Constraint对于 40%的数据 N ≤ 10对于 60%的数据 N ≤ 100对于 100%的数据,N ≤ 10^原创 2016-09-04 15:23:10 · 523 阅读 · 0 评论 -
NOIP提高组 艾比所特
Description阿良良木历将要迎来人生(不,是吸血鬼生涯)的第二次战斗——与身为人类和吸血鬼混血儿的艾比所特在直江津高中的操场solo,以取回Heartunderblade的左脚。艾比所特个子不大,却单手扛着一副形状比自己大三倍,重量是他体重乘三次方的巨大十字架。吸血鬼是怕十字架的,所以历要远远地躲着。更麻烦的是艾比所特能变成雾气,历攻击不到他,他却因为是混血儿,吸血鬼的弱点降到了mininu原创 2016-09-01 17:31:38 · 810 阅读 · 0 评论 -
【JZOJ5081】【GDSOI2017第三轮模拟】Travel Plan
DescriptionData ConstraintSolution这和以前的一道题很像啊。我们发现∑ci\sum ci太大了,而∑vi\sum vi的大小可以接受, 所以我们设出f[i][j]表示当前做到dfs序中第i个物品,选出物品价值和至少为j的最小代价。这可以在O(N∑viN\sum vi)内解决。然后我们考虑不选某子树的物品,即在dfs序中有一段物品不选择。所以我们在处理一个g[i][j]原创 2017-04-22 16:29:04 · 386 阅读 · 0 评论 -
【JZOJ5078】【GDOI2017第三轮模拟day2】魔法咒语
DescriptionData ConstraintSolution考场上打出了70分,由于没看到100分的长度不超过2,所以与100分失之交臂。 70分显然是打颗AC自动机,在trie树做dp。设f[i][j]表示当前选的字符串长度为i,在trie上第j个点的情况。 我们考虑100分怎么做。看到基本词汇长度长度不超过2,且禁忌词语长度少于100,我们果断想到矩阵乘法。我们把f[i-1],f[i原创 2017-04-22 16:19:14 · 698 阅读 · 0 评论 -
【JZOJ5061】【GDOI2017第二轮模拟day1】最长路径
Description在Byteland 一共有n 个城市,编号依次为1 到n,它们之间计划修建n(n-1)/2条单向道路,对于任意两个不同的点i 和j,在它们之间有且仅有一条单向道路,方向要么是i 到j,要么是j 到i。换句话说,这是一个n 个点的竞赛图。 Byteasar 居住在1 号城市,他希望从1 号城市出发,沿着单向道路不重复地访问一些城市,使得访问的城市数尽可能多。 请写一个程序,帮原创 2017-04-16 11:58:07 · 780 阅读 · 0 评论 -
【JZOJ5262】【GDOI2018模拟8.12】树
DescriptionData ConstraintSolution我们发现两个显而易见(一点都不显然好吗)的结论: 1、是否优先不论,我们发现一条u->v的路径可以拆分成u->lca,lca->v两条路径,反之也成立。 2、a->b和c->d等价于a->d和c->b 于是我们得到推论:一个点要么作为起点要么作为终点。(吼啊啊啊) 那么我们就可以很开心的做dp了,由于叶子节点必须靠父亲边才能原创 2017-08-20 22:49:39 · 402 阅读 · 0 评论 -
【JZOJ5335】【NOIP2017提高A组模拟8.24】早苗
DescriptionData ConstraintSolution考场上想错了方向,于是呵呵…… 我们设dp[i][j]表示当前到第i天,前面连续j天(包括i)都刮不同的风。那么转移显然1、第i+1天刮新的风,那么f[i+1][j+1]+=f[i][j]*(m-j),2、第i+1天刮与j天里某一天相同的风,我们设为k,那么k+1~i+1右形成一个新的不出现重复的时间段。f[i+1][k]+=f[原创 2017-08-24 21:33:17 · 636 阅读 · 0 评论 -
【JZOJ5336】【NOIP2017提高A组模拟8.24】提米树
DescriptionData ConstraintSolution我们可以用dp解决。设dp[i]表示前i个节点的最优值。我们发现一对节点(x,y)(x的dfs序小于y的dfs序)可以形成相邻叶子当且仅当x处于其lca的儿子u的右链上,y处于lca的儿子v的左链上,且u,v相邻u在v的左方。我们将每一条右链存下,对于每个节点查找其对应右链的答案。这样是O(N^2)的。 我们发现没一个左链上的点顺原创 2017-08-24 21:46:44 · 780 阅读 · 1 评论 -
【JZOJ5424】【NOIP2017提高A组集训10.25】凤凰院凶真
DescriptionData ConstraintSolution这和以前的一道题很像,叫千帆渡的,刚好是一年前的题,可我还是没想到,就差一点……这说明我的学习是无效学习,以后要加强对过去题目的复习。 再次做好像有了更深的理解。我们设f[i][j]表示与当前A做到i,B做到j,强制i配对的最长公共递增序列。我们顺序枚举i,j,,若当前a[i]!=b[j],那么显然f[i][j]=f[i][j-1原创 2017-10-25 21:40:32 · 507 阅读 · 0 评论 -
【JZOJ5415】【NOIP2017提高A组集训10.22】[斜率优化]公交运输
Description城市中有一条长度为n的道路,每隔1的长度有一个公交车站,编号从0到n,学校在0号车站的位置。其中每个公交车站(除了n号车站)有两个属性ci和vi,代表从这个公交车站出发的公交车的性质。ci代表这个从i出发的公交车,相邻两个停靠站之间的距离。vi表示每坐1站的花费。 注意,一辆公交车出发后会向n号车站的方向行进。同时,一名乘客只能从起点站上车,但可以从任意停靠站下车。校庆志愿者原创 2017-10-25 21:31:40 · 962 阅读 · 0 评论 -
【JZOJ5442】【NOIP2017提高A组冲刺11.1】荒诞[状压dp]
Description我的灵魂与我之间的距离如此遥远,而我的存在却如此真实。 ——加缪《局外人》 我醒来的时候,发现满天星斗照在我的脸上。田野上的声音一直传到我的耳畔。夜的气味,土地的气味,海盐的气味,使我的两鬓感到清凉。这沉睡的夏夜的奇妙安静,像潮水一般浸透我的全身。这时,长夜将尽,汽笛叫了起来。它宣告有些人踏上旅途,要去一个从此和我无关痛痒的世界。 这时我在想一个问题:我有一个n个点,m条原创 2017-11-01 16:50:48 · 602 阅读 · 0 评论 -
【JZOJ5411】【NOIP2017提高A组集训10.22】友谊
DescriptionFlowey 是一朵能够通过友谊颗粒传播LOVE 的小花.它的友谊颗粒分为两种, 圆粒的和皱粒的,它们依次排列组成了一个长度为2m 的序列.对于一个友谊颗 粒的序列,如果存在1<=iData Constraint对于30%的数据,满足n<=10,m<=10 对于60%的数据,满足n<=300,m<=300 对于100%的数据,满足1<=n<=3000,1<=m<=300原创 2017-10-24 08:21:13 · 560 阅读 · 0 评论 -
【JZOJ5408】【NOIP2017提高A组集训10.21】Dark
DescriptionLichKing 希望收集邪恶的黑暗力量,并依靠它称霸世界。 世间的黑暗力量被描述成一个长度为N 的非负整数序列{Ai},每次它可以选择这个序列中的两个相邻的正整数,让他们的值同时减一并获得一点邪恶力量,直到不存在满足条件的数。 然而你不希望他能够得逞,所以你会使得他收集的能量尽可能少。Data ConstraintSolution我们设f[i][j][0.1]表示在第i个原创 2017-10-23 22:28:34 · 445 阅读 · 0 评论 -
【JZOJ5429】【NOIP2017提高A组集训10.27】排列
Description有两个长度为n的排列A和B,定义排列的价值f(A,B)为所有满足A[i]>B[i]的位置i的数量。 现给出n,A,B和S,其中A和B中有一些位置的数未知,问有多少种可能的填数的方案使得f(A,B)=SData Constraint对于20%的数据满足,1<=n<=10 对于50%的数据满足,1<=n<=20 对于70%的数据满足,1<=n<=200 对于100%的数据满原创 2017-10-29 21:48:33 · 656 阅读 · 0 评论 -
【JZOJ5427】【NOIP2017提高A组集训10.25】吃草[1D1D优化]
DescriptionNew Orleans家的后院有很多片草坪,Sullivan负责清理过高的草。但是,Sullivan还有很多家务要干,于是,她想到了一个好方法。 后院总共有n片草坪,第i片草坪投影到数轴上,是一段l[i]到r[i]的闭区间,保证l[i]+r[i]是偶数,l[i]<=r[i]。Sullivan可以在整点上放0v0来把草吃掉(于是0v0变成了0π0)。如果第i片草坪覆盖了x点上的原创 2017-10-29 20:59:45 · 727 阅读 · 0 评论 -
【JZOJ5342】【NOIP2017模拟9.2A组】赤壁情
DescriptionData ConstraintSolution我们设dp[i][j][k][0..2]表示当前放到第i个数,在排列中形成j个连续段,形成的波浪值为k,在开头结尾是否有段的方案数。显然m的最大值不会超过n^2,所以dp是3*n^4的。我们每次考虑将i+1放到哪里。有几种情况: 1、若开头或结尾有一个为空,i+1放到开头或结尾,并且i+1自成一段。 2、若开头或结尾有一个为空,原创 2017-09-02 19:45:14 · 683 阅读 · 0 评论 -
【JZOJ5332】【NOIP2017提高A组模拟8.23】密码
DescriptionData ConstraintSolution考场上没想到挺可惜的,明明以前做过两次的~ 我们将正整数放到一个AC自动机上跑。做一个数位dp,设f[i][j][k][0..1]表示当前到第i位,在自动机上节点j包含k个秘钥,前i位是否与上界相同的方案。我们每次枚举下一位放的数字,看一下AC自动机会跳至哪里转移一下。复杂度O(S*s*k*10)。Code#include<ios原创 2017-08-23 22:50:27 · 434 阅读 · 0 评论 -
【JZOJ5330】【NOIP2017提高A组模拟8.22】密码【51nod1569】二项式系数的个数
DescriptionData ConstraintSolution首先有个库默尔定理:设m,n为正整数,p为素数,则Cmm+nC_{m+n}^{m}含p的幂次等于m+n在p进制下的进位次数。 于是我们就很好办了,显然当k大于n在p进制下的位数答案为0。我们只要满足(l-s)+s的进位次数大于等于k即可。我们将n转化为p进制下。设f[i][j][k][0..1][0..1]位当前dp到p进制第i位原创 2017-08-23 22:44:17 · 900 阅读 · 0 评论 -
【JZOJ5316】【清华集训2017模拟8.19】merge
DescriptionData ConstraintSolution我们考虑最简单的dp,我们设dp[i][j]表示p到i,q到j的不同方案。那么转移也显然dp[i][j]=dp[i-1][j]+dp[i][j-1]。但这样会算重。所以我们考虑在什么情况下计算会重复。我们发现当p的i-k~i,与q的j-k~j相等时,我们就会算重,因此我们要保证p的标点时刻在j前方,这就成了括号序,又因为我们要保证要原创 2017-08-23 22:15:38 · 345 阅读 · 0 评论 -
【JZOJ5272】【GDOI2018模拟8.14】神奇的重复序列
DescriptionData ConstraintSolution我们发现当两个起点i,j(iCode#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;const int maxn=3e3+5;int bz[maxn][200原创 2017-08-22 22:23:17 · 344 阅读 · 0 评论 -
【JZOJ5215】【GDOI2018模拟7.9】组合数问题
DescriptionData ConstraintSolution其实式子很显然,但就是没看出来。最恐怖的是还没看到rCode#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>#define ll long longusing namespace std;const原创 2017-07-10 10:51:29 · 374 阅读 · 0 评论 -
【JZOJ5056】【GDSOI2017模拟4.13】黑白广场
Description东转盘有一个黑白广场,那是帕斯卡金最喜欢的地方。 传说中,这个一望无际的广场是个N行M列的网格图,每个格子都有黑白中的一种颜色。帕斯卡金有一根纤细的魔杖,他可以选择一个格子(i,j),并且可以施加他仅有的两种魔法(任意次数,也可以不操作): 1. 翻转(i,j)的颜色,以及翻转相邻格子的颜色 2. 翻转相邻格子的颜色(翻转:黑色变成白色,白色变成黑色;相邻:两个格子有公共原创 2017-04-16 11:18:26 · 948 阅读 · 1 评论 -
【JZOJ5040】【NOI2017模拟4.2】押韵
Description小A非常喜欢所有押韵的东西,他认为两个单词押韵当且仅当他们的公共后缀的长度和两个单词中最长的单词的长度相等,或者是最长的单词的长度减一。也就是说LCS(A,B)>=max(|A|,|B|)-1。 有一天,小A读了一个有N个单词的小故事,他想知道,如果挑选一些故事里出现的单词组成一个新的单词序列,能组成的最长的满足以下条件的单词序列的长度是多少:单词序列中任意相邻的两个单词都押原创 2017-04-06 16:01:58 · 1185 阅读 · 0 评论 -
【JZOJ5068】【GDSOI2017第二轮模拟】树
Description有n个点,它们从1到n进行标号,第i个点的限制为度数不能超过A[i]. 现在对于每个s (1 <= s <= n),问从这n个点中选出一些点组成大小为s的有标号无根树的方案数。Data Constraint20%的数据:n <= 6 60%的数据:n <= 50 100%的数据:n <= 100Solution这道题是一道带标号的无根树计数,我们考虑prufer序列。原创 2017-04-18 16:47:13 · 687 阅读 · 0 评论 -
4845. 【NOIP2016提高A组集训第5场11.2】寻找
Description“我有个愿望,我希望穿越一切找到你。” 这是个二维平面世界,平面上有n个特殊的果实,我从(0,0)点出发,希望得到尽量多的果实,但是出于某种特殊的原因,我的运动方式只有三种(假设当前我在(x,y)): 1、我可以走到(x+1,y) 2、我可以走到(x,y+1) 3、我可以走到(x+1,y+1) 现在我需要你的帮助,帮我找出我最多能够得到多少个果实。Data Const原创 2016-11-02 17:31:46 · 585 阅读 · 0 评论 -
NOIP2016提高组day1 换教室
DescriptionData ConstraintSolution这道题一看就知道是道dp题。我们设f[i][j][k]表示当前做到第i段时间,调了j次教室,第i段时间是否换教室的最小路径。那么dp方程就很显然了。f[i][j][0]=min(f[i−1][j][0]+d(c[i−1],c[i]),f[i−1][j][1]+d(d[i−1],c[i])∗p[i−1]+d(c[i−1],c[i])∗原创 2016-11-28 14:59:25 · 1526 阅读 · 0 评论 -
NOIP2016提高组day2 愤怒的小鸟
DescriptionData ConstraintSolution还是一道dp题。这次是一道状态压缩dp。我们先预处理出任意选择两个点构成的抛物线所覆盖的点,然后做一下状态压缩转移一下就好了。Code#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>#define db原创 2016-11-28 22:23:37 · 2653 阅读 · 0 评论 -
JZOJ4886【NOIP2016提高A组集训第13场11.11】字符串
Description某日mhy12345在教同学们写helloworld,要求同学们用程序输出一个给定长度的字符串,然而发现有些人输出了一些“危险”的东西,所以mhy12345想知道对于任意长度n的小写字母字符串,不包含危险串的字符串个数Data Constraint对于10%的数据,|str|=1 对于另30%的数据,n<=5 对于另30%的数据,危险串不存在相同字符 对于100%的数据,原创 2016-11-11 16:18:42 · 933 阅读 · 0 评论 -
4806. 打工
DescriptionData Constraint对于100%的数据,N ≤ 10000 , 数据保证询问的数列是一个有效的序列。 详细情况见下表。 Solution这道题我们用数位dp来解决。设f[i][j]表示当前处理至第i位,前i位的最大值为j的后n-i位的方案数。那么显然f[i][j]=f[i+1][j+1]+f[i+1][j]*j转移。那么对于每一位a[i],我们计算当前前i位与给出原创 2016-10-06 19:48:23 · 367 阅读 · 0 评论
分享