随笔分类 - 其他——贪心/拟阵
摘要:https://codeforces.com/contest/1560/problem/F2 题意: 定义一个数字是k美丽的,当且仅当组成他的数字种类数<=k 给出数字n,求最小的>=n的k美丽数 贪心的思路 每次找出现第k+1种数字的位置 从这个位置开始往前找第一个不是9的位置,把它加1,后面的全
阅读全文
摘要:http://www.51nod.com/Challenge/Problem.html#problemId=2498 一开始贪心模拟过了,题解的思路比较好 设出现次数最多的任务出现了k次 因为冷却时间为n,我们称每n+1个任务为一轮 那么至少要执行k轮 如果除去一个出现次数最多的任务,剩下的任务能够
阅读全文
摘要:https://codeforces.com/problemset/problem/867/E 题意: n天,每一天股票市场的股票价格已知 每天可以买入一股,或者卖出一股,或者什么也不做 初始金钱无限,求最大收益 维护一个小根堆 对于每一天,若前面没有价格更低的,今日价格加入堆。 若前面有价格更低的
阅读全文
摘要:http://www.51nod.com/Challenge/Problem.html#problemId=1115 在V2的基础上,把首尾连起来 V2:https://www.cnblogs.com/TheRoadToTheGold/p/14635002.html 注意如果首尾是同符号,要合并成一
阅读全文
摘要:http://www.51nod.com/Challenge/Problem.html#problemId=1053 先把连续的正数合并,连续的负数合并,得到一段新的正负交错的序列 然后选上新序列里所有的正数 如果选的正数个数<=m,直接输出 否则,就需要 扔掉正数 或者 选择负数(即合并2个正数)
阅读全文
摘要:https://www.luogu.com.cn/problem/P1792 把P1484的线性结构改为了环形结构 P1484题解:https://www.cnblogs.com/TheRoadToTheGold/p/14629602.html 原本就是双向链表,环形只需要连接首尾即可。 注意特判无
阅读全文
摘要:https://www.luogu.com.cn/problem/P1484 最近这个“反悔贪心”出现频率有点儿高。。。 如果选2堆: 如果a[x]是最大的,那么a[x−1]和a[x+1]要么都不选,要么扔掉a[x]之后同时选。 证明: 假设没选最大的a[x],选了$a[x-1]
阅读全文
摘要:https://ac.nowcoder.com/acm/contest/12606/E 在贪心的基础上运用类似于单调栈的思想 从前往后考虑每个数 假设当前的答案序列为ans[] 考虑极端情况下有无数个数,那么只要现在的数比答案序列的最后一个更小,那么把答案序列的最后一个换成现在的数会更优 当答案序列
阅读全文
摘要:题意: 有n个时间段可以铸剑,每个时间段都有不同的工作效率(即铸一把剑所需的时间)。 铸剑开始后只有这把剑完成后才能去下一把 问最多可以铸多少把剑 有一道经典贪心题 线段覆盖 区间上有若干个线段,选取不重叠的最多的线段 做法是按右端点排序,贪心选取 这道题如果把每个时间段都分解成若干个长为工作效率的
阅读全文
摘要:https://ac.nowcoder.com/acm/contest/3007/A 我为什么发这篇?因为我又双叒叕做麻烦了 唉。。菜鸡不但难题不会,简单题做麻烦 传说中的上不上去,下不下来。。。 这题可以贪心啊贪心啊贪心啊 显然最大的K对一定是A中最大的K对和B中最大的K对两两配对 然后A正着和B
阅读全文
摘要:https://ac.nowcoder.com/acm/problem/201596 贪心: 1、数字位数尽可能的少,所以尽可能平均分数字长度 2、数字高位尽可能的小 所以如果有s个加号,m个1—9的数字,就分成s+1个数字,其中有m%(s+1)个数字位数为m/(s+1)+1,剩余的数字位数为m/(
阅读全文
摘要:https://www.luogu.com.cn/problem/P1248 考虑2个产品,分别是 Ai Bi,Aj Bj 如果顺序是先i后j 若Bi>Aj,则用时为Ai+Bi+Bj 若Bi<Aj,则用时为Ai+Aj+Bj 所以先i后j用时为 Ai+max(Bi,Aj)+Bj 同理先j后i用时为 A
阅读全文
摘要:解为基环树森林 证明其具有拟阵的性质: 1、空集独立 2、基环树森林的子集仍然是基环树森林,满足遗传特性 3、对于基环树森林A,B,若|A|<|B| (边数),一定可以找到一条边e∈B,∉A,使A∪e仍然是基环树森林,满足扩充特性 扩充特性证明: 枚举A中的联通块 1、若A中这个联通块的边数<B中对
阅读全文
摘要:http://codeforces.com/problemset/problem/954/E 式子变成Σ xi*(ti-T)=0 sum0表示>=T的ai*ti之和 sum1表示<T的ai*ti之和 那么如果sum0<sum1,所有ti>=T的ai全加上 那么现在的Σ xi*(ti-T)>=0 考虑
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3174 按a+b从小到大排序,a+b小的在上面,先考虑让它逃出去 正确性不会证 感性理解一下,最后一个可以达到的最高高度为a+b,显然它越大越能逃出去 f[i][j] 表示前i个逃出去j个后,剩余的最大
阅读全文
摘要:https://www.luogu.org/problemnew/show/P2326 按位贪心 找到最高位&1的数,确定次高位的时候只从最高位&1的数里选 此次类推 题目描述 “I have a pen,I have an apple.Eh,Apple-Pen!. I have a pen,I h
阅读全文
摘要:http://codeforces.com/contest/484/problem/A 题意: 询问[a,b]中二进制位1最多且最小的数 贪心,假设开始每一位都是1 从高位i开始枚举, 如果当前数>b,且减去1<<i后仍>=a,就减1<<i 当当前数在[a,b]之间时,输出 因为从高位开始减,所以保
阅读全文
摘要:https://loj.ac/problem/6030 如果矩阵第i列有一个黑色, 那可以用他把第i行全都染黑,也可以使任意一列具有黑色 然后就可以用第i行把矩阵染黑 染黑一列的代价最少是1 染黑一行的代价最少是 白点数+(这一列是否有黑色) 如果没有黑色的话还需要1的代价 使这一列有黑色
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1034 从小到大排序后 最大得分: 1、自己最小的>对方最小的,赢一场 2、自己最大的>对方最大的,赢一场 3、自已最小的=对方最大的,平一场 4、输一场 最小得分: 总分-对方最大得分 #includ
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1029 把任务按截止时间从小到大排序 如果当前时间+当前任务耗时<=当前任务截止时间,把这个任务耗时放到大根堆里,ans++ 否则 如果堆顶>当前任务耗时,删除堆顶,把这个任务耗时放到大根堆里 #inc
阅读全文