
算法竞赛经典题目
文章平均质量分 79
收藏了一些算法竞赛中出现的典题
Auto114514
摆烂ing
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces Round 946 (Div. 3) G. Money Buys Less Happiness Now(反悔贪心)
则需要进行反悔操作。从大根堆里面取出最大的。和一个大根堆,大根堆记录用了哪些。我们先尝试获得当前月的幸福,在每个月的月末,我们让。最终的答案即为大根堆中。我们维护当前拥有的钱。原创 2024-10-28 19:24:51 · 1148 阅读 · 0 评论 -
洛谷P3045 [USACO12FEB] Cow Coupons G(堆,反悔贪心)
这里,每一个物品用优惠卷节省的钱可以使用优先队列。个最小的优惠假,再考虑如何反悔。表示一个已经使用了优惠卷的物品,表示一个未购买的物品。表示现在用了多少钱,如果要换成用原价购买。原创 2024-09-27 13:19:22 · 917 阅读 · 0 评论 -
Codeforces Round 891 (Div. 3) G题 Counting Graphs(最小生成树,快速幂维护加权方案数)
考虑将给出的树的边按照权值从小到大排序,并模拟最小生成树的过程。算法在每次合并两个连通块的过程中,会浪费掉两个连通块大小乘积。最后,用快速幂维护枚举每条边时可行方案数的乘积即可。被浪费掉的边,可以选择的权值为。(因为有不选的情况,所以要。当前枚举的这条边的权值。原创 2024-09-23 17:26:48 · 588 阅读 · 0 评论 -
洛谷P2014 [CTSC1997] 选课(树上背包)
显然,父节点的信息可以由子节点合并得到并且不会影响子节点。首先,我们发现,如果0算一个节点的话,整张图就是一棵树。因此本题转化成了经典的01背包问题。时可以获得的最大学分。个子节点,背包容量为。原创 2024-09-22 17:36:12 · 595 阅读 · 0 评论 -
Educational Codeforces Round 67 E题 Tree Painting(换根dp)
再考虑父节点的方向的贡献,也就是图中红圈中的部分。号节点孩子的贡献,也就是图中绿圈中的点,答案为。如果枚举每一个点来计算答案,时间复杂度为。号节点相连的子树都会产生贡献,也就是。,会超时,因此我们考虑使用换根。数组从父节点向子节点进行转移。号节点为根的子树,其他与。原创 2024-09-22 13:59:51 · 735 阅读 · 0 评论 -
洛谷P1640 [SCOI2010] 连续攻击游戏(二分图,匈牙利算法,时间戳)
因为每件装备只能用一次,如果把攻击序列建成点,则本题可以看成是装备和攻击顺序的二分图匹配,因此可以采用匈牙利算法进行求解。因此我们可以打上一个时间戳来避免超时。原创 2024-09-20 21:31:47 · 458 阅读 · 0 评论 -
2022年ICPC杭州站K题(字典树)
将输入的字符串依次插入到字典树中。我们发现,在插入字符串时,我们可以用当前正在插入的字符对应节点的。数组之后,对于每一个询问,我们只需要根据新的字典序和。表示在字典树中,新增字符为。本题考虑使用字典树。时,该字符所在节点的。原创 2024-09-18 20:39:43 · 1082 阅读 · 0 评论 -
Codeforces Round 613 (Div. 2) D题 Dr. Evil Underscores(Trie上树形dp)
如果点u只有一个儿子,那么我们需要构造的数x的第k位就选这个儿子代表的数(0/1),这样在异或之后就可以相互抵消。假设点u的儿子表示的是第k位,那么点u的儿子的就是:左儿子这边的数第k位上是1,右儿子这边的数第k位上是0。如果点u有两个儿子,那么我们需要构造的数x的第k位无论选什么都会有。原创 2024-09-14 14:29:15 · 969 阅读 · 0 评论 -
洛谷P3466 [POI2008] KLO-Building blocks(双set动态维护中位数)
P3466 [POI2008] KLO-Building blocks - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)在线维护中位数,大于等于中位数的放到一个set里,小于中位数的放到另一个set里。如果两个set大小不同就调整一下。注意,n=1时需要特判。原创 2024-09-13 18:35:46 · 404 阅读 · 0 评论