Live2d Test Env

随笔分类 -  DP----优化

摘要:今天是被打爆的一天,T3就是用正解做的,但是好像zz了,只得了30分。 T1由于没判不合法的情况,也只有15分 果然是一个拿不到noip一等奖的人 毕竟noip都准备改名了? A:破碎的矩阵。 题意:给出N,M,表示有N*M的矩阵,然后给定每一行的异或和,每一列的异或和,求方案数。 思路:如果合法, 阅读全文
posted @ 2019-08-21 18:04 nimphy 阅读(284) 评论(0) 推荐(0) 编辑
摘要:题意:给定带点权的树,问多少个连通块,其乘积<=M; N<=2000,M<1e6; 思路:连通块-->分治; 由于普通的树DP在合并的时候复杂度会高一个M,所以用依赖背包来做。 (当然,由于体积分布是离散的,可能有些选手用map也可以过,这样避免了每次都for(i,1,M),取决于数据吧)。 那么现 阅读全文
posted @ 2019-08-08 11:12 nimphy 阅读(591) 评论(0) 推荐(1) 编辑
摘要:题意:有N块地,每块地给出的宽和高,然后可以分批买,每次买的代价是所选择的地种最宽*最高。 问怎么买,使得代价和最小。 思路:显然,先去掉被包括的情况,即如果一个地的宽和高斗比另外一个小,那么久可以删去。 这样,我们得到一些的地宽递增,高递减; 然后得到方程: dp[i]=min(dp[j]+w[i 阅读全文
posted @ 2019-08-01 16:51 nimphy 阅读(309) 评论(0) 推荐(0) 编辑
摘要:题意:要完成一个由s个子项目组成的项目,给b(b>=s)个部门分配,从而把b个部门分成s个组。分组完成后,每一组的任 意两个点之间都要传递信息。假设在(i,j)两个点间传送信息,要先把信息加密,然后快递员从i出发到总部,再加 密,在到j点。出于安全原因,每次只能携带一条消息。现在给出了道路网络、各个 阅读全文
posted @ 2019-07-31 18:05 nimphy 阅读(391) 评论(0) 推荐(0) 编辑
摘要:题意:给定连通图,求出连通图的所有子图的颜色数。 一个图的颜色数,指最少的颜色数,给图染色,使得有边相邻的点之间颜色不同。 思路:首先想法是DFS枚举,然后计算颜色,发现对于给定图,求颜色不会求? 毕竟是很乱的无向图。 那么考虑DP:dp[s]=min(dp[s0]+1),s0是s的子集,且满足s^ 阅读全文
posted @ 2019-07-23 16:00 nimphy 阅读(230) 评论(0) 推荐(0) 编辑
摘要:题意:外卖员开始在0号节点,有N个人点了外卖,(N<=10),现在告诉两两间距离,问怎么配送,使得每个人的外卖都送外,然后回到0号点的总时间最短,注意,同一个点可以多次经过。 思路:TSP问题(货郎担问题),可以通过状态DP解决小数据问题。 先floyd求一下两两最近距离,然后DP; dp[i][j 阅读全文
posted @ 2019-07-18 09:28 nimphy 阅读(170) 评论(0) 推荐(0) 编辑
摘要:pro: 从左到有有N个车道,都有一定程度损坏,所以有不同的修理费a[]; 有M场比赛,每场比赛的场地是[Li,Ri],即如果这个区间的车道都被修理好,则可以举办这个比赛,并且收益是Pi。问最多得到多少收益。N,M<2e5; sol: 比较明显的右端点排序,求最大DP问题。 dp[i]表示只考虑修前 阅读全文
posted @ 2019-05-12 15:43 nimphy 阅读(276) 评论(0) 推荐(0) 编辑
摘要:pro:有一个驴友,以及给定N个表演地点xi和时间ti,驴友的速度不能超过V。 问他在起点为原点和不设置起点的情况下分别最多参观多少个表演。 sol:BZOJ接飞饼见过;clari也在camp的DP专题讲过。 大概是解决这样一类问题,给定N个点,以及一种不等式关系,可以转化为二维平面上的点,然后按照 阅读全文
posted @ 2019-05-12 14:45 nimphy 阅读(356) 评论(0) 推荐(0) 编辑
摘要:pro:给定N,M。输入N个物品,(si,vi)表示第i个物品体积为si,价值为vi,s<=300,vi<=1e9; N<1e6;现在要求,对于背包体积为1到M时,求出最大背包价值。 sol:显然直接跑背包会爆炸。 发现物品体积都比较小,我们先对相同体积的排序,对于体积相同的一起处理。 然后发现转移 阅读全文
posted @ 2019-03-17 14:44 nimphy 阅读(533) 评论(0) 推荐(0) 编辑
摘要:题意:给出N个人,现在让你分P组,每组的工作效率是最小结束时间-最大开始时间,要求每一组的效率的正数,求最大效率和。N<1000 思路: 把包含至少一个其他的分到A组;否则到B组。 A组的要么单独分到一组,要么和它包含的某一个在一组(可以反证,假设已经分好组了,现在把不是单独分组的A加进去,如果分到 阅读全文
posted @ 2019-03-16 08:41 nimphy 阅读(251) 评论(0) 推荐(0) 编辑
摘要:(由于先看的最后一题,然后又一直WA,导致这场有点爆炸,我背锅。 A .Fancy Antiques 题意: 选择最多k个商店,买n个物品,每个物品分别对应两个店售卖,求最小花费是多少。n<100,k=m<=40; 思路:搜索。。。。开始以为是个费用流,然后没法限制。加N多减枝,然后.... B. 阅读全文
posted @ 2019-03-15 14:00 nimphy 阅读(675) 评论(0) 推荐(0) 编辑
摘要:题意:给定带点权边权的树,定义路径的花费=路径边权和e+起点点权w[s]*终点点权w[t]。N<2e5,e,w<1e6; 思路:首先,需要树分治。 然后得到方程dp[i]=min{ dis[i]+dis[j]+w[i]*w[j] },很显然需要斜率优化。 注意维护凸包的时候是需要保证w[j]是单调的 阅读全文
posted @ 2019-03-15 13:23 nimphy 阅读(437) 评论(0) 推荐(0) 编辑
摘要:题意:有一个厨师,他买菜-做菜-买菜-做菜....-做菜,一共有N天,他的冰箱里只能有一个菜,在他做菜的第二天才会买菜,如果菜不做,放在冰箱里,每天新鲜程度会下降1。 第一天也会买菜,第i天的菜新鲜程度的Fi,厨艺是Ci,(厨艺会增长),要求这一天做的菜的新鲜长度大于等于Li。 思路:即dpi=ma 阅读全文
posted @ 2019-02-06 11:28 nimphy 阅读(308) 评论(0) 推荐(0) 编辑
摘要:这几天睡眠时间都不太够,室友晚上太会折腾了,感觉有点累,所以昨天的题解也没写,看晚上能不能补起来。 B . Marbles 题意:给定N组数(xi,yi),玩家轮流操作,每次玩家可以选择其中一组对其操作,可以把它减去一个数,或同时减去一个数,当玩家操作后出现了(0,0)则胜利。 思路:注意这里是出现 阅读全文
posted @ 2019-02-03 16:34 nimphy 阅读(739) 评论(0) 推荐(0) 编辑
摘要:A. The Fair Nut and the Best Path 题意:给定有点权,有边权的树,让你选择一条链(也可以是只有一个点),使得点权之和-边权最大。 思路:裸的树形DP,我们用dp[i]表示i的子树里某个点到i这条链的最大值,然后用次大值更新答案即可。 具体的,每个dp[i]初始化=a[ 阅读全文
posted @ 2018-12-11 14:00 nimphy 阅读(355) 评论(0) 推荐(0) 编辑
摘要:You are a given a list of integers a 1 ,a 2 ,…,a n a1,a2,…,an and s s of its segments [l j ;r j ] [lj;rj] (where 1≤l j ≤r j ≤n 1≤lj≤rj≤n ). You need t 阅读全文
posted @ 2018-11-30 19:23 nimphy 阅读(536) 评论(0) 推荐(0) 编辑
摘要:3437: 小P的牧场 Description 小P在MC里有n个牧场,自西向东呈一字形排列(自西向东用1…n编号),于是他就烦恼了:为了控制这n个牧场,他需要在某些牧场上面建立控制站,每个牧场上只能建立一个控制站,每个控制站控制的牧场是它所在的牧场一直到它西边第一个控制站的所有牧场(它西边第一个控 阅读全文
posted @ 2018-11-21 20:41 nimphy 阅读(237) 评论(0) 推荐(0) 编辑
摘要:题意:N个数,按顺序划分为K组,使得逆序对之和最小。 思路:之前能用四边形不等式写的,一般网上都还有DP单调性分治的做法,今天也尝试用后者写(抄)了一遍。即: 分成K组,我们进行K-1次分治,get(l,r,L,R)中如果mid位置的最优解来自MID,那么分别以mid和MID和分界线,有get(l, 阅读全文
posted @ 2018-11-15 14:50 nimphy 阅读(447) 评论(0) 推荐(1) 编辑
摘要:Description 魔法师小Q拥有n个宝石,每个宝石的魔力依次为w_1,w_2,...,w_n。他想把这些宝石镶嵌到自己的法杖上,来提升 法杖的威力。不幸的是,小Q的法杖上宝石镶嵌栏太少了,他必须扔掉k个宝石才能将剩下的宝石镶嵌上去。法杖的 威力等于镶嵌在上面的所有宝石的魔力按位做或(OR)运算 阅读全文
posted @ 2018-11-11 22:36 nimphy 阅读(203) 评论(0) 推荐(0) 编辑
摘要:题意:N个人排成一行,分成K组,要求每组的不和谐值之和最小。 思路:开始以为是斜率优化DP,但是每个区间的值其实已经知道了,即是没有和下标有关的未知数了,所以没必要用斜率。 四边形优化。 dp[i][j]表示前j个人分为i组的最小代价。 622ms 利用DP决策单调性解决:684ms。二者时间差不多 阅读全文
posted @ 2018-11-11 11:34 nimphy 阅读(382) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示