随笔分类 - 数据结构 -- 单调队列
摘要:题目大意:给你一颗树,你有$m$元钱,每个节点都有一种物品,价值为$w$,代价为$c$,有$d$个,如果在$u$和$v$两个城市都购买了至少一个物品,那么$u,v$路径上每个节点也都必须买至少一个物品 单调队列数组开小了调了2h 通过这道题,本蒟蒻终于$get$到了树上带权背包的正确姿势 合并背包的
阅读全文
摘要:题目大意: 给你一堆模式串和文本串 对于每个文本串,我们可以把它不可重叠地拆分成很多子串,如果拆分出的串作为子串出现在了任何一个模式串中,我们称它是“眼熟的”,我们必须保证“眼熟的”子串总长度不小于文本串的90%,现在定义一个数$L$,表示拆分出的子串的最小长度,求每个文本串的$L$的最大值 神题
阅读全文
摘要:洛谷传送门 题目大意:给你一个长度为$n$的序列和$m$个区间,每个区间内有且仅有一个1,其它数必须是0,求整个序列中数字1最多的数量 神题,竟然是$DP$ 定义$f_{i}$表示第i位放一个1时,最多的1的数量 因为每个区间至少一个点,如果要在$i$位置放一个1,显然在$i$左侧没覆盖$i$的区间
阅读全文
摘要:题目大意:有k个工人,有一排n个砖头,现在要给砖头染色,每个工人要么不染色,要么选择一个包含$s_{i}$的,长度不大于$l_{i}$的区域进行染色,然后他们会获得$len\cdot p_{i}$的报酬,求使所有工人总报酬最大的方案,输出最大报酬 定义$f[i][j]$表示已经遍历到了第i个工人,遍
阅读全文
摘要:题目大意:要煎一块有两个面的肉,只能在一段k不相交的时间段$[l_{i},r_{i}]$内翻转,求$2*n$秒后,保证两个面煎的时间一样长时,需要最少的翻转次数,$n<=100000$,$k<=100$ 神仙单调队列优化$DP$, [NOI2005]瑰丽华尔兹 也有类似的压时间段的套路,但这道题可比
阅读全文
摘要:题目大意:给你一个n*m棋盘(n,m<=200),有一个人从给定的点s,e出发,有一些坏点不能走,一共给定k段连续的时间(k<=200),在某一段时间之内它只能向一个给定的方向移动,在某一时刻,它可以移动或者不移动。求碰到坏点之前/总时间结束时,最长移动的距离。 朴素DP的方法是: 表示在时间点t时
阅读全文

浙公网安备 33010602011771号