上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 35 下一页
摘要: 题意: 求最少代价,把数组变成形如 1 1 3 3 3 2 的形式,即相同数字放一块。 每次操作选择某值 x,花费 cnt[x] 把所有 x 都变成另一个整数 y 思路: 贪心,每次处理区间 [l,r],区间中的每个数的所有 appearance 都在区间中,把区间中的其他数都变成区间中出现次数最多 阅读全文
posted @ 2022-03-31 10:11 Bellala 阅读(68) 评论(0) 推荐(0)
摘要: 题意: 01背包求方案数,体积上限为 \(m\) \(n\le 40,1\le a_i\le 1e16,1\le m\le 1e18\) 思路: 折半搜索板子题。 v1表示只考虑左半数组,能凑出来的所有体积的集合。v2同理。 合并答案应该也可以双指针,但感觉排序也要带个log所以没必要。直接二分好了 阅读全文
posted @ 2022-03-30 23:22 Bellala 阅读(70) 评论(0) 推荐(0)
摘要: 题意: 把数组切成若干段,每段长度不小于len,每段内极差不大于z。问最少切成几段。 思路: \(f(i)\) 表示 \(1\sim i\) 最少能切成(合法的)几段,-1表示没有合法方案。 则 \(f(i)=\min \{ f(j):j<i,[j+1,i]的极差\le z,f(j)\neq -1 阅读全文
posted @ 2022-03-30 22:30 Bellala 阅读(63) 评论(0) 推荐(0)
摘要: 题意: 有 n 个节点的树,节点为黑色或白色。现在可以从中删去若干条边,使得剩下的每个连通块恰有一个黑色节点。问有多少种删边方案。 思路: 树形dp,$f(u,0/1)$ 表示 $u$ 所在的连通块中无黑点/恰有一个黑点。答案为 $f(1,1)$ dfs 到节点 u,当前的 f[fa] 表示 fa 阅读全文
posted @ 2022-03-30 20:58 Bellala 阅读(94) 评论(0) 推荐(0)
摘要: 题意: 给定一个数组和两种操作,问把数组变成正负相间(不能0)的最小代价。 操作一:花费代价C,把数组中的一些数+1,再取数组中的一些数-1 操作二:花费代价R,删除一个数 思路: 对于一个数 x,进行至少 |x|+1 次操作一可以把 x 变成正数或者负数,把此时的 x 称为自由态(?)。若操作一的 阅读全文
posted @ 2022-03-30 14:38 Bellala 阅读(73) 评论(0) 推荐(0)
摘要: 题意: n个人进行w次比赛,每次比赛有若干胜者(给定),胜者的积分+1。每次赛后重新计算每个人的排名(当前积分比他严格大的人数,可以并列)。w次比赛后,分别求每个人的排名的平均值。 \(1\le n,w \le 3e5\) 思路: x 获胜后,原来 x 同分的人的排名都+1。如果每次赛后都更新所有人 阅读全文
posted @ 2022-03-29 22:48 Bellala 阅读(46) 评论(0) 推荐(0)
摘要: 题意: 给定 n 个整数,将其划分为恰好 k 个(连续)子数组,求对每个子数组求和后按与运算的最大值。 \(1\le k \le n\le 100,0\le a_i\le 2^{50}\) 思路: 按位贪心,dp判断 \(dp(i,j)\) 表示把 \(a[1\sim i]\) 划分成 \(j\) 阅读全文
posted @ 2022-03-29 20:04 Bellala 阅读(107) 评论(0) 推荐(0)
摘要: 题意: n首歌顺序播放,播完最后一首又会从头开始。每首歌有个值,听歌的过程中记住听过的最大值,如果遇到一首歌的值严格小于上述最大值的一半,马上停止听歌。问从每一首歌开始播放,分别能听几首歌 思路: 把环变成长度2倍的链,单调队列维护下降子列。 队头要怎么操作呢?如果 \(a_i\) 严格小于队头的一 阅读全文
posted @ 2022-03-29 17:50 Bellala 阅读(29) 评论(0) 推荐(0)
摘要: 题意: 在给定的一棵树上给节点染色。可以染m种颜色。定义一种特殊颜色mx,一棵树上最多能有mc个mx;如果一个节点为mx,那么他相邻的节点的值只能选比他小的颜色。问染色方案数。 \(n\le 1e5, 1\le m\le 1e9, 1\le mc \le 10\) 思路: \(f(u,0/1/2,i 阅读全文
posted @ 2022-03-29 13:10 Bellala 阅读(67) 评论(0) 推荐(0)
摘要: hard version 的 On 做法我老早就看题解弄懂了,但 easy version 的 n2 暴力直到现在才想明白。。。 题意: 给定一个01串,尽量把1改成0,要求任意子区间的 LIS 长度保持不变。 这里的 LIS 为最长不降子列 串长2000 思路: 若把某个1改成0之后,以它为左端点 阅读全文
posted @ 2022-03-28 22:52 Bellala 阅读(38) 评论(0) 推荐(0)
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 35 下一页