
并查集
Lzed
我好菜啊
展开
-
Codeforces731C-Socks(并查集)
题目链接http://codeforces.com/contest/731/problem/C思路只要两只袜子同时穿,那么就放进一个集合里面,最后统计一下每个集合里面出现颜色最多的,这样这个颜色就可以不改变,这个集合里面的其他袜子全部变成这个颜色细节统计每个集合里面的出现最多的颜色的时候,如果直接用数组来统计会爆内存,于是用的数组+map代码#include <iostream>#include原创 2016-10-22 20:21:27 · 406 阅读 · 0 评论 -
Codeforces722C-Destroying Array(线段树 or 并查集)
题目链接http://codeforces.com/contest/722/problem/C思路1. 线段树 其实就是线段树的区间并操作,对于每个节点,需要维护4个值,sumv[], suml[], sumr[], f[](分别代表当前区间的最大子区间和,当前区间的左端点到断点的区间和,当前区间的右端点到断点的区间和,以及f代表当前区间是否被分割过) 对于合并操作,见下图: 关键就是pu原创 2016-10-06 16:34:37 · 398 阅读 · 0 评论 -
Codeforces742D-Arpa's weak amphitheater and Mehrdad's valuable Hoses(分组背包+并查集)
题目链接http://codeforces.com/contest/742/problem/D思路首先,用并查集将有朋友关系的人分为一组,然后剩下的就是分组背包的问题了 分组背包 设有k个分组,每个分组内有一些物品(每个物品价值bib_i,重量wiw_i) 现在有一个背包,容量为v,要从这k组里面,每一组选一个或者一个都不选,求能选取的最大价值 状态表示d[k][j]d[k][j]:当前选原创 2016-12-07 21:26:25 · 375 阅读 · 0 评论