codeforce
虐猫Da人薛定谔
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #660 (Div. 2)C-Uncle Bogdan and Country Happiness(dfs+思维)
题目链接题目大意:给一个有N个结点的树,每个结点上都会有相应数量的工人居住,每天早上所有的工人都在根节点1,到了晚上,所有的工人都要一起回家,每个结点都有个快乐检查器,快乐值=快乐的人数-不快乐的人数,心情只能由快乐变为不快乐,再给N-1个快乐值h[i],问能否满足。解题思路:先假设当前结点开心的人数为good,不开心的人数为bad,所以可得式子good+bad=总人数,good-bad=h[i],联立两式可得2*good=(总人数+h[i]),所以总人数+h[i]必须是偶数,同时good必须小原创 2020-08-25 08:10:33 · 120 阅读 · 0 评论 -
Codeforces Round #665 (Div. 2) D-Maximum Distributed Tree(贪心+思维)
传送门题目大意:给一个N个点的树,这棵树必须满足3个条件:1.这棵树的边权的乘积为k ,2.要求所有两点的简单路径边权之和最大,3.使得边权1的数量最小。k 以质因子的形式给出,有m 个质因子解题思路:这题打比赛的时候只想到了质数怎么分配的,没有想到边的贡献怎么算,后来看了大佬的blog才知道的,Orz,其实你把一个树找个顶点dfs一遍,设size[i]为该结点子树的大小,那么该点与其父亲结点的边的贡献为size[i]⋅(n−size[i]),这样就将边的贡献求出来了,质数的分布则需要分两种情况原创 2020-08-24 00:58:18 · 86 阅读 · 0 评论 -
Codeforces Round #656 E. Directing Edges
题目链接题目大意:给n个点和m条边,在接下来的m行输入t,x,y三个数,如果t==0则说明边是无向边,否则表示有向边,方向有x->y,问你能不能在保证图中无环的情况下,将无向边变成有向边,如果能输出YES,同时输出所有边,否则输出NO解题思路:在输入边的时候分别记录下有向边和无向边,如果是有向边,则存入vector中留着做拓扑排序,无向边则只需要记录下来,因为无向边对拓扑排序没有贡献,然后对图做一次拓扑排序,将每个点标记拓扑序,最后输出无向边的时候只要由拓扑序小的指向拓扑序大的即可代码原创 2020-07-29 14:48:13 · 115 阅读 · 0 评论 -
Codeforces Round #656 D. a-Good String(分治)
题目链接题目大意:给定一个字符串s,长度为2的幂次我们规定一个字符串叫做c-good,如果它满足以下任意一个条件1.字符串长度是1,只包含字母c2.字符串长度大于1,左半边都是c,右半边为(c+1)-good3.字符串长度大于1,右半边都是c,左半边为(c+1)-good解题思路:因为是2的幂次长度,所以可以用二分的思想,比较左区间和右区间需要变动的字符串长度大小,在递归至下一层。代码:#include<bits/stdc++.h>using namespace st原创 2020-07-26 20:43:11 · 72 阅读 · 0 评论 -
Codeforces1362 D. Johnny and Contribution(模拟)
链接:http://codeforces.com/contest/1362/problem/D解法:https://blog.csdn.net/weixin_44178736/article/details/106578025?fps=1&locationNum=2#include<bits/stdc++.h>using namespace std;const int N = 5e5+5;template <typename T>inline void rea原创 2020-06-06 10:50:54 · 268 阅读 · 0 评论 -
CF1343D Constant Palindrome Sum(差分数组)
题目链接:http://codeforces.com/contest/1343/problem/D题解:https://www.cnblogs.com/stelayuri/p/12749332.html原创 2020-04-25 15:00:38 · 165 阅读 · 0 评论