随笔分类 -  acm / 贪心

摘要:贪心 + 构造 题意 有 n(1<=n<=2105) 个人,每分钟有一个人进入房间,房间里任意 3 个人可以组队开始工作并一直持续下去,且只要房间里至少有 3 个人,他们就可以在任意时间开始组队工作;每当一个人进来时,会给当前房间里没有在工作的人握手 给出数组 ai, 表示第 i 个人 阅读全文
posted @ 2022-09-22 17:14 hzy0227 阅读(21) 评论(0) 推荐(0) 编辑
摘要:建图,贪心 Problem - D - Codeforces 题意 给 q 个约束 a[i];|;a[j]==x, 求满足这 q 个约束的最小字典序的数组 a (保证有解) 思路 把 q 个约束中 i == j 的优先处理掉,即 a[i] = x,这些位置不再考虑 按位考虑,分别处理 30 位 阅读全文
posted @ 2022-08-29 17:20 hzy0227 阅读(14) 评论(0) 推荐(0) 编辑
摘要:贪心、逆序对 E - String Reversal 题意 给一个长度为 n 的字符串 s,(n <= 2e5), 把 s 反转后的字符串记为 s', 每次只可以交换相邻两个字符,求把 s 变为 s' 的最小次数 思路 可以从左到右枚举 s,对于当前位置 i,字符 a 要变成 字符 b,则较靠前的 阅读全文
posted @ 2022-08-14 19:18 hzy0227 阅读(30) 评论(0) 推荐(0) 编辑
摘要:贪心、扫描线思想 D - Permutation Restoration 题意 有 1n 的一个排列 ai, 给定 bi, 满足 bi=iai, 求 ai (n <= 5e5) 思路 先解出每一个 ai 的取值区间,然 阅读全文
posted @ 2022-08-14 14:12 hzy0227 阅读(26) 评论(0) 推荐(0) 编辑
摘要:Minimum Or Spanning Tree(代码源每日一题) Minimum Or Spanning Tree - 题目 - Daimayuan Online Judge 贪心,最小生成树 由于生成树的代价是各边权值的按位或,因此按位数从大到小贪心 若当前位能全用 0 边构成生成树就全用 0 阅读全文
posted @ 2022-06-13 15:02 hzy0227 阅读(20) 评论(0) 推荐(0) 编辑
摘要:D - String Deletion 贪心、链表 要想操作次数最大,设当前已经删到了第 i 个字符,那第一步操作就要找到 i 后面第一个有连续0/1的串,删掉其中一个 找到 i 后面第一个有连续0/1的串:将这些可以被删去的位置记录到 set 里,二分找到 i 后面第一个,找到了就删去 删去元素后 阅读全文
posted @ 2022-05-31 16:20 hzy0227 阅读(23) 评论(0) 推荐(0) 编辑
摘要:D - Pairs 贪心 猜想可行的情况是连续的,所以只需要求出 b[i] 在某一对中是小的,的个数,的最小情况和最大情况即可 若求最大情况,从 1~2*n 枚举,设当前是第 i 个数 i 已经被之前的数匹配过了,continue i 在 b 集合里,想让 答案 尽量 阅读全文
posted @ 2022-05-28 21:37 hzy0227 阅读(28) 评论(0) 推荐(0) 编辑
摘要:E - Gold Transfer 树上倍增 + 贪心 由于 ci>cpi, 所以一定是把结点祖先的黄金采完才会采这个结点的,因此某个点有无黄金这个性质具有单调性,靠近根的一侧没有,靠近叶子的有,所以可以倍增查到某个结点上方离根最近的有黄金的结点,从该点开始采 由于一个点被采完才会 阅读全文
posted @ 2022-05-16 22:09 hzy0227 阅读(39) 评论(0) 推荐(0) 编辑
摘要:C - Line Empire 贪心 每次征服一个国家之后,如果要将首都迁过来,显然之后迁不如现在迁 在征服第 i 个国家后,可利用前缀和 O(1) 算出 迁或不迁 时征服之后国家的代价,若迁的代价小就迁,否则就不迁 #include <iostream> #include <cstring 阅读全文
posted @ 2022-05-12 20:46 hzy0227 阅读(32) 评论(0) 推荐(0) 编辑
摘要:E - Math Test 拆绝对值 要求 i=1n|rixi| 的最大值,可以将绝对值拆开,对于每一个 i,若 ri>=xi, 设 sgn[i]=1. 否则设为 sgn[i]=1, \(\sum\limits_{i=1} 阅读全文
posted @ 2022-05-12 20:26 hzy0227 阅读(24) 评论(0) 推荐(0) 编辑
摘要:Tokitsukaze and Good 01-String (hard version) 贪心 两个一组分成 n2 个 01 段 当前这一组不相同,则操作数++,并且让这一组变成和上一组一样的,段数不变 当前这一组相同,如果和上一组相同,段数不变;如果不相同,则段数++。更新 阅读全文
posted @ 2022-05-12 20:03 hzy0227 阅读(84) 评论(0) 推荐(0) 编辑

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