随笔分类 -  dp

摘要:题目描述 题解: 这位仁兄您点进来的题解是cdq+点分+斜率优化的。 吐草:细节是真多…… 先推一波式子: $dp[i]=min(dp[j]+(dis[i]-dis[j])*p[i]+q[i])=dis[i]*p[i]+q[i]+min(dp[j]-dis[j]*p[i])$ $min()$里面那个 阅读全文
posted @ 2018-12-28 14:02 LiGuanlin 阅读(178) 评论(0) 推荐(0)
摘要:这个是题目描述: 题解: 啊啊啊啊啊…… 垃圾分数规划。 垃圾树链剖分。 垃圾斜率优化。 垃圾darkbzoj。 这里才是题解: 我们设那个分数的值=k,那么有 $(yi-k*xi)+(qj-k*pj)=0$ 我们要做的是让k最大。 那么很明显开两颗线段树,每个节点存一个凸包。 鉴于我们要让b值最大 阅读全文
posted @ 2018-12-21 13:38 LiGuanlin 阅读(214) 评论(0) 推荐(0)
摘要:题目描述 题解: 因为这个东西占的是最短路的最后一条边,我们可以建出最短路树。 一遍dij即可。 如果这个图就是一棵树,那么所有答案全为-1; 所以说非树边更新了答案。 现在让我们开一棵 2,2,4-三甲基-3-乙基戊烷 ,就是#r巨佬的231树。 如果6- - ->7,那3和7的答案都可以由1-> 阅读全文
posted @ 2018-12-21 13:26 LiGuanlin 阅读(359) 评论(1) 推荐(1)
摘要:题目描述 题解: 看起来是个dp。 还需要SAM维护。 还需要单调队列优化。 代码: 阅读全文
posted @ 2018-12-15 10:26 LiGuanlin 阅读(210) 评论(0) 推荐(0)
摘要:粘题目描述: 我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案。 小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公约数,以便进一步研究。 然而他很快发现工作量太大了,于是向你寻求帮助。 你的任务很简单,小z会告诉你一个整数 阅读全文
posted @ 2018-12-01 08:48 LiGuanlin 阅读(143) 评论(0) 推荐(0)
摘要:题目描述: 我们称一个正整数N是幸运数,当且仅当它的十进制表示中不包含数字串集合S中任意一个元素作为其子串。 例如当S=(22,333,0233)时,233是幸运数,2333、20233、3223不是幸运数。 给定N和S,计算不大于N的幸运数个数。 题解:trie图上数位dp。 好像很裸的样子。 代 阅读全文
posted @ 2018-11-30 19:38 LiGuanlin 阅读(174) 评论(0) 推荐(0)
摘要:题目大意:给你一棵树,其中点上和边上都有值。定义2-Path为经过一条边最多两次的路径,价值为经过点的权值加和-经过边权值*该边经过次数。4e5组询问,每次询问树上连接x,y两点的2-Path的最大价值。 先说一句: 机房中认为图画的最好:https://blog.csdn.net/lleozhan 阅读全文
posted @ 2018-11-01 08:15 LiGuanlin 阅读(324) 评论(0) 推荐(0)
摘要:题目描述 给定一棵树。要求往树中加入一些边使得从1到其他节点的距离至多是2 。 输出加入边的最小数量。(边全部都是无向的) 题解:好多人都说是贪心,但是我写的是树形dp。 (这道题实在太像小胖守皇宫了) 先贪一步,每条边都由1连出,另一端距离为1。因此可以更新其父亲和儿子。 dp[ u ][ 0 / 阅读全文
posted @ 2018-10-22 21:10 LiGuanlin 阅读(173) 评论(6) 推荐(0)
摘要:题目描述 轮状病毒有很多变种。许多轮状病毒都是由一个轮状基产生。一个n轮状基由圆环上n个不同的基原子和圆心的一个核原子构成。2个原子之间的边表示这2个原子之间的信息通道,如图1。 n轮状病毒的产生规律是在n轮状基中删除若干边,使各原子之间有唯一一条信息通道。例如,共有16个不同的3轮状病毒,入图2所 阅读全文
posted @ 2018-10-16 13:45 LiGuanlin 阅读(232) 评论(3) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1850 noip中比较难的期望dp。首先要求出两两最短路,由于300个点90000条边直接选用floyd; 然后就是dp了: dp[ i ][ j ][ 0/1 ]表示”第i天已经提出j次申请,其中第i天不换/换教 阅读全文
posted @ 2018-10-05 10:56 LiGuanlin 阅读(124) 评论(0) 推荐(0)
摘要:题目大意:有小a和小b,其中一个人到处乱走,每次走一步;另一个人抄近路逼近,每次1-2步。求期望路程。 整解:跑1000遍最短路/bfs,求两两距离,然后找从x逼近y第一步去哪,最后期望dp收场。 dp方程很简单,关键在于实现。 代码: 阅读全文
posted @ 2018-10-04 22:44 LiGuanlin 阅读(171) 评论(0) 推荐(0)
摘要:题目描述 策策同学特别喜欢逛公园。公园可以看成一张N个点M条边构成的有向图,且没有 自环和重边。其中1号点是公园的入口,N号点是公园的出口,每条边有一个非负权值, 代表策策经过这条边所要花的时间。 策策每天都会去逛公园,他总是从1号点进去,从N号点出来。 策策喜欢新鲜的事物,它不希望有两天逛公园的路 阅读全文
posted @ 2018-10-04 22:23 LiGuanlin 阅读(174) 评论(0) 推荐(0)
摘要:题目大意:给出n个数的数列,其中保证1<=ai<=n,使其分成m份,使得每一段字符集大小相加最大,求最大值。 考场上跪了,回来一想发现是线段树维护dp: 原dp:dp[ i ][ j ] = max ( dp[ j ][ k-1 ] + num[ j+1 ][ i ]); 然后发现线段树可以维护,即 阅读全文
posted @ 2018-10-02 11:17 LiGuanlin 阅读(141) 评论(0) 推荐(0)
摘要:题目描述 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目的 阅读全文
posted @ 2018-09-16 20:51 LiGuanlin 阅读(193) 评论(0) 推荐(0)
摘要:题目描述 你有一支由 n 名预备役士兵组成的部队,士兵从 1 到 n 编号,要将他们拆分 成若干特别行动队调入战场。出于默契的考虑,同一支特别行动队中队员的编号 应该连续,即为形如(i,i+1,...,i+k)的序列。 编号为 i 的士兵的初始战斗力为 xi ,一支特别行动队的初始战斗力 x 为队内 阅读全文
posted @ 2018-09-12 09:13 LiGuanlin 阅读(158) 评论(0) 推荐(0)
摘要:题目描述 Pine开始了从S地到T地的征途。 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站。 Pine计划用m天到达T地。除第m天外,每一天晚上Pine都必须在休息站过夜。所以,一段路必须在同一天中走完。 Pine希望每一天走的路长度尽可能相近,所以他希望每一天走的路的长度的方差尽可 阅读全文
posted @ 2018-09-12 01:51 LiGuanlin 阅读(216) 评论(0) 推荐(0)
摘要:题面: https://www.lydsy.com/JudgeOnline/problem.php?id=1010 一道dp题,需要斜率优化。 代码: P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容 阅读全文
posted @ 2018-09-11 20:53 LiGuanlin 阅读(187) 评论(0) 推荐(0)
摘要:https://www.lydsy.com/JudgeOnline/problem.php?id=3437 题干:略。 暴力做法:O(n^2),强行无脑dp。 整解:s1为一维前缀和,s2为二维前缀和(存 b[i]*i) f[i] = min( f[j] + i*(s1[i]-s1[j]) - (s 阅读全文
posted @ 2018-09-10 21:07 LiGuanlin 阅读(117) 评论(0) 推荐(0)
摘要:题面粘上: ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 金明 阅读全文
posted @ 2018-09-03 20:41 LiGuanlin 阅读(151) 评论(0) 推荐(0)