随笔分类 - 贪心
摘要:从源到每一个人连一条容量为 1 的边。 从每一个导师到汇连一条容量为导师战队人数的边。 第一问我们依次枚举每一个学员,然后再依次与第 1至 m 志愿的老师连边,如果与第 i 志愿的导师连边跑最大流使得最大流改变,说明找到了一个导师与自己对应。自己的最小的能实现的志愿就是 i 。如
阅读全文
摘要:重点是如何找到可以配对的a[i]和a[j]。 把a[i]分解质因数。设a[i]分解出的质因数的数量为cnt[i]。 设a[i]≥a[j] 那么a[i]可以和a[j]配对需要满足a[i]%a[j]==0&&cnt[i]==cnt[j]+1 证明显然。
阅读全文
摘要:能推出一些性质。 矩形肯定是全部躺着或全部立着比较优。 如图x1显然等于x2,y1显然小于y2。 所以我们就让它们都躺下吧。 然后一定有一组的宽为宽最小的矩形的宽。 然后我们枚举另一组的宽最小的矩形。(当然宽在最小的矩形和枚举的矩形之间的矩形都跟宽最小的矩形一组) 之后就只剩下长的影响了。 假设现在
阅读全文
摘要:没学过最小割树的出门左转。 我们已经知道了两点的最小割就是最小割树上,对应两点之间路径的权值的最小值。 找到最小割树中权值的最小的边。 那么一定是先选完一侧的点在选完另一侧的点。 因为当前边最小,那么左右横跳的贡献最小(比在一侧内跳的贡献小)。 所以一直递归下去就行了。 cpp include in
阅读全文
摘要:建出Trie树然后求出一个点子树中有多少笔名和真名。然后贪心匹配即可。 cpp include include include include include using namespace std; const int N=810000; int ans,n; char s[N]; struct
阅读全文
摘要:3790: 神奇项链 Description 母亲节就要到了,小 H 准备送给她一个特殊的项链。这个项链可以看作一个用小写字 母组成的字符串,每个小写字母表示一种颜色。为了制作这个项链,小 H 购买了两个机器。第一个机器可以生成所有形式的回文串,第二个机器可以把两个回文串连接起来,而且第二个机器还有
阅读全文
摘要:题意 n天。第i天上午会进货Ai件商品,中午的时候会有顾客需要购买Bi件商品,可以选择满足顾客的要求,或是无视掉他。 如果要满足顾客的需求,就必须要有足够的库存。问最多能够满足多少个顾客的需求。 (n<=250000) 题解 一看就知道是贪心。 我们把选择的每一天扔到一个堆里,按Bi从大到小排序。
阅读全文
摘要:题意 给你n次测试的得分情况b[i]代表第i次测试的总分,a[i]代表实际得分。 你可以取消k次测试,得剩下的测试中的分数为 问分数的最大值为多少。 题解 裸的01规划。 然后ans没有清0坑我半天。 1 #include<iostream> 2 #include<cstring> 3 #inclu
阅读全文
摘要:题解 二分时间 然后一个显然的事是一个军队向上爬的越高它控制的点越多 所以首先军队尽量往上爬。 当一个军队可以爬到根节点我们记录下它的剩余时间T和它到达根结点时经过的根节点的子节点son。 当一个军队爬不到根节点时我们就让它控制它可以爬到的最高点。 然后我们把爬到根节点的军队按T从小到大排序。 然后
阅读全文