【2020五校联考NOIP #7】道路扩建】的更多相关文章

题面传送门 题意: 给出一张 \(n\) 个点 \(m\) 条边的无向图 \(G\),第 \(i\) 条边连接 \(u_i,v_i\) 两个点,权值为 \(w_i\). 你可以进行以下操作一次: 选择两条边 \(i,j(i<j)\),并令 \(w_i:=w_i+w_j\). 求你可以得到的最短路的最大值. \(n,m \in [1,3 \times 10^5]\) 很明显,你可以预处理出每条边的边权可以增加的最大值 \(add_i\). 显然答案满足单调性,考虑二分答案. 需检查使得存在一条边…
题意: 给出 \(n\) 个数 \(a_1,a_2,\dots,a_n\),你要进行 \(m\) 次操作,每次操作有两种类型: \(1\ p\ x\):将 \(a_p\) 改为 \(x\). \(2\ y\):求 \(\sum\limits_{i=1}^ny/a_i+y\%a_i\). \(1 \leq n,m \leq 10^5,1 \leq a_i \leq 2 \times 10^5\). 一道水水的 T2. 考虑整除分块,不同的 \(y/a_i\) 最多只有 \(2\sqrt{20000…
题目传送门 题意: 有一个 \(n \times m\) 的矩阵,里面已经填好了 \(k\) 个非负整数. 问是否能在其它 \(n \times m-k\) 个格子里各填上一个非负整数,使得得到的矩阵满足以下条件: 在任意一个 \(2 \times 2\) 的子矩阵中,左上角的数 \(+\) 右下角的数 \(=\) 右上角的数 \(+\) 左下角的数. 如果可以输出 Zibi 否则输出 Zikai. \(n,m,k \in [1,10^5]\) 考虑探究这个矩阵有什么性质.假设有一个 \(3 \…
题面传送门 原题题号:Codeforces 883D 题意: 有 \(n\) 个位置,每个位置上要么有一条狗,要么有一根骨头,要么啥都没有. 现在你要给每个狗指定一个方向(朝左或朝右). 朝左的狗可以到达它左边的所有位置,朝右的狗可以到达它右边的所有位置.它们的速度均为 \(1\) 格\(/s\) 如果一个格子上有骨头,那么最先到达这个格子上的狗可以吃掉这个骨头. 求最多能吃掉多少个骨头,以及最少需要多长时间才能达到这个局面. \(n \in [1,10^5]\) 显然,如果只有 \(1\) 只…
题面传送门 题意: 对于一个长度为 \(n\)(\(n\) 为偶数)的排列 \(p\),定义一次"变换"后得到的排列 \(p'\) 为: \(p'_i=\begin{cases}p_{(i+n+1)/2}&&i \nmid 2\\p_{i/2}&&i\mid2\end{cases}\) 设函数 \(f(i)\) (\(i\) 为偶数),如果长度为 \(i\) 的排列 \(p_j=j\) 经过 \(i\) 次变换恰好第一次回到原样,那么返回 \(i\),否…
题面传送门 原题题号:Codeforces Gym 101821B 题意: 给出一个排列 \(p\),要你找出一个最长上升子序列(LIS)和一个最长下降子序列(LDS),满足它们没有公共元素.或告知无解. \(1 \leq n \leq 5 \times 10^5\). wxh 太强辣!wxhtxdy! 首先可以发现一个小性质,那就是原序列任意一个 LIS 和 LDS 至多只有 \(1\) 个公共元素. 假设它们有 \(2\) 个公共元素 \(p_i,p_j(i<j)\),由于 \(p_i,p_…
题面传送门 题意: 数轴上有 \(n\) 个点,现在要在它们之间连 \(m\) 条边,第 \(i\) 条边连接 \(a_i,b_i\) 两个点. 现在你要钦定每条边连在数轴的上方还是下方,使得任意两条边要么不相交,要么只在线段顶点处相交:或者宣告无解. 注:两条边 \((l_1,r_1),(l_2,r_2)\) 的条件是 \(l_1<l_2<r_1,r_2>r_1\) 或 \(l_1<r_2<r_1,l_2<l_1\). \(n,m \in [1,10^5]\). 话说…
题意: 给出一个 \(k \times k\) 的网格和 \(n\) 次操作.其中 \(k\) 为奇数. 每次操作给出一个数 \(m\).每次你要找出一个三元组 \((x,l,r)\) 使得: \(r-l+1=m\) \((x,l),(x,l+1),(x,l+2),\dots,(x,r)\) 都未被访问过. \(\sum\limits_{i=l}^r|x-\frac{k+1}{2}|+|y-\frac{k+1}{2}|\) 最小.换句话说,\((x,l),(x,l+1),(x,l+2),\dot…
咕咕咕到现在~ 题面传送门 题意: 给出一个 \(n\times n\) 的矩阵 \(A\).要你求有多少个 \(n\times n\) 的矩阵 \(B\) 满足: 每一行都是 \(1\) 到 \(n\) 的排列. 对于任意 \(1\leq i\lt n\),\(1\leq j\leq n\),\(B_{i,j}\neq B_{i+1,j}\) 定义 \(f(A)\) 为矩阵 \(A\) 从上到下,从左到右拼接而成的序列,即 \(f(A)_{(i-1)\times n+j}=A_{i,j}\),…
题目 分析 我们考虑,当现在有一个合法的集合时,如何往里面增加一个点,使这个集合仍然合法. 假设现在有一个合法的集合, 那么当我们加入一个点,它的道路穿过来整个集合,那么 然后搞一遍最长下降子序列就可以了. #include <cmath> #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> const int maxlongint=2147483…