
贪心
bifanwen
梦想是遥不可及而奇幻莫测的,它给我全部的力量,它把我叫醒。
展开
-
LOJ #2348. 「JOI 2018 Final」美术展览
博客园同步题目链接简要题意:nnn 个艺术品,分别有尺寸 AiA_iAi 和价值 BiB_iBi. 选定若干艺术品的“总价值”为 其价值之和减去尺寸的极差。极差即为最大值和最小值的差。求这个“总价值”的最大值。n≤5×105n \leq 5 \times 10^5n≤5×105,1≤Ai≤10151 \leq A_i \leq 10^{15}1≤Ai≤1015,1≤Bi≤109(1≤i≤n)1 \leq B_i \leq 10^9 (1 \leq i \leq n)1≤Bi≤109(1≤i≤原创 2020-10-03 21:53:47 · 383 阅读 · 0 评论 -
洛谷 P1025 数的划分 & LOJ #10018. 「一本通 1.3 例 1」数的划分
洛谷原题链接LOJ\text{LOJ}LOJ 原题链接愉快的三倍经验题。简要题意:给定 n,kn,kn,k,求将 nnn 分为 kkk 个有序正整数之和 的方案数。6≤n≤200,2≤k≤66 \leq n \leq 200 , 2 \leq k \leq 66≤n≤200,2≤k≤6.算法一搜索 + 剪枝。状态设计首先我们应当考虑,如何设计搜索状态。对本问题即以下的问题:如何保证和为 nnn?如何保证共 kkk 个数?如何保证有序?第一问,我们需要一个 sum,记录当前所选原创 2020-08-06 12:47:00 · 276 阅读 · 1 评论 -
P5514 [MtOI2019]永夜的报应 题解
博客园同步原题链接简要题意:给定一个长度为 nnn 的序列 aaa,你需要将其分为若干组,使得每一组的异或之和最小。求这个最小值。实际上这题是个结论题。先考虑一个问题:对于一个数 xxx,唯一的一组 SSS,你会选择 将 xxx 单分一组还是加入 SSS 呢?由于异或的结合律,所以我们可以抽象地假设一手,设 SSS 中所有元素的异或值为 mmm.这个问题就变成了,x+mx+mx+m 和 x⊕mx \oplus mx⊕m,哪个小?再抽象一手,a+ba+ba+b 和 a⊕ba \oplus ba原创 2020-08-01 19:20:05 · 388 阅读 · 0 评论 -
P5502 [JSOI2015]最大公约数 题解
博客园同步原题链接简要题意:给定一个长度为 nnn 的序列 aaa,求出其中一个子串 SSS,使得 ∣S∣×gcd(x∈S)|S| \times \gcd(x \in S )∣S∣×gcd(x∈S). 求这个最大值。给定一个长度为 nnn 的序列 aaa,求出一个区间 [l,r][l,r][l,r] 使得 (r−l+1)×gcdi=lrai(r-l+1) \times \gcd_{i=l}^r a_i(r−l+1)×gcdi=lrai 最大.求这个最大值。n≤105,1≤ai≤1012原创 2020-07-26 14:06:04 · 332 阅读 · 1 评论 -
P4145 上帝造题的七分钟2 / 花神游历各国 题解
博客园同步原题链接简要题意:给定一个长为 nnn 的序列 aaa,qqq 次操作:对 [l,r][l,r][l,r] 区间进行开平方操作。即 ai←⌊ai⌋(i∈[l,r])a_i \gets \lfloor \sqrt{a_i} \rfloor (i \in [l,r])ai←⌊ai⌋(i∈[l,r])…询问 [l,r][l,r][l,r] 区间的和。即 ai=lra_{i=l}^rai=lr 的和。n,q≤105n,q \leq 10^5n,q≤105, 1≤ai≤10121 \原创 2020-07-18 17:53:44 · 185 阅读 · 0 评论 -
CF1374B Multiply by 2, divide by 6 题解
博客园同步原题链接简要题意:TTT 组询问,给定一个数 nnn,每次你可以将当前的数 ×2\times 2×2 或者 ÷6\div 6÷6,问最少多少次操作可以将其变为 111. 无法变为 111 则输出 −1-1−1.T≤2×104,n≤109T \leq 2 \times 10^4 , n \leq 10^9T≤2×104,n≤109.首先我们考虑,什么时候无解。你会发现,对于一个数 nnn,我们 本质上的操作 只有 ÷3\div3÷3 和 ÷2\div2÷2 两种。因为,×2÷6=÷3\t原创 2020-07-05 11:47:36 · 375 阅读 · 0 评论 -
CF1326C Permutation Partitions 题解
博客园同步原题链接简要题意:给定一个 111 ~ nnn 的置换,将数组分为 kkk 个区间,使得每个区间的最大值之和最大。求这个值,和分区的方案数。关键在于 111 ~ nnn 的置换。显然,你只要把从 n−k+1n - k + 1n−k+1 到 nnn 这一段,每个区间分一个(其余的随便分)。显然可以得出第一个答案:(n−k+1)+(n−k+1)+⋯+(n−1)+n(n-k+1) + (n-k+1) + \cdots + (n-1) + n(n−k+1)+(n−k+1)+⋯+(n−1)+n原创 2020-06-15 18:56:35 · 380 阅读 · 0 评论 -
CF1324A Yet Another Tetris Problem 题解
优快云同步原题链接简要题意:再简要一波:每次可以把一个数增加 222,问最后能不能让所有数相等。(也就是抵消掉)什么?题意变成这样子还做个啥?你会发现,必须所有数的奇偶性都相同,才可以;反之就不可以。这结论不用证明了,因为每次增加不会改变奇偶性的。#pragma GCC optimize(2)#include<bits/stdc++.h>using namespace std;inline int read(){char ch=getchar();int f=1;wh原创 2020-06-15 18:51:34 · 313 阅读 · 0 评论 -
洛谷 P1199 三国游戏 题解
博客园同步原题链接简要题意:每两个武将都有一定的默契值。你和电脑轮流选择武将,电脑总会选择让你得不到最大默契值的那个武将;你要选择一种方法,使得你的最大默契值最大。如果会输给电脑则输出 000,否则输出 111 和那个最大的默契值。首先,人肯定比电脑聪明如果你抱着骗分的态度printf("0\n");然后你会得到一个完美的 0pt0pt0pt.也就是说,始终存在某种方案,使得人可以胜利!你会发现,电脑的选法是有些死板(但也有些道理)的,它总是会阻止你拿到最高的那个默契值。所以,每行最大原创 2020-06-15 18:47:46 · 280 阅读 · 0 评论 -
P1525 关押罪犯 题解
博客园同步原题链接简要题意:给定若干组关系,第 iii 组关系形如 “xxx 号罪犯和 yyy 号罪犯有 zzz 的矛盾”。现在共有两个监狱,在同一个监狱即会产生矛盾。问最小矛盾值。显然,考虑 并查集 维护。先按 zzz 从大到小排序,考虑一对对检验,不合法退出即可。本题我们要维护 不等关系,即 x≠yx \not = yx=y ,不能满足则答案为 zzz.不等关系如何维护?可以考虑一个 222 倍空间的方法.显然,本题中,如果 a≠b,b≠ca \not = b , b \not原创 2020-05-10 12:58:56 · 264 阅读 · 0 评论 -
P6523 「Wdoi-1」加密通信 题解
原题链接简要题意:给定一个数列 a1,a2⋯an−1a_1 , a_2 \cdots a_{n-1}a1,a2⋯an−1,求 任意一个满足以下条件的长度为 nnn 的质数数列 ans\text{ans}ans:ansi×ansi+1=ai\text{ans}_i \times \text{ans}_{i+1} = a_iansi×ansi+1=ai本题是某洛谷公开赛 T1T1T...原创 2020-05-05 11:35:49 · 401 阅读 · 0 评论 -
P1967 货车运输 题解
博客园同步原题链接简要题意:给定一个无向图,若干组询问问 x→yx \rightarrow yx→y 所有路径上最小权值的最大值。算法一对于 60%60\%60% 的数据,1≤n<103,1≤m<5×104,1≤q<1031 \le n < 10^3,1 \le m < 5\times 10^4,1 \le q< 10^31≤n<103,1≤m...原创 2020-05-01 17:24:43 · 498 阅读 · 0 评论 -
P6023 走路 题解
原题链接简要题意:小 AAA 为了防止猝死,在 nnn 天中准备走 ≤m\leq m≤m 步,给出若干奖励政策形如 “第 ppp 天走完 qqq 步,那么该天 接下来走的每一步 都会增加 111 分”;奖励可以累加。求最高分数。先庆祝一下:看到了吧,我在这题的评测排名中排 Rank6\text{Rank6}Rank6,98ms98ms98ms 可还行?首先本题就在于,每个政策都是对应 ...原创 2020-04-18 21:15:24 · 285 阅读 · 0 评论 -
CF1324B Yet Another Palindrome Problem 题解
博客园同步原题链接CF 127个测试点,好评简要题意:多组数据,问数组中是否有长度 ≥3\geq 3≥3 的回文子序列。我们需要找到本质。题目不让我们求这个长度,只让我们判断,这是为什么呢?如果答案是 YES,那么必然存在一个长度为 333 的回文子序列。否则为 NO.你想,如果原数组的最长回文序列是奇数的话,只要每次在两边同时删去一个,就可以得到长度为 333 的回文子序列。如...原创 2020-04-12 17:12:46 · 266 阅读 · 0 评论 -
P1627 [CQOI2009]中位数 题解
原题链接简要题意:给定一个 111 ~ nnn 的排列,求以 bbb 为中位数的 连续子序列且长度为奇数 的个数。显然这段序列包含 bbb.中位数的定义:排序后在最中间的数。算法一对于 30%30 \%30% 的数据,n≤100n \leq 100n≤100.由于这段序列一定包含 bbb,那么我们可以枚举区间 [i,j][i,j][i,j] 包含 bbb(有类似于双指针),然后单...原创 2020-04-11 11:42:03 · 288 阅读 · 0 评论 -
CF1324C Frog Jumps 题解
博客园同步原题链接简要题意:现在河面上有 n+2n+2n+2 块石头,编号 000 到 n+1n+1n+1,111~nnn 块石头每块上有一个方向,如果是 LLL,那么青蛙到这块石头上之后只能往左跳,如果是 RRR 只能往右,当然,第 000 块石头的方向是 RRR.现在青蛙要从 000 跳到 n+1n+1n+1,请问他应该怎么跳才能让他跳跃过程中跳跃距离最长的最小呢?输出这个距离。显然...原创 2020-04-08 18:26:47 · 326 阅读 · 2 评论 -
P2512 [HAOI2008]糖果传递 题解
原题链接简要题意:一开始每个人有若干糖果,每个人每次将 111 个糖果传递给 相邻(认为 111 号与 nnn 号也相邻)的一个人 需要 111 的代价。求让所有人的糖果一样的最小代价。显然,如果 111 号与 nnn 号不相邻,那就退化了成了 P1031 均分纸牌,但 理想是美好的,现实是残酷的,所以我们要着手环的问题。算法一破环为链。考虑在哪里把环切断,然后暴力跑均分纸牌的贪心。...原创 2020-04-08 17:13:10 · 322 阅读 · 0 评论 -
CF1324D Pair of Topics 题解
博客园同步原题链接简要题意:有两个数组 aia_iai,bib_ibi,求有多少组 ai+aj>bi+bj(i≠j)a_i + a_j > b_i + b_j (i \not = j)ai+aj>bi+bj(i=j).显然,纯暴力过不了这道题目。首先,我们显然的作差,让 ci=ai−bic_i = a_i - b_ici=ai−bi.那么,此时...原创 2020-04-08 08:21:53 · 282 阅读 · 0 评论 -
CF1327C Game with Chips 题解
博客园同步原题链接简要题意:每个点有起始目标和终点(二维)。要求每次将所有点向一个方向移动一次(四方向,若出界则不变),使得每个点均 经过 其终点。本题只要抓住本质,瞬间得解。你会发现,如果要求每个点最终在终点上,肯定大多数数据是无解。只要求经过即可。而且,不要求最少步数。所以,只要让每个点遍历棋盘即可。但是,每个点的起始点不同啊。所以,先把每个点移到左上角,然后遍历即可。妙...原创 2020-04-05 17:11:45 · 326 阅读 · 0 评论 -
CF1327D Infinite Path 题解
博客园同步原题链接太坑了我谔谔简要题意:求一个排列的多少次幂能达到另一个排列。排列的幂定义见题。(其实不是新定义的,本来就是这么乘的)很显然,这不像快速幂那样可以结合律。既然这样,就从图入手。将 iii 和 aia_iai 连边。此时图会形成若干个环,对每个环分别操作。下面讲一个环的操作。显然,对于一个环:对于 111 这个点,kkk 次幂就是在环上走 kkk 步。由于一...原创 2020-04-05 17:08:58 · 337 阅读 · 0 评论 -
P4147 玉蟾宫 题解
博客园同步原题链接简要题意:求最大 000 矩阵。(将字符转化为数字)本题是模板题,可以用来爆踩。???悬线法 来了!其中绿色是 000,红色是 111.下面以这个图为例讲一下算法流程。我们首先求出,以每个格子为最下面,往上堆积的最长的 000 条。则所有格子的值为:0 0 1 00 1 2 11 2 3 20 0 0 0下面,对每一行,求以这一行为底的最大矩阵。...原创 2020-04-05 17:06:31 · 363 阅读 · 1 评论 -
流言的传播 题解
本人并没有找到本题链接,抱歉。(纯属个人练习题,非本人原创)因此把题目内容 暂时 存放于 洛谷私人题库 中。原题链接简要题意:找到一个最小的边集EEE,使得对任意一个 不等于全集 的点集 SSS,恰好只有一个顶点在 SSS 里的边中 权值最小的那一条 在边集 EEE 中。很显然,我们需要对 ai→bia_i \rightarrow b_iai→bi 连一条权值为 TiT_iTi 的边...原创 2020-04-05 16:58:13 · 377 阅读 · 0 评论 -
P3916 图的遍历 题解
博客园同步原题链接简要题意:求从每个点开始,可以到达的编号最大的点。我们只要发现一条性质,这题就变得挺简单了。你想,如果从每个点开始走,分别遍历,肯定是不科学的。因为是有向图,所以当前点 xxx 能到达的最大编号 yyy,我们反向建图,yyy 一定也能走到 xxx.而且,所以能走到 yyy 的点,反向建图之后,yyy 都能走到它们;如果不能走到 yyy 的点,反向建图后,yyy 也不能...原创 2020-04-05 09:59:35 · 1557 阅读 · 4 评论 -
P5022 旅行 题解
原题链接简要题意:给定一棵树(或基环树),每个节点只能至多回溯一次,求遍历整棵树的最小字典序。基环树概念:树多一条边,即树上出现且仅出现一个环。作为 NOIP2018 Day2 T1\texttt{NOIP2018 Day2 T1}NOIP2018 Day2 T1,确实有些难度。不过我们从部分分开始想。对于 60%60 \%60% 的数据,给定的是...原创 2020-04-04 18:51:48 · 550 阅读 · 3 评论 -
Vijos1579 宿命的PSS 题解
原题链接简要题意:给定一棵树,求 边权的最小的完全图,使得该完全图的最小生成树为给定的树。首先,我们回忆一下:求 最小生成树 不外乎两个算法:prim\texttt{prim}primkruskal\texttt{kruskal}kruskal它们都是基于贪心的一种算法(只不过选边顺序略区别)。按照它们的思想来说,每次选一个边权最小的端点属于不同连通块的连接,用并查集维护连通块 ...原创 2020-04-04 14:14:52 · 262 阅读 · 0 评论 -
Vijos1234 口袋的天空 题解
原题链接简要题意:求把一个图分成 kkk 个连通块并连接连通块的最小价值。一种类似于 prim\texttt{prim}prim 贪心的做法。即用 并查集 维护当前节点所属连通块。然后按边权从小到大排序选择,只要两个节点 连通块不同,就 将它们变成同一个连通块 。用一个变量记录选过的 权值和边数 。最终看能不能选到 kkk 个即可。时间复杂度:O(n+m)O(n+m)O(n+m).(...原创 2020-04-03 21:43:42 · 1100 阅读 · 1 评论 -
P1969 积木大赛 题解
博客园同步原题链接简要题意:每次把一段区间 +1+1+1,问得到 aaa 数组的最小次数。我们可以把 +1+1+1 得到 aaa 换成,从 aaa 依次 −1-1−1 得到 000.算法一每次求出最小值,然后所有数减掉它。这样归并下去。时间复杂度: O(n2)O(n^2)O(n2).实际得分:70pts70pts70pts.算法二用线段树维护最小值和区间修改。时间复杂度:O...原创 2020-04-03 11:36:03 · 447 阅读 · 0 评论 -
P5020 货币系统 题解
博客园同步原题链接简要题意:求一个长度最小的货币系统与给出的货币系统等价。求这个货币系统的长度。等价的定义详见题目,不再赘述。本文可能用到一些集合论,请放心食用。算法一n=2n=2n=2 时,只需判断两个数的倍数关系。有倍数关系则答案为 111,否则为 222.时间复杂度:O(T×n)O(T \times n)O(T×n).实际得分:15pts15pts15pts.算法二n=3...原创 2020-04-03 11:33:41 · 474 阅读 · 3 评论 -
P5021 赛道修建 题解
博客园同步原题链接简要题意:在一棵树上求 mmm 条不相交的路径的最小值的最大值。本题部分分很多,而且本人也交了 272727 次,所以一定要仔细讲部分分!算法一对于 bi=ai+1b_i = a_i + 1bi=ai+1 的数据,你发现这是一条链。也就是说,对这部分数据,题目简化为:将一个数组分为不相交的若干区间,使得它们权值和的最小值最大。一看,最小值最大,就是二分答案。...原创 2020-04-03 11:27:51 · 301 阅读 · 0 评论 -
P5663 加工零件 题解
博客园同步原题链接简要题意:给定一个图,每次询问从 xxx 节点开始,yyy 步能不能达到 111 号节点。算法一这也是我本人考场算法。就是 深搜 。因为你会发现,如果 xxx 用 y%2y \% 2y%2 步能到 111 节点,那肯定 yyy 步能到。原因是:剩下的 y−y%2y - y \% 2y−y%2 是偶数,只要重复走一条边多次即可。我们用 fi,0/1f_{i,0/1}...原创 2020-04-03 11:23:07 · 463 阅读 · 0 评论 -
CF1332A Exercising Walk 题解
原题链接简要题意:多组数据,每次起点为 x,yx,yx,y,需要上走 aaa 步,下走 bbb 步,左走 ccc 步,右走 ddd 步,问每次的坐标 x,yx,yx,y 是否均能满足 x1≤x≤x2x1 \leq x \leq x2x1≤x≤x2 且 y1≤y≤y2y1 \leq y \leq y2y1≤y≤y2.因为没有规定走的顺序,所以我们采用这样的策略:尽量让 a,ba,ba,b 抵...原创 2020-04-03 10:32:26 · 351 阅读 · 0 评论 -
CF1332D Walk on Matrix
原题链接90个测试点好评简要题意:求一个矩阵走过的最大 &\&& 和(只能往右、下走),然后有这样一个程序:initialize dpi,j←0,for all 0≤i≤n,0≤j≤m,except dp0,1←a1,1\texttt{initialize} \space dp_{i,j} \gets 0 , \texttt{...原创 2020-04-03 09:54:59 · 318 阅读 · 0 评论 -
P6270 [SHOI2002]取石子游戏 题解
博客园同步原题链接POJ链接简要题意:双方轮流拿石子,共两堆石子,每次可以拿去一堆中的任意个或者两堆中的相同多个。先走方是否一定能获胜(失败)?博弈论经典:威佐夫博弈 模板题。显然,我们用 PPP 态表示必败态,AAA 态表示必胜态,用 fx,yf_{x,y}fx,y 表示两堆分别为 xxx 个和 yyy 个的状态。显然:fx,y∈(A,P)f_{x,y} \in \bigg( A...原创 2020-04-02 20:44:29 · 263 阅读 · 0 评论 -
P2821 变幻数 题解
博客园同步原题链接简要题意:一个数把各位数字乘起来得到另一个数。已知另一个数,求最小的“一个数”。首先,你发现,假设答案为 mmm ,给定 nnn ,那么此时 mmm 的各位数字之积为 nnn.既然已知 nnn,那么我们就应该分解 nnn.比方说,18=2×918 = 2 \times 918=2×9,那么答案就是 292929.再比方说,250=2×53250 = 2 \times...原创 2020-04-02 11:43:10 · 283 阅读 · 0 评论 -
CF701B Cells Not Under Attack 题解
博客园同步原题链接简要题意:在棋盘上放若干个车,车可以攻击到同行同列的棋子。求放完每个车后,不被攻击的棋子个数。洛谷 题解 里说要用 set\text{set}set 维护,但本人觉得,可以做到线性解决问题!其实,你可能觉得,O(n×m)O(n \times m)O(n×m) 模拟一下就行啊!模拟方法大致是:一开始答案为 n2n^2n2,每放一个车,横竖扫一遍,如果没有被标记过(标记...原创 2020-04-01 20:14:28 · 251 阅读 · 0 评论 -
P4753 River Jumping 题解
原题链接简要题意:一条宽度为 LLL 的河上有若干石头,每次只能在石头上跳跃(一开始从 000 开始跳),且跳跃距离的下限为 SSS.问能否一个来回将所有石头(包括河对面的那块)全跳一遍;如果能,则输出方案。算法一二分。注意到,我们可以对 跳跃上限 进行二分。然后贪心地,每次跳 在下限之上离自己最近的 一块石头。当然如果 这块石头距离超过上限 说明当前验证无解。然后记录答案即可。...原创 2020-04-01 16:20:34 · 211 阅读 · 0 评论