并查集
lych4o
这个作者很懒,什么都没留下…
展开
-
URAL 1003 并查集
有一个01串,给出K次询问,每次回答区间[l,r]中1的个数是奇数还是偶数,找出第一次产生矛盾的地方,如果没有输出K题解:把端点看成0~x的前缀和sum[x], 就可以得到向量关系sum[r]-sum[l-1]= odd/even, 转化为带权并查集处理#include #include #include #include #include #include #include原创 2018-01-29 14:25:01 · 167 阅读 · 0 评论 -
Codeforces Round #492 (Div. 1) C - Leaving the Bar
题意:给出n个向量,令一些向量反向使得所有向量的和的长度不超过1.5e6,其中每个向量长度不超过1e6,n <= 1e5分析:任选三个向量,他们本身和他们的反向中总能选出两个相互夹角大于120°的向量,这样就可以让向量长度减少,每次选出三个做即可,实现时用一个集合表示某些向量的和,并用带权并查集维护是否反向#include<bits/stdc++.h>#def...原创 2018-08-23 19:36:00 · 154 阅读 · 0 评论