贪心选讲-几个套路
凸性
CF1428E Carrots for Rabbits
给
个胡萝卜,再 次选出一个胡萝卜切一刀成俩,最小化最后所有胡萝卜平方和.
CF1661F Teleporters
给定数轴上
个点和 ,要再建立若干点,使得存在一条路径 的 .求最少再建几个点.
CF1344D Résumé Review
好像是咱们上面那个 Teleporters 啊.凸的-二分就做完了.
操作策略
1400E Clear the Multiset
给定
每个数的个数 ,每次给一个区间个数减1或对一个数减去任意,求清空次数.
1537E2. Erase and Extend (Hard Version)
给定一个字符串,可以任意多次删掉末尾字符或者把当前字符串复制一份接在后面,求能得到的字典序最小的,长度恰好为
的字符串.
CF37E Trial for Chief
给一个
黑白两色的网格图,要全染白,每次把一个连续颜色块反色,求最少次数.
无敌构造
CF1599A Weights
给定序列
和由 组成的长 字符串 ,两个集合 初始为空,要求给一个方案使得我们第 次选择一个数添加进去后集合 更大.
CF1158D Winding polygonal line
给定平面上
个点和 构成的长 的字符串,求一条不自交路径经过每一个点一次,且第 个点是在 到 的基础上忘 (左或右)的方向拐的.
上来排序
CF1601D Difficult Mountain
个人相约去爬山.
山的初始攀登难度为.
每位登山者有两个属性:技巧和整洁度 . 技巧为
的登山者能登上攀登难度为 的山当且仅当 .
在一位整洁度为的登山者登上攀登难度为 的山后,山的攀登难度会变为 . 请给这些登山者指定一个爬山的先后顺序,最大化登上山的人数.
如果轮到一位登山者时他能登上山,则他一定会选择登山.
CF1380G Circular Dungeon
简单题
在游戏中,有
个排列在环上的房间,第 个房间只能到达第 个房间(特别地,第 个房间只能到达第 个房间). 同时有
个宝箱,第 个宝箱的价值是 ,其中恰好有 个宝箱是假宝箱,其余均为真宝箱,每个房间有且仅放置一个宝箱. 玩家等概率地从
个房间中选取一个房间开始移动,如果当前房间有真宝箱,他将获得此宝箱的价值,否则立刻结束游戏.最后获得的总收益等于之前收集的宝箱的总价值. 对于每一个
,你可以决定宝箱的排列顺序和宝箱的真假,使玩家收益的期望值最小,请求出最小的期望值 .
次数忽悠
CF725E Too Much Money
给定常数
和 个整数,每个数只能用一次,求加到 的一个方案.求法是每次选择不超过 的最大的加进去,那么现在让你再添加任意多个数hack它,或者判断hack不掉,最小化添加的数的和.
CF1685C Bring Balance
给定一个括号序列,每次可以翻转一个区间,求最少的操作次数使得括号串合法.保证左右括号数量相等.
一摞序列
CF578E Walking!
给定长度为
的01串 ,构造一个排列使得 ,最小化排列的逆序对个数,输出方案.
「JOI 2013 Final」T4 JOIOI 塔
给定
三个字母组成的字符串 ,从中拿出若干的不交的 和, 子序列,最大化拿的数量总和.
不交是指不能选同一个字符两遍,但这种是可以取出来两个的,就是说可以跨越.
奇思妙想
CF1658F Juju and Binary String
给定一个长
01串,要从中选取若干个不相交子串,使得:
- 所有子串长度加起来为
- 所有子串拼起来后1的个数占总长的比与原字符串相等.
最小化你选的子串个数.输出方案.
CF1672H Zigu Zagu
给定一个长
01串, 次询问对于一个区间,若你每次可以删除这个区间的一个01相间子区间(没有00或11),那么最少要删多少次.