2016年10月2日

HDU 2473 Junk-Mail Filter 并查集,虚拟删除操作

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2473 给定两种操作 第一种是合并X Y 第二种是把X分离出来,就是从原来的集合中分离出来,其它的关系不变。 关键是怎么分离,可以考虑把它变成一个其它值。HASH[i] = other_val 然后用新值去做并查集 阅读全文

posted @ 2016-10-02 22:54 stupid_one 阅读(204) 评论(0) 推荐(0) 编辑

C. Destroying Array 并查集,逆向思维

摘要: 用并查集维护线段,从后往前枚举没个删除的位置id[i] 那么,现在删除了这个,就是没有了的,但是上一个id[i + 1]就是还没删除的。 然后现在进行合并 int left = id[i + 1];(相当于每次都加入一个元素a[left]) 它在这个位置,如果能和左右的合并,就是左右邻居都有元素,那 阅读全文

posted @ 2016-10-02 15:53 stupid_one 阅读(216) 评论(0) 推荐(0) 编辑

D. Time to Raid Cowavans 分块暴力,感觉关键在dp

摘要: http://codeforces.com/contest/103/problem/D 对于b大于 sqrt(n)的,暴力处理的话,那么算出每个的复杂度是sqrt(n),就是把n分成了sqrt(n)段, 其他的,b小于sqrt(n)的,那么不同 b值最多只有sqrt(n)个,但是询问可能达到q个。考 阅读全文

posted @ 2016-10-02 13:32 stupid_one 阅读(207) 评论(0) 推荐(0) 编辑

HDU 5908 Abelian Period 可以直接用multiset

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=5908 要求把数组分成k组使得每组中的元素出现次数相同 就是分成k个集合,那么直接用multiset判定就可以 有重载相等运算符的 我被坑了的就是, 对于2个元素一个集合的可以,那么,4,6,8这样分集合也是可以的 阅读全文

posted @ 2016-10-02 01:04 stupid_one 阅读(170) 评论(0) 推荐(0) 编辑

导航