ABC383E
题意 个点 条边的简单连通无向图,每条边有一个权值,定义一条路径的权值为这条路径上所有边的最大权值,定义 为点 到 的所有路径上最小路径权值。 给两个长度为 的序列 ,你可以任意排列 最小化 。输出最小值。 题解由于是最小化最大值问题,并且显然不能二分,考虑贡献法。 首先按照边权从小到大排序,依次加入图中,如果在加入途中已经可以保证两个分别来自 的点联通,则当前加入的边一定...
题意 个点 条边的简单连通无向图,每条边有一个权值,定义一条路径的权值为这条路径上所有边的最大权值,定义 为点 到 的所有路径上最小路径权值。 给两个长度为 的序列 ,你可以任意排列 最小化 。输出最小值。 题解由于是最小化最大值问题,并且显然不能二分,考虑贡献法。 首先按照边权从小到大排序,依次加入图中,如果在加入途中已经可以保证两个分别来自 的点联通,则当前加入的边一定...
原题链接 题意给定一个长度为 的序列 ,问有多少个好的划分。 一个大小为 的好的划分定义为将 划分为 个部分(最后一部分可能少于 个数),每个部分内部都单调不降。 现在有 次修改,每次修改将 修改为 ,计算修改前和每次修改后好的分区的数量。 题解首先一个容易得到的性质是,如果一个数 满足条件,则 的所有因数均满足条件。 同时两个数 满足条件,则 也满足条件。 这提示...
原题链接 题意给一个长度为 (且 为奇数) 首尾相连的数组 ,每次操作你可以将 分别加上 注意 时, 指的是 ,同理, 时, 指的是 。 请你找出一个操作序列,即每个位置上需要操作几次,将 中所有元素变成相同值。 题解设第 个位置上需要操作 次,最后得到的值为 ,则有: 作差分可得即 ,由于 已知,记为 ,再将正负两两组合,即 ,再令 ,则 。 显然有...
原题连接tag: 树形dp, 贪心, *2100 题意给定一棵大小为 的树,每个节点都有一个海狸,每次去到一个结点必须取走一个海狸,如果目的节点的值为0则无法前往,最多能够取走多少个海狸。 题解首先可以发现每个子树如果能够最优显然问题就一定是最优解,所以联想到树形 dp。设 为从 出发,在其子树中的最优解。 考虑状态转移,父节点的 dp 值显然是由子树的贡献加上到达子树所产生的贡献(因...
原题连接 tag: DP 题意 个订单,分别在 天下达。 最多有 个订单可以同时发货 订单 只能在 天或之后发货 每次发货要 天后才能再次发货 每个订单的不满意度为实际发货时间 与订单下达时间之差,即 。 求所有订单的不满意度之和的最小值。 题解
A. Max Plus Size题意求奇数位之和和偶数位之和的最大值 题解略 代码1234567891011121314151617181920212223242526272829303132333435#include <bits/stdc++.h>using ll = long long;void solve(){ int n; std::cin >>...