随笔分类 -  Z - 基础 - 贪心

摘要:第$i$个数要放在第$a_i$个数的后面 有环无解 原思路: 连边,拓扑排序,只是每次弹出时弹$w_i$最大的 但这是错误的贪心思路,因为可能较小的后面都是很大的数 SOL: 还是连边,发现形成了一棵以0为根的树 当前权值最小的点$i$ 1. 若无父亲$a_i=0$,则直接选 2. 若有父亲,一定是 阅读全文
posted @ 2020-03-27 16:47 starusc 阅读(194) 评论(0) 推荐(0)
摘要:堆,贪心 k比较小,我们可以用一个 堆 维护,不断更新更大值 发现最大的伪光滑数的所有质因数相同(把一个合法的伪光滑数小的质因数全部换成最大的也满足式子,质因数个数,最大质因数,N均无变化) 堆维护,每次取出最大值,若最大质因数幂次大于1,就把其中一个最大质因数换成较小,再扔进堆里,这样枚举没有遗漏 阅读全文
posted @ 2020-03-26 10:51 starusc 阅读(71) 评论(0) 推荐(0)
摘要:数据范围: 1. $max(c_i) using namespace std; inline int read(){ int x=0,f=1;char c=getchar(); while(!isdigit(c)){if(c==' ')f= 1;c=getchar();} while(isdigit 阅读全文
posted @ 2020-03-25 16:05 starusc 阅读(146) 评论(0) 推荐(0)
摘要:网络流算法基于贪心 很容易想到最大费用最大流,但我们无法保证费用是非负的 因为每次的最长路都是在逐渐变小的,所以可以贪心 $dfs$是先不加费用,完了后根据流量看费用是否非负,如果变负数就贪心选尽可能多的的对数,不然继续 可以看$mcmf$函数,一下就明白了 小技巧:$cn_i$是$a_i$质因数分 阅读全文
posted @ 2020-03-24 11:21 starusc 阅读(155) 评论(0) 推荐(0)
摘要:并查集妙用 发现自己太菜,无法定义DP状态,只好用贪心 我们先从纵坐标小的开始贪(所在最大矩形宽度相对较小的) 题意是每个极大矩形只能留一个点,删除的最小,也就是留下的最大 我们选一个点一定是选其余点加起来都没有这个点优秀,选了这个点后,将这个点所在的极大矩形(找到左右第一个$A_i$大于此点的)的 阅读全文
posted @ 2020-03-23 22:27 starusc 阅读(214) 评论(0) 推荐(0)