随笔分类 -  构造

摘要:Divisibility 我们考虑删数字 首先我们可以发现有一类数很特殊就是大于 n / 2的素数, 因为这些素数的贡献只有1, 并且在n大的时候, 这些素数的个数不是很少, 我们可以最后用这些数去调整, 并且删掉一个数的时候删掉的是它的因子个数, 所以可以用素数去控制最后的数量。当n小的时候直接状 阅读全文
posted @ 2019-04-07 01:09 NotNight 阅读(122) 评论(0) 推荐(0)
摘要:我发现我构造题真的不会写, 想了好久才想出来。。 我们先把n = 2, 所有数字相等, 所有数字等于0的都特判掉。 找到一个b[ i ] > b[ i - 1 ]的位置把它移到最后一个位置, 并且使其a[ i ] = b[ i ]然后从后往前构造。 阅读全文
posted @ 2019-02-23 18:44 NotNight 阅读(118) 评论(0) 推荐(0)
摘要:C - Upgrading Tree 我发现我构造题好弱啊啊啊。 很明显能想到先找到重心, 然后我们的目标就是把所有点接到重心的儿子上,让重心的儿子子树变成菊花图, 这个先把重心到儿子的边连到 i , 然后把 i 到 其 fa 的边连到重心的儿子上, 一直循环就好啦。 阅读全文
posted @ 2019-01-11 12:16 NotNight 阅读(187) 评论(0) 推荐(0)
摘要:D - Bags and Coins 思路:我们可以这样构造,最大的那个肯定是作为以一个树根,所以我们只要找到一个序列a1 + a2 + a3 .... + ak 并且ak为 所有点中最大的那个,那么我们a1, a2, a3..., ak-1 作为单独的点,其他没有涉及到的点套在ak的里面。 现在问 阅读全文
posted @ 2018-12-10 18:46 NotNight 阅读(217) 评论(0) 推荐(0)
摘要:F - Flow Control 给你一个有向图,要求你给每条边设置流量,使得所有点的流量符合题目给出的要求。 思路:只有在所有点的流量和为0时有解,因为增加一条边的值不会改变所有点的总流量和, 所以我们dfs回溯的时候构造就好了, 其他边设为0。 阅读全文
posted @ 2018-06-22 15:16 NotNight 阅读(135) 评论(0) 推荐(0)