随笔分类 -  动态规划——线性dp

摘要:这个题我在考试的时候把所有的转移都想全了就是新加一个点时有I.不作为II.自己呆着III.连一个IV.连接两个子树中的两个V连接一个子树中的两个,然而V我并不会转移........ 这个题的正解体现了一种神奇的思想,对于好合并但是不好转移的dp我们可以先打散然后合并到最后,所以我们从一开始维护f[i 阅读全文
posted @ 2017-09-15 21:47 TS_Hugh 阅读(224) 评论(0) 推荐(0)
摘要:biubiu~~~ 这道题我一眼就以为是线段树优化dp并且有了清晰的思路但是发现,我不会线段树区间平移,我以为只是我不会,然而根本就不行........ 正解是把序列排出来然后我们让他们减去他们的下标之后求最长上升子序列。 阅读全文
posted @ 2017-08-13 19:48 TS_Hugh 阅读(430) 评论(0) 推荐(0)
摘要:受惯性思维的影响自动把二进制状态认为是连与不连......... 我们这里二进制状态表示的是奇偶,这样的话我们f[i][j][k]表示的就是前i个城市用了j个边他前k个城市的奇偶状态,然后想想怎么转移,我们要是深搜就会从一开始一直搜每搜到一个最终状态就是一个答案,然后状态转移同理,我们f[1][0] 阅读全文
posted @ 2017-08-05 06:27 TS_Hugh 阅读(214) 评论(0) 推荐(0)
摘要:#define int long long using namespace std; signed main(){ 这个题一看就是图论题,然后我们观察他的性质,因为一个图论题如果没有什么性质,就是真·不可做...... 每个疯子只有一个出度,因此我们YY一下:{ 这是一个有向图,所以,我们可以Tarjan,然后我们把点分为强联通分量内,和强联通分量外,然后我们从强联通分量内的点... 阅读全文
posted @ 2017-08-02 14:49 TS_Hugh 阅读(343) 评论(0) 推荐(0)
摘要:这个dp乍看不科学,仔细一看更不科学,所以作为一个执着BOY,我决定要造数据卡死波兰人民,但是我造着造着就......证出来了......... 这个就是把 < > =分开讨论每次找到f[i] 即以i为结尾的最长长度,然后一顿转移,那么我们发现如果只是讨论 符号那么由于符号顺序影响 我们的得到的是一 阅读全文
posted @ 2017-07-27 21:45 TS_Hugh 阅读(333) 评论(0) 推荐(0)
摘要:一句话:有一些看似有关系的期望在把事件全面发生之后就变得相互独立了 阅读全文
posted @ 2017-07-22 14:45 TS_Hugh 阅读(195) 评论(0) 推荐(0)
摘要:把pos[i]上出现的平常值定义为nor[i]最大值定义为max[i]最小值定义为min[i],那么我们发现在两个值,i(前),j(后),当且仅当max[i]<=nor[j],nor[i]<=min[j]时才会组成序列的前后两个值,并且当序列里所有连续的两个值都满足这个条件是时就可以,因此我们以f[ 阅读全文
posted @ 2017-07-15 17:14 TS_Hugh 阅读(444) 评论(0) 推荐(0)
摘要:这两道题是一样的...... 我就说一下较难的那个 OSU!: 这道15行的水题我竟然做了两节课...... 若是f[i][0]=(1-p)*f[i-1][0]+(1-p)*f[i-1][1],f[i][1]=p*(f[i-1][0]+1.0)+p*(f[i-1][1]+OOXX); 我们合并一下f 阅读全文
posted @ 2017-07-15 09:52 TS_Hugh 阅读(174) 评论(0) 推荐(0)
摘要:我们发现任何最优解都可以是所有拔高的右端点是n,然后如果我们确定了一段序列前缀的结尾和在此之前用过的拔高我们就可以直接取最大值了然后我们在这上面转移就可以了,然后最优解用二维树状数组维护就行了 阅读全文
posted @ 2017-07-15 07:32 TS_Hugh 阅读(243) 评论(0) 推荐(0)
摘要:看到这道题想什么? 一个好转移的状态由于T最多444所以把每个点控制在O(400000)以内,所以对于n和r最多乘一次因此猜f[n][r],f[r][n],首先一轮一轮的搞不好转移,那么先想一想f[n][r],如果是从头开始,在转移到下一位的时候,前面的会对后面的有恶心的影响,那么倒着来f[i][j 阅读全文
posted @ 2017-07-05 14:36 TS_Hugh 阅读(191) 评论(0) 推荐(0)
摘要:这个题我们可以想象成_ ___ __的一个水柱它具有一遍优一遍行的性质因此可以用来二分最小值len,而每次二分后我们都要验根,we可以把这个水柱想成我们在每个数段里取前一段的那个数后一段有也不选,而且最后一个区间的第一个数一定可以使这个数区间对应的数,那么我们只要在某个位置上不选或选就可以啦,这we 阅读全文
posted @ 2017-07-02 17:18 TS_Hugh 阅读(371) 评论(0) 推荐(0)
摘要:初步分析:把赢了的巡回赛的a值加起来就是最后的剩余空间 这个明显的是状态转移的dp啊,然而他的状态比较骚是个数组,表示剩余空间,f(i,j,b),i表示比到第几场,j表示赢了几场,b就是里面的核心状态,总起来就是在比到第i场赢了j场时背包剩余空间b的概率,所以他们加起来一定是1,状态转移的话可以看做 阅读全文
posted @ 2017-06-25 18:11 TS_Hugh 阅读(294) 评论(0) 推荐(0)
摘要:经分析可知:I.操作每个灯可看做一种异或状态 II.每个状态可看做是一些异或状态的异或和,而且每个异或状态只能由它本身释放或放入 III.每一种异或状态只有存在不存在两中可行状态,因此这些灯只有同时处于不存在才可以,而两种异或状态之间没有关系因此可以把这些状态看做一样的,因此counts的是异或状态 阅读全文
posted @ 2017-06-25 15:53 TS_Hugh 阅读(355) 评论(0) 推荐(0)
摘要:先弗洛伊德,然后把状态拆分遗传 阅读全文
posted @ 2017-06-24 11:00 TS_Hugh 阅读(290) 评论(0) 推荐(0)
摘要:自动取款机 【问题描述】 小沈阳在小品里说过:“人生最痛苦的事情是人死了,钱还没花了”。 于是小宋(80 岁)决定要将所有的储蓄从 ATM 机中取出花光。 小宋忘记了她有多少存款(银行卡密码她是记得的 2333),这个奇怪的 ATM 不支持查询存款余额功能。小宋知道她存款的唯一信息是存款上限是 K  阅读全文
posted @ 2017-06-11 23:17 TS_Hugh 阅读(336) 评论(0) 推荐(0)
摘要:这个题的关键处1 紧跟着他的bi个人 —— 由此得出任意一个状态都可以表示为 有第一个人没吃到饭做分隔的前面所有人已吃饭,并用1<<8表示之后的(包括他)的八个人的状态2 信息仍然是上一个 但是根据此信息就可以的出接口数组,就是作为状态转移接口的一维即——最后一个吃饭的人据此可得 f(a,b,c) 阅读全文
posted @ 2017-06-11 20:57 TS_Hugh 阅读(174) 评论(0) 推荐(0)
摘要:这道题 我很蒙.....首先依照搞单调队列优化dp的一般思路 先写出状态转移方程 在想法子去优化 这个题目中说道w就是这一天要是进行操作就是从前w-1天转移而来因为之前的w天不允许有操作!就是与这些天的状态无关!那么每一天更新那一天已经定了那么他对后面要转移的地方的影响就是手里的票了既然这样就加一维 阅读全文
posted @ 2017-06-11 20:53 TS_Hugh 阅读(284) 评论(0) 推荐(0)