题解
文章平均质量分 70
Melon_Musk
qwqwqwqwqwq
展开
-
题解 P2052 【[NOI2011]道路修建】
道路修建题面题面描述给出一棵树,告诉你每条边对答案的贡献为边两边联通块大小差的绝对值乘上边权,让你求出所有边的贡献之和。如果没有听懂的话也可以继续看下面的分析。分析样例是这样的一颗树可以手推一下这个例子让你更清楚的理解题意。由于考虑每条边上的贡献仅由边权和边两边的联通块大小确定,而我们只要知道任意一边的联通块的大小,通过 n-联通块大小 即可得知另一块连通块地大小。所以我们使用sizeisize_isizei记录以i为根的子树的大小,那么一条边上的贡献就是disti,j∗∣size[i原创 2021-01-03 13:56:05 · 237 阅读 · 0 评论 -
CF626C Block Towers
CF626C Block Towers 题面写完发现这题题解里没有我的做法,感觉这个做法更简单实用,故分享给大家。分析因为每个人的塔的高度要不相同,假设只有 2 层 2 层往上搭的话,那么很显然每个人只要都比前面的人多搭 2 层即可,所以n个人搭的高度为 2 * n 。只有 3 层往上搭的同理,高度为 3 * m。我们记 n 个 2 层 2 层往上搭的人的总高度为 sum1 , m 个 3 层 3 层往上搭的人的总高度为 sum2 。所以一开始我们先令 sum1 = 2 * n , sum2原创 2021-01-03 13:55:07 · 168 阅读 · 0 评论 -
CF1219G Harvester 题解
CF1219G Harvester 题解(从luogu上搬过来了!)[Harvester题面]个人感觉这题在绿题范围题面描述n * m的网格中,在第i行j列有a[i][j]个泡泡,每次可以收割一行或一列的泡泡,最多可以收割4次,问最多可以收割到多少泡泡。分析1.错误的想法①拿到题面,我首先的思路是一个简易的模拟:直接读入二维数组,首先用前缀和统计每一行和每一列的总和for(ll i=1;i<=n;i++){ for(ll j=1;j<=m...原创 2021-01-03 13:52:06 · 1985 阅读 · 2 评论