摘要: 题意:给出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 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一颗树,F(L, R) 是区间L-R的所有的节点形成的森林的联通分量个数,求 ∑∑F(L,R)。 题解:森林联通分量=总节点数-总边数目,对于所有的区间,总边的数目,可以考虑每一条边对答案的贡献,即在多少区间内出现过。 #include <bits/stdc++.h> #define IO 阅读全文
posted @ 2020-08-08 10:43 N_Yokel 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题意:n段木棍,每个长度为a[i],求切割K次后,使得的最长的木棍长度最短,输出此时最长的木棍长度。n<2e5,k<1e9 题解:切割次数越多,切割后的长度越短,满足单调性,可二分切割后,最长的木棍不大于多少,check判断切割次数是否小于K次即可。 #include <bits/stdc++.h> 阅读全文
posted @ 2020-08-08 10:23 N_Yokel 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题意:给出长度为n的序列a,选出k个数字使得连乘积最大,输出取模mod。n<2e5,a[i]<1e9 题解:从小到大排序,k为奇数先取一个最大的,之后就是比较开头两个的乘积和结尾两个乘积的大小,注意当k为奇数的时候,且a全部为负数的时候分开讨论一下,还有就是需要先取模再乘积,会爆long long 阅读全文
posted @ 2020-08-08 10:06 N_Yokel 阅读(195) 评论(0) 推荐(0) 编辑