随笔分类 - 其它-贪心
摘要:Case 1 题意要求给出下面代码的答案然后构造输入。给一个图, n 个点 m 条边 q 次询问,输出所有点对之间最大权值最小的路径。 题解把每一个询问的输出看成一条边,建一棵最小生成树。 Case 3 题意给输出,要求构造输入使得用所给代码运行后得到的输出和给出的输出相同。所给代码:n 次 Di...
阅读全文
摘要:题意给定一个长度为n(1≤n≤500000)的序列ai(0≤ai≤1018),将它划分为m(1≤m≤n)段连续的区间,设第i段的费用ci为该段内所有数字的异或和,则总费用为$c_1 \ or \ c_2 \ or \ ...
阅读全文
摘要:题意N×M的网格,一开始在(1,1)每次可以向下和向右走,每经过一个有数字的点最多能将数字减1,最终走到(N,M)。问至少要走多少次才能将数字全部变为0。(N,M<=1000,ai,j<=106) 分析结论题QAQ,不会证明... 题解设$d(i...
阅读全文
摘要:题意给一个n个点带边权的树。有m次操作,每一次操作一个点x,如果x已经出现,则x消失。否则x出现。每一操作后,询问从某个点开始走,直到经过所有出现的点,最后再回到开始的那个点的最短路程。 分析首先容易知道我们选任意一个在某两点路径上的点作为起点都能得到最优解(包括端点)。我...
阅读全文
摘要:题意n(n≤1000000)个物品,颜色分别为a[i],现在要求排在一排使得相邻两个砖块的颜色不同,且限定第一个砖块和最后一个砖块的颜色,输出一个合法解否则输出 1。 分析贪心?反正我不会证明。 题解从左到右扫,每次放一个数量最多且合法的砖块,如果数量相同,优先放末尾的。 inc...
阅读全文
摘要:题意k(1≤k≤300)种物品,价值分别为ci(0≤ci≤1000)。有n(1≤n≤1000)分钟,每分钟可以选择一个物品i,价值为距离上次选择该物品的时间 ci。求最大价值。 分析发现对于一种物品,价值为$c_i \sum...
阅读全文
摘要:题意:给n个点,任选其中3个点(一个点只能取一次),求选出三个点的最大曼哈顿距离之和与最小曼哈顿距离之和(n<=10^5)。 题解:最大曼哈顿距离之和很好求,就是能包围所有点的经过三个点的矩阵周长。考虑最小曼哈顿距离之和。我们考虑一个点,那么另外两个点会有两种分布。由于对称性,我们只考虑当前枚举的...
阅读全文
摘要:题意n(n<1000000)个人,每个人i指向一个人pi,如果轮到i了且他没死,则他会将pi打死。求一种顺序,问死的人最少和最多的数目。 分析贪心+乱搞 题解最多剩下的:链:(n+1)/2环:n/2环套内向树:维护没被杀的点,即用队列维护入度为0的点,然后环变成了一堆链...
阅读全文
摘要:题意长度为n(1≤n≤1000000)的账单,+表示存1,表示取1,任意时刻存款不会为负。初始有p,最终有q。每一次可以耗时x将某位取反,耗时y将最后一个移到最前面,求最小耗时使得账单正确。 分析首先很显然最终+和的数目是可以确定的。所以我们...
阅读全文
摘要:题意给定n个砝码和m(1≤n,m≤100000)个背包(1≤ni,mi≤1000000000),保证对于任意两个砝码都有一个是另一个的正整数倍,求最多拿走多少砝码。 分析砝码的种类不会超过30种。小的肯定在大的前面放。 题解分出s种种类后...
阅读全文
摘要:题意n个黑点n个白点(2≤n≤50000),需要一一配对,使得白点在黑点的右下角,且曼哈顿距离和最小。题目保证有解。 分析考虑最优解,我们可以交换任意一个配对,答案不变。所以只要是可行解那么得到的就是最优解。 题解所以我们只需要求一下和即可,复杂度O(n) inc...
阅读全文
摘要:题意给定一个长度为2n(1≤n≤500000)的序列,1~n各出现两次,可以交换相邻两项,两个同样的数放在一起会对消,求把所有数对消的最小交换次数。 分析如果有一对在另一对之间,则这一对肯定要在另一对前面消除。否则答案不变。 题解维护一个栈存储第一次出现的数,然后如果新...
阅读全文
摘要:题意二维平面上有n(2≤n≤1000000)个点,可以花费wi交换第i个点的横纵坐标。求在满足能覆盖所有点的最小矩阵周长最短的情况下花费最小。 分析这题太神了。有一个结论是,所有点都会交换到y=x线的同一侧。 题解所以我们暴力就行辣。 include <bits...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2563题意:给一个n个加权点m条加权边的无向图,两个人轮流拿走一个点,最后使先手得分-后手得分尽量大。一个人的得分等于拿到的点的点权和+边的两个端点在这个点集的边的边权和。(nusing namespa...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3712题意:n个瓶子,第i个瓶子里又g[i]克物质。m次操作,第i次操作把第a[i]个瓶子的东西全部倒到第b[i]个瓶子里(保证之后不出现a[i])。k种反应,其中c[i]和d[i]反应,而且如果一个瓶...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3105题意:k堆火柴,先手和后手在第一次拿的时候都能拿若干整堆火柴(但不能拿完),之后和nim游戏规则一样。问先手是否必胜且第一次最少拿多少能保证必胜。(kusing namespace std;typ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1854题意:n个数据,每个数据有两个属性,要求取一些数据且每个数据取一个属性使得组成连续的一段单调递增的数(从1开始),求最大能连续到多少。(nusing namespace std;const int...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3850题意:类似国王游戏....无意义..#include #include #include #include #include #include #include #include #include...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1043唯一让我不会的就是怎么求圆的周长并QAAQ...然后发现好神!我们可以将圆弧变成[0,2π]的直线!然后一定要注意!起点是(1,0)(单位圆)首先学了余弦定理...在三角形AB...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3709很水的题。。。但是由于脑洞小。。漏想了一种情况。。首先显然能补血的先杀。。然后杀完后从补血越多的杀。。(这点我之前考虑错了QAQ)正确性显然。。。。。。。。#include #include #i...
阅读全文