随笔分类 - acm / 贪心
摘要:贪心 + 构造 题意 有 个人,每分钟有一个人进入房间,房间里任意 3 个人可以组队开始工作并一直持续下去,且只要房间里至少有 3 个人,他们就可以在任意时间开始组队工作;每当一个人进来时,会给当前房间里没有在工作的人握手 给出数组 , 表示第 i 个人
阅读全文
摘要:建图,贪心 Problem - D - Codeforces 题意 给 q 个约束 , 求满足这 q 个约束的最小字典序的数组 a (保证有解) 思路 把 q 个约束中 i == j 的优先处理掉,即 a[i] = x,这些位置不再考虑 按位考虑,分别处理 30 位
阅读全文
摘要:贪心、逆序对 E - String Reversal 题意 给一个长度为 n 的字符串 s,(n <= 2e5), 把 s 反转后的字符串记为 s', 每次只可以交换相邻两个字符,求把 s 变为 s' 的最小次数 思路 可以从左到右枚举 s,对于当前位置 i,字符 a 要变成 字符 b,则较靠前的
阅读全文
摘要:Minimum Or Spanning Tree(代码源每日一题) Minimum Or Spanning Tree - 题目 - Daimayuan Online Judge 贪心,最小生成树 由于生成树的代价是各边权值的按位或,因此按位数从大到小贪心 若当前位能全用 0 边构成生成树就全用 0
阅读全文
摘要:D - String Deletion 贪心、链表 要想操作次数最大,设当前已经删到了第 i 个字符,那第一步操作就要找到 i 后面第一个有连续0/1的串,删掉其中一个 找到 i 后面第一个有连续0/1的串:将这些可以被删去的位置记录到 set 里,二分找到 i 后面第一个,找到了就删去 删去元素后
阅读全文
摘要:D - Pairs 贪心 猜想可行的情况是连续的,所以只需要求出 在某一对中是小的,的个数,的最小情况和最大情况即可 若求最大情况,从 1~2*n 枚举,设当前是第 个数 已经被之前的数匹配过了,continue 在 b 集合里,想让 答案 尽量
阅读全文
摘要:E - Gold Transfer 树上倍增 + 贪心 由于 , 所以一定是把结点祖先的黄金采完才会采这个结点的,因此某个点有无黄金这个性质具有单调性,靠近根的一侧没有,靠近叶子的有,所以可以倍增查到某个结点上方离根最近的有黄金的结点,从该点开始采 由于一个点被采完才会
阅读全文
摘要:C - Line Empire 贪心 每次征服一个国家之后,如果要将首都迁过来,显然之后迁不如现在迁 在征服第 i 个国家后,可利用前缀和 算出 迁或不迁 时征服之后国家的代价,若迁的代价小就迁,否则就不迁 #include <iostream> #include <cstring
阅读全文
摘要:Tokitsukaze and Good 01-String (hard version) 贪心 两个一组分成 个 01 段 当前这一组不相同,则操作数++,并且让这一组变成和上一组一样的,段数不变 当前这一组相同,如果和上一组相同,段数不变;如果不相同,则段数++。更新
阅读全文