摘要:"题目链接" 问题分析 首先可以想到,坐标和为奇数的位置可以被唯一确定。同样的,如果假定$(1,2)$是$0$,那么坐标和为偶数的位置也可以被唯一确定。这样总共使用了$n^2 3$次询问。 那么接下来就需要在$3$步之内判断是否要翻转坐标和为偶数的位置。 如果仅仅只是这样简单的判断: c print 阅读全文
posted @ 2019-09-07 13:37 chy_2003 阅读 (35) 评论 (0) 编辑
摘要:"题目链接" 问题分析 直接按边从小到大加入,求所有的连通点对数量即可。最后离线询问。使用并查集维护Size。 参考程序 c include using namespace std; const int Maxn = 200010; const int MaxAlpha = 200000; stru 阅读全文
posted @ 2019-09-07 10:29 chy_2003 阅读 (15) 评论 (0) 编辑
摘要:"题目链接" 问题分析 题目实际上是一堆大于等于的约束。观察这$2n 2$个约束。第一组可以将要求的排成一个不降的序列,然后第二组就是在第一组的基础上再添加条件。 不妨设第一组生成的不降序列是$\{a_i\}$,然后添加的条件是$a_i\leqslant a_j$。那么显然,$ij$,就代表着$i$ 阅读全文
posted @ 2019-09-07 10:02 chy_2003 阅读 (58) 评论 (0) 编辑
摘要:"题目链接" 问题分析 由于三个字母是等价的,所以大致可以分为如下几种情况: aa, ab ab, ac ab, ba ab, bc 不难发现,第$3$中情况可能造成无解($n 1$时),而剩下的情况都可以由$aaabbbccc$或$abcabcabc$这样的串解决。所以直接枚举$3$个字母的全排列 阅读全文
posted @ 2019-09-07 08:26 chy_2003 阅读 (39) 评论 (0) 编辑