随笔分类 - 题解-codeforces
摘要:题意 给出一棵树,对于k=1\~n求最大点集S满足dis(i,j)=k或k+1(i,j∈S & i≠j) 题解 首先答案满足ans[i] =ans[i+2],因此可以维护后缀 分类讨论 ①k=1 最大点集为最大度数+1 ②k为奇数 考虑一个中心点u,那么点集S满足任意一个在S中的点到u的距离为(k
阅读全文
摘要:D 题意: 一个有向图,每次可以选两条边权为u和v的边a b,c d(u,v 0),把a b,c d减min(u,v),把a d,c b加min(u,v) 求一种变化后的情况,使得总剩余边权和最小 题解: 可以发现无论怎样操作,每个点的 总入 总出 是不变的 所以求出 总入 总出 ,用负的向正的连边
阅读全文
摘要:题目描述 给出一个类似这样 的图,求删掉最多的黑边使得每个特殊点和至少一个节点1连通 保证上下两棵树都存在一种dfs序使得访问特殊点的顺序为1\~n 题解 设f\[i][j]表示上面的树最后一个特殊点为i,j同理的最小选取数 每次加上lca max(i,j)+1的路径,由于题目保证了dfs顺序,所以
阅读全文
摘要:题目大意 一棵树,每个节点的权为L[i]\~R[i],一棵树的贡献为$\sum\limits_{h_{i} = h_{j}, 1 \le i include include include include define fo(a,b,c) for (a=b; a=c; a ) define add(
阅读全文
摘要:E 给出三个序列共n个元素,每个元素值为1\~n且不重 一次可以把一个元素换到另一个序列中,求最少操作次数使得三个序列(可为空)分别排序后并在一起为1\~n顺序 题解 (伪)神仙题 随便dp,依次考虑每个数放在那里 由于要保证最终的顺序,所以放的序列的编号要单调 f\[i][0/1/2],第i个放在
阅读全文
摘要:题目描述 k组数,每组ni个,数互不相同 把每组数中的一个移到其他组(或者不移动),使得最终每组数的个数不变且总和相等 k include include include include define fo(a,b,c) for (a=b; a=c; a ) using namespace std;
阅读全文
摘要:题目大意 有一个n个点的完全图,上面有m条边的权值为1,其余为0 求MST n,m include include include include include define fo(a,b,c) for (a=b; a=c; a ) define max(a,b) (a b?a:b) using
阅读全文
摘要:~~我好菜啊~~ A 题意: 定义p 二进制数为2^k p,给出n和p,求用最小个数的p 二进制数来表示n 1=0 显然当k超过30后,如果不满足则之后也不满足 ②p include include include include define fo(a,b,c) for (a=b; a=c; a
阅读全文
摘要:题目描述 给出n,p,w,d,求(x,y,z)使得 x w+y d=p x+y+z=n 其中d include include include include define fo(a,b,c) for (a=b; a=c; a ) using namespace std; long long n,p
阅读全文

浙公网安备 33010602011771号