摘要: 题意:高度为 i+1 的一棵 RDC 树可以由高度为 i 的一棵 RDC 树通过这样的规则构造出来:在高度为 i 的 RDC 中,对于只有一个孩子的节点,加上两个孩子节点,没有孩子的节点加上一个节点。问你高度为 h 的 RDC 树有多少个互不重叠的爪型的节点。 题解:高度为n的树,可以由一个高度为n 阅读全文
posted @ 2020-08-14 20:58 N_Yokel 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题意:给出u,v,分别表示数组a的异或和,和数组a的和。求构造出最短的数组a。u<1e18 题解:显然u>v || (u&1)!=(v&1)无解,u==v=0时,数组为空,u==v!=0时,数组长度为1,元素为u即可。开始考虑构造,0^u=u,可令x=(v-x)/2,则x x u 满足条件,当(x^ 阅读全文
posted @ 2020-08-08 15:45 N_Yokel 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一颗树,F(L, R) 是区间L-R的所有的节点形成的森林的联通分量个数,求 ∑∑F(L,R)。 题解:森林联通分量=总节点数-总边数目,对于所有的区间,总边的数目,可以考虑每一条边对答案的贡献,即在多少区间内出现过。 #include <bits/stdc++.h> #define IO 阅读全文
posted @ 2020-08-08 10:43 N_Yokel 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题意:n段木棍,每个长度为a[i],求切割K次后,使得的最长的木棍长度最短,输出此时最长的木棍长度。n<2e5,k<1e9 题解:切割次数越多,切割后的长度越短,满足单调性,可二分切割后,最长的木棍不大于多少,check判断切割次数是否小于K次即可。 #include <bits/stdc++.h> 阅读全文
posted @ 2020-08-08 10:23 N_Yokel 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题意:给出长度为n的序列a,选出k个数字使得连乘积最大,输出取模mod。n<2e5,a[i]<1e9 题解:从小到大排序,k为奇数先取一个最大的,之后就是比较开头两个的乘积和结尾两个乘积的大小,注意当k为奇数的时候,且a全部为负数的时候分开讨论一下,还有就是需要先取模再乘积,会爆long long 阅读全文
posted @ 2020-08-08 10:06 N_Yokel 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题意:给出长度为n的序列a,给出m组询问,问L-R区间的数字种类个数,离线询问。n<2e5,a[i]<1e6 题解:莫队模板,注意就是用奇偶性排序可加快,和block=n/sqrt(m*2/3)。复杂度:n*sqrt(n) 或者直接树状数组维护前缀和(颜色的总数),并用last数组标记上一个出现该颜 阅读全文
posted @ 2020-08-07 20:03 N_Yokel 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个长度为n的序列a【】,求选取一个长度为k的子序列b【】,使得val=min(max(b【i】(i%2==1)),b【i】(i%2==0)))的值最小,输出最小的val。n<2e5 题解:显然val必然是a【i】,val是取了一个min,不满足单调性无法二分,但是可以发现,令va=max 阅读全文
posted @ 2020-08-06 21:44 N_Yokel 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题意:长度为n的数组a,Va=Vb=0,先手选出一个a【i】xor Va,后手同理,,Va>Vb为胜利,给出a【】问必胜,必败还是平局。 题解:https://codeforces.com/blog/entry/80562 #include <bits/stdc++.h> #define IOS i 阅读全文
posted @ 2020-08-05 00:50 N_Yokel 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 题意:给出长度为n的字符串,和K,要求用这些字符构造最长的一个字符串的环满足顺时针旋转K次后和之前一样,求最长的长度。n<2e3 题解:暴力枚举K的所有因子为Ki,二分判断对于一个字符串环的它的循环次数最多是多少,L=1,R=N/Ki,满足条件即更新答案。 #include <bits/stdc++ 阅读全文
posted @ 2020-08-04 21:37 N_Yokel 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个长度为2*n的序列p(1-2*n的整数组成)问是否能由长度为n的a,b数组通过merge(a,b)构成数组p,merge是双指针放在a,b数组起点中,每次取出a[i], b[j]小的,对应指针右移,直到取完。n<2e3 题解:每次都是取出较小的,尝试通过以p【1】的递增序列对p序列划分 阅读全文
posted @ 2020-08-04 17:06 N_Yokel 阅读(209) 评论(0) 推荐(0) 编辑