该文被密码保护。 阅读全文
posted @ 2021-09-07 23:11 hunxuewangzi 阅读(52) 评论(0) 推荐(3) 编辑
摘要: 题目链接 题目思路 其实问题就可以转化为$x*y$为平方数 就是把每个数的偶数个数的因子都去除掉,去除后的相同的数认为是一类。 然后最关键的是1秒后,类的大小为偶数的类,和全是1的类可以进行再次合并 因为类的大小为偶数的类,一秒之后这个类里面的因子数量又变为偶数了 代码 #include<bits/ 阅读全文
posted @ 2021-09-07 22:19 hunxuewangzi 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 感觉这个题目很神奇,想不到为什么这么写,但是确实又是正确的 感觉是属于我没见过的套路题 把向量延长一维,如果只有一个长度为1,那么就在最后那维变为1 然后相当于这两个点连边,求MST即可 代码 #include<bits/stdc++.h> #define fi first #d 阅读全文
posted @ 2021-09-07 20:25 hunxuewangzi 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 其实自己写出来了,但是写法实在是太搓了 其实现在问题就变成选取两个不相交的子区间$A,B$($A,B$可有一个为空)使得$C=A|B$ 注意$C$为一个集合 若$C$中的元素排完序后都是连续的,那么ans++ 直接枚举$[L,R]$作为$C$判断是否合法 我们就需要判断这些元素所 阅读全文
posted @ 2021-09-07 17:54 hunxuewangzi 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 可以转化问题为$\large\sum_{i=1}^{n} (x_i&x_1+x_i&x_2+...+x_i&x_n)*(x_i|x_1+x_i|x_2+...+x_i|x_n)$ 然后根据套路二进制求贡献即可 代码 #include<bits/stdc++.h> #define 阅读全文
posted @ 2021-09-07 17:43 hunxuewangzi 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 一个显然得性质如果$a$到$b$有一条长度为$len$的路径且$k>=len& (k-len)%2==0$即可 最主要的问题是多了一个环,其实就是多了一个中转点 那么总共三种路径 第一种:a->b 第二种:a->x x->y y->b 第二种:a->y y->x x->b 然后再 阅读全文
posted @ 2021-09-07 00:20 hunxuewangzi 阅读(36) 评论(0) 推荐(0) 编辑