随笔分类 -  其他-贪心

摘要:C. Distinct Substrings 大意: 给定串$s$, 字符集$m$, 对于每个字符$c$, 求$s$末尾添加字符$c$后本质不同子串增加多少. exkmp求出每个前缀与后缀匹配的最大长度, 统计一下贡献即可 #include <iostream> #include <sstream> 阅读全文
posted @ 2019-10-15 12:43 uid001
摘要:1. CF730I Olympiad in Programming and Sports 大意: $n$个人, 第$i$个人编程能力$a_i$, 运动能力$b_i$, 要选出$p$个组成编程队, $s$个组成运动队, 每个队的收益为队员能力和, 求最大收益. 费用流做法很显然, 开两个点$X,Y$表 阅读全文
posted @ 2019-09-25 20:09 uid001
摘要:大意: 给定数组$a$, 求划分为$m$段的最少费用 第$i$段费用$c_i$为异或和, 总的费用为每段费用的或和 从高位到低位贪心, 若第$i$位$1$的个数为奇数, 费用一定会加上$2^i$. 否则的话, 可以求出所有可以分割的位置个数, 若不少于$m$则可以不用增加费用. 阅读全文
posted @ 2019-07-05 20:51 uid001
摘要:显然存在一个最优解满足所有青蛙在连续的一段, 每次由最左侧青蛙跳向下一格. 然后二分或者双指针即可求出答案. 阅读全文
posted @ 2019-05-26 23:19 uid001
摘要:大意: 给定数$n$, 求将$n$划分为最少的斐波那契数的和或差. 每次取相邻$n$的斐波那契数一定最优, 考虑证明. 结论1:存在一个最优解,使得每个斐波那契数使用不超过1次.(考虑$2F_n=F_{n-2}+F_{n+1}$) 结论2:存在一个最优解,使得同号数不相邻, 异号数间隔$\ge 2$ 阅读全文
posted @ 2019-05-20 18:26 uid001
摘要:大意: 给定$m$个有序对$(a,b)$, 求构造一个$n$排列, 满足$m$个对中$a$均排在$b$前, 且$1$尽量靠前, 在$1$尽量靠前的前提下$2$尽量靠前,....以此类推. 答案为反向拓排的最大字典序. 阅读全文
posted @ 2019-05-05 18:08 uid001
摘要:大意: 给定n个不相交的圆, 求将n个圆划分成两部分, 使得阴影部分面积最大. 贪心, 考虑每个连通块, 最外层大圆分成一部分, 剩余分成一部分一定最优. 阅读全文
posted @ 2019-04-25 20:37 uid001
摘要:大意: 给定树, 有k个黑点, 初始满足条件:所有点到最近黑点距离不超过d, 求最多删除多少条边后, 使得原图仍满足条件. 所有黑点开始bfs, 贪心删边. 阅读全文
posted @ 2019-04-23 08:41 uid001
摘要:大意:给定后缀表达式, 每次操作可以添加一个字符, 可以交换两个字符的位置, 相邻数字可以看做一个整体也可以分开看, 求合法所需最少操作数. 数字个数一定为星号个数+1, 添加星号一定不会更优. 先判断若星号过多, 直接在最左边添上数字, 遍历过程中若星号还多的话把星号与右侧数字交换. 阅读全文
posted @ 2019-04-21 14:30 uid001
摘要:大意: 一个未知严格递增数组$a$, 给定每个数的数位和, 求$a[n]$最小的数组$a$ 阅读全文
posted @ 2019-04-18 20:28 uid001
摘要:大意: 给定序列, 求划分为若干段, 使得总贡献最大, 每段的贡献为max-min 可以发现最优解一定是连续一段递增或递减, 然后dp即可. 阅读全文
posted @ 2019-04-06 19:08 uid001
摘要:大意: 给定序列$a$, 每次任选$a_i$删除, 得分$min(a_{i-1},a_{i+1})$(无前驱后继时不得分), 求最大得分. 若一个数$x$的两边都比$x$大直接将$x$删除, 最后剩余一个先增后减的序列, 然后按从大到小顺序删除 阅读全文
posted @ 2019-04-05 15:24 uid001
摘要:大意: 给定序列, 每次操作选择一个数+x或-x, 最多k次操作, 求操作后所有元素积的最小值 贪心先选出绝对值最小的调整为负数, 再不断选出绝对值最小的增大它的绝对值 阅读全文
posted @ 2019-03-25 22:41 uid001