![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dp
_tan45
这个作者很懒,什么都没留下…
展开
-
【DP】宠物小精灵之收服
描述宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事。一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵。小智也想收服其中的一些小精灵。然而,野生的小精灵并不那么容易被收服。对于每一个野生小精灵而言,小智可能需要使用很多个精灵球才能收服它,而在收服过程中,野生小精灵也会对皮卡丘造成一定的伤害(从而减少皮卡丘的体力)。当皮卡丘的体力小于等于0时,小原创 2016-10-01 14:14:23 · 495 阅读 · 0 评论 -
【BZOJ 1076】奖励关
【题意】你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃)。 宝物一共有n种,系统每次抛出这n种宝物的概率都相同且相互独立。也就是说,即使前k-1次系统都抛出宝物1(这种情况是有可能出现的,尽管概率非常小),第k次抛出各个宝物的概率依然均为1/n。 获取...原创 2019-02-24 21:00:28 · 326 阅读 · 0 评论 -
【hdu4352】XHXJ's LIS
【题意】将一个数x当成一个数串,对其做最长上升子序列。记结果为axa_xax。对一个区间[l,r][l,r][l,r],求有多少个数xxx,使ax=ka_x=kax=k。【分析】先提一提LIS的O(nlogn)O(nlogn)O(nlogn)的做法:维护一个数列tail[i]tail[i]tail[i],表示长度为i的LIS的最后一个元素最小的数。当新加入一个数a[i]a[i]a[i]...原创 2019-02-19 12:23:42 · 134 阅读 · 0 评论 -
【BZOJ 3329】Xorequ
【题意】【分析】按位异或有一个性质:若$a $, 则。所以说:。所以说:。所以说:$$原创 2019-02-19 12:05:16 · 289 阅读 · 0 评论 -
【BZOJ3812】主旋律
【题意】【分析】这题真是毒瘤这道题要我们求这张图的强连通子图的数目。正面做有些困难,所以倒着做。首先我们知道一个图如果不是强连通,则对它进行缩点后,一定会形成一个包含多个节点的DAG。于是,我们想到枚举强连通分量,缩成一个点后计算它们构成一个包含多个节点的DAG的方案数。所以,我们设f[S]表示缩点后的点集S构成包含多个节点的DAG的方案数。由于这样的DAG一定有若干个节点的出度为0,...原创 2019-02-23 00:51:07 · 288 阅读 · 0 评论 -
【BZOJ4145】The Prices
【题意】你要购买mmm种物品各一件,一共有nnn家商店,你到第i家商店的路费为d[i]d[i]d[i],在第iii家商店购买第jjj种物品的费用为c[i][j]c[i][j]c[i][j],求最小总费用。【题解】很容易想到状态转移方程。设f[i][S]f[i][S]f[i][S]为去了前iii家商店,已购买物品的集合为S,则:f[i][S]=min{f[i−1][S],f[i−1][S′]...原创 2019-02-22 23:24:54 · 240 阅读 · 0 评论 -
【poj3613】Cow Relays
【题意】给定一个含T条边的无向图,求从s到e的恰好经过n条边的最短路(可以经过重复边)。【题解】我们先来回想一下floyd。它的本质实际上是DP。设f[k][i][j]f[k][i][j]f[k][i][j]为从i开始,经过1~k的某些点到达j的最短路的总权值,则:f[k][i][j]=min{f[k−1][i][k]+f[k−1][k][j]}f[k][i][j]=min\{f[k-...原创 2019-02-02 22:24:31 · 199 阅读 · 0 评论 -
【poj1180】Batch Scheduling
题意:给定nnn个(≤10000)需依次完成的任务,你可以将它们分成若干段处理。每处理一个段,首先需要有sss的准备时间。处理一个段的费用为已花费的时间(从第一段任务的准备阶段开始计时)乘以段中每一个任务的权值fif_ifi(题解中记作v[i]v[i]v[i])之和。求完成这些任务的最小费用。题解刚开始,很容易想到正着做。然而,尝试了一通,发现难度直线上升。于是,我们可以倒着看。设f[i...原创 2018-12-31 23:15:45 · 253 阅读 · 0 评论 -
【填坑】DP·斜率优化&【hdu】3507
我们先给一个例子:【hdu3507】给定n个数与M(n∈[1,500000]),将它们分成若干段输出。输出一段的费用按下法计算:cost=(∑i=1kai)2+Mcost=(\sum_{i=1}^{k}a_i)^2+Mcost=(i=1∑kai)2+M求最小的costcostcost。如果n小一些,这个题就应该属于DP入门题的那一类了吧:令f[i]f[i]f[i]为输出前iii段的最...原创 2018-12-31 09:56:28 · 348 阅读 · 0 评论 -
hdu5730 Shell('s) Necklace
题意有nnn种链子,第iii种链子长度为iii,有aia_iai条,求用这些链子组合出长度为n的链子的方案数。题解开始居然没看出来这是一道dp题令fif_ifi为凑出长度为iii的链子的方案数则有;fi=∑j=0i−1fj∗ai−j,f0=1f_i=\sum_{j=0}^{i-1}f_j*a_{i-j}, f_0=1fi=j=0∑i−1fj∗ai−j,f0=1时间复杂度...原创 2018-12-19 17:13:48 · 238 阅读 · 0 评论 -
【树形dp】连通块计数
题目描述给出一棵n个点的树,每个点有一个权值a。从这棵树上选出一个点集,使得选出的点连通,且满足点集中的点的权值最大值与最小值之差不超过k,问有多少种选点集的办法。两种选点集的办法不同当且仅当点集中的点的标号不同。输入第一行,包含两个整数n,k。第二行,包含n个整数a1, a2, · · · , an。接下来n − 1行,每行包含两个正整数u, v,原创 2017-08-16 21:44:18 · 3095 阅读 · 0 评论 -
DAG图
有向图的单源点最短路径(road.cpp)时间限制: 1 Sec 内存限制: 64 MB提交: 308 解决: 87[提交][状态][我的提交] [Edit] [TestData]题目描述给定有向无权图,求指定源点S到目标点T的最短路径(路径长度定义为从S到T经过的边的条数)。输入第1行:2个空格分开的整数n(2≤n≤200)和m(10≤m≤20000),分别表示图原创 2016-08-26 18:42:27 · 7075 阅读 · 0 评论 -
【坑式dp】双塔问题
题目描述第三题:双塔问题 2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难。为了纪念"9?11"事件,Mr. F决定自己用水晶来搭建一座双塔。 Mr. F有N块水晶,每块水晶有一个高度,他想用这N块水晶搭建两座有同样高度的塔,使他们成为一座双塔,Mr. F可以从这N块水晶中任取M(1≤M≤N)块来搭建。但是他不知道能否使两座塔有同样的高度,原创 2016-12-23 13:49:06 · 440 阅读 · 0 评论 -
【DP】大盗阿福
阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有 N 家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。他想知道,在不惊动警察的情况下,他今晚最多可以得到多少现金?输入输入的第一行是一个整数原创 2016-10-01 17:36:41 · 467 阅读 · 0 评论 -
对状态转移方程的理解(【HNOI2013】游走&【hdu4035】Maze)
先来看一道例题:【HNOI2013】游走一个无向连通图,顶点从1编号到N,边从1编号到M。小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分数。当小Z 到达N号顶点时游走结束,总分为所有获得的分数之和。现在,请你对这M条边进行编号,使得小Z获得的总分的期望值最小。【分析】设d[i]为走上i...原创 2019-02-19 23:35:27 · 517 阅读 · 0 评论