2237: [NCPC2009]Flight Planning Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 55  Solved: 27[Submit][Status][Discuss] Description S航空公司在N座城市之间有N-1条航线,航线是双向的.任意两座城市都是可以互相到达的,但是可能需要在一些城市换乘不同的航线. 目前有人抱怨要到达有些城市需要换乘太多次,S航空公司为了缓解这一现状,决定取消目前的一条航线,添加另一条航线,…
题意 \(n(1 \le n \le 2500)\)个点的树,求删掉一条边再加上一条边使得还是一棵树,且任意两点最大距离最小. 分析 考虑枚举删掉每一条边,我们只需要考虑如何加边容易求得新树的最大距离. 当然是直径的一半咯. 题解 枚举每一条边,然后求两个连通块的直径,然后最大距离\(=max(len1, len2, (len1+1)/2+(len2+1)/2+1)\) #include <bits/stdc++.h> using namespace std; const int N=2505…
5578 咸鱼  时间限制: 1 s  空间限制: 128000 KB   题目描述 Description 在广袤的正方形土地上有n条水平的河流和m条垂直的河流,发达的咸鱼家族在m*n个河流交叉点都建立了城市.然而,由于河流有单一的流向,而咸鱼们却没有发达的下体,所以只能顺流而下.两两河流之间的流向互不影响. 现在,咸鱼冒险家Sorey决定出发去看看这个世界,但是Sorey担心自己可能被困在某个城市而无法回归自己的家乡.于是Sorey夜观天象,搞清楚了每条河的流向,他想请你帮他判断他的旅途是否…
BZOJ_1367_[Baltic2004]sequence_结论题+可并堆 Description Input Output 一个整数R Sample Input 7 9 4 8 20 14 15 18 Sample Output 13 HINT 所求的Z序列为6,7,8,13,14,15,18. R=13 神题.有一个结论:最优解一定是把序列分成m块,每块取中位数,并使得取出的序列递增. 不会证?https://wenku.baidu.com/view/20e9ff18964bcf84b9d…
Description 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家), 最近他 想起了小时候在江南玩过的一个游戏.     在过去,人们是要边玩游戏边填词的,比如这首<菩萨蛮>就是当年韦庄在玩游戏时填 的:     人 人 尽 说 江 南 好, 游 人 只 合 江 南 老.     然而我们今天不太关心人们填的词是什么,我们只关心小 Z 那时玩过的游戏.游戏 的规 则是这样的,给定 N 堆石子,每堆石子一开始只有 1 个.小 Z 和他…
题目描述 给出一个长度为 $\frac{n(n+1)}2$ 的直尺,要在 $0$ 和 $\frac{n(n+1)}2$ 之间选择 $n-1$ 个刻度,使得 $1\sim \frac{n(n+1)}2$ 中任意一个长度都可以由某两个刻度(包括 $0$ 和 $\frac{n(n+1)}2$ )之间的距离表示出来.问是否有解. $n\le 2500$ 题解 结论题 结论:当且仅当 $n\le 3$ 时有解. 神TM结论... 证明: 由于只有 $C_{n+1}^2=\frac{n(n+1)}2$ 种选…
题目描述 给出一张 $n$ 个点 $m$ 条边的无向连通图,每条边的边权为1.对于每个点 $i$ ,问是否存在另一个点 $j$ ,使得对于任意一个不为 $i$ 或 $j$ 的点 $k$ ,$i$ 到 $k$ 的最短路与 $j$ 到 $k$ 的最短路之差为定值.求所有满足条件的点 $i$ . $n\le 100000,m\le 200000$ 题解 结论题+Hash 结论:$i$ 满足条件,当且仅当满足三个条件之一: 1. 点 $i$ 的度数为1:2. 点 $i$ 与一个度数为1的点相连:3. 存…
题目描述 给出两个长度为 $n$ 的排列 $A$ 和 $B$ ,如果 $A_i>A_{i+1}$ 则可以交换 $A_i$ 和 $A_{i+1}$ .问是否能将 $A$ 交换成 $B$ . 输入 输入数据第一行包含一个正整数 $n$ . 接下来两行每行 $n$ 个正整数,分别描述排列 $A$ 和排列 $B$ . 输出 对于每组数据,如果存在这样的指令序列,输出“YES”,否则输出“NO”(引号不输出,请注意大小写). 样例输入 54 1 2 5 31 2 4 3 5 样例输出 YES 题解 结论题…
题目描述 给出一棵n个点的树,求有多少个si使得整棵树可以分为n/si个连通块. 输入 第一行一个正整数N,表示这棵树的结点总数,接下来N-1行,每行两个数字X,Y表示编号为X的结点与编号为Y的结点相连.结点编号的范围为1-N且编号两两不同. 输出 一行一个整数Ans,表示所求的方案数. 样例输入 6 1 2 2 3 2 4 4 5 5 6 样例输出 3 题解 结论题 结论:k可行当且仅当子树大小是k的倍数的节点数有n/k个. 这结论好像挺显然的(只要你能想出来...) 然后就做完了...先预处…
题目描述 给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走.问至少走多少次才能将财宝捡完.此对此问题变形,假设每个格子中有好多财宝,而每一次经过一个格子至多只能捡走一块财宝,至少走多少次才能把财宝全部捡完. 输入 第一行为正整数T,代表数据组数. 每组数据第一行为正整数N,M代表网格图有N行M列,接下来N行每行M个非负整数,表示此格子中财宝数量,0代表没有 输出 输出一个整数,表示至少要走多少次. 样例输入 1 3 3 0 1 5 5 0 0 1 0 0 样例输出 10 题解…