随笔分类 -  题解-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 阅读全文
posted @ 2019-12-29 21:44 gmh77 阅读(285) 评论(0) 推荐(0)
摘要:D 题意: 一个有向图,每次可以选两条边权为u和v的边a b,c d(u,v 0),把a b,c d减min(u,v),把a d,c b加min(u,v) 求一种变化后的情况,使得总剩余边权和最小 题解: 可以发现无论怎样操作,每个点的 总入 总出 是不变的 所以求出 总入 总出 ,用负的向正的连边 阅读全文
posted @ 2019-12-29 21:32 gmh77 阅读(212) 评论(0) 推荐(0)
摘要:题目描述 给出一个类似这样 的图,求删掉最多的黑边使得每个特殊点和至少一个节点1连通 保证上下两棵树都存在一种dfs序使得访问特殊点的顺序为1\~n 题解 设f\[i][j]表示上面的树最后一个特殊点为i,j同理的最小选取数 每次加上lca max(i,j)+1的路径,由于题目保证了dfs顺序,所以 阅读全文
posted @ 2019-11-30 09:10 gmh77 阅读(216) 评论(0) 推荐(0)
摘要:题目大意 一棵树,每个节点的权为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( 阅读全文
posted @ 2019-11-28 19:57 gmh77 阅读(228) 评论(0) 推荐(0)
摘要:E 给出三个序列共n个元素,每个元素值为1\~n且不重 一次可以把一个元素换到另一个序列中,求最少操作次数使得三个序列(可为空)分别排序后并在一起为1\~n顺序 题解 (伪)神仙题 随便dp,依次考虑每个数放在那里 由于要保证最终的顺序,所以放的序列的编号要单调 f\[i][0/1/2],第i个放在 阅读全文
posted @ 2019-11-15 09:18 gmh77 阅读(227) 评论(0) 推荐(0)
摘要:题目描述 k组数,每组ni个,数互不相同 把每组数中的一个移到其他组(或者不移动),使得最终每组数的个数不变且总和相等 k include include include include define fo(a,b,c) for (a=b; a=c; a ) using namespace std; 阅读全文
posted @ 2019-11-07 16:43 gmh77 阅读(444) 评论(0) 推荐(1)
摘要:题目大意 有一个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 阅读全文
posted @ 2019-11-07 16:36 gmh77 阅读(247) 评论(0) 推荐(0)
摘要:~~我好菜啊~~ 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 阅读全文
posted @ 2019-11-01 21:56 gmh77 阅读(263) 评论(0) 推荐(0)
摘要:题目描述 给出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 阅读全文
posted @ 2019-10-25 16:25 gmh77 阅读(147) 评论(0) 推荐(0)