![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Acwing题解
文章平均质量分 68
1
zzqwtc
blog dot zzqwtc dot com
展开
-
Acwing 1175.最大联通子图(tarjan缩点求scc)
Acwing 1175.最大连通子图题意一个有向图 G=(V,E)G=(V, E)G=(V,E) 称为半连通的 (Semi-Connected),如果满足: ∀u,v∈V\forall u, v \in V∀u,v∈V ,满足 u→vu \rightarrow vu→v 或 v→uv \rightarrow uv→u ,即 对于图中任意两点 u,vu, vu,v ,存在一条 uuu 到 vvv 的有向路径或者从 vvv 到 uuu 的有向路径。若 G′=(V′,E′)G^{\prime}=\left(原创 2021-11-25 18:29:26 · 4090 阅读 · 0 评论 -
Acwing 1174.受欢迎的牛(tarjan求有向图强连通分量 + 缩点)
Acwing 1174. 受欢迎的牛题意每一头牛的愿望就是变成一头最受欢迎的牛。现在有 NNN 头牛,编号从 1 到 NNN ,给你 MMM 对整数 (A,B)(A, B)(A,B) ,表示牛 AAA 认为牛 BBB 受欢迎。 这种关系是具有传递性的,如果 AAA 认为 BBB 受欢迎, BBB 认为 CCC 受欢迎,那么牛 AAA 也认为牛 CCC 受欢迎。 你的任务是求出有多少头牛被除自己之外的所有牛认为是受欢迎的。思路先用tarjan算法求出强连通分量并缩点,缩点后构成一个有向无环图(DAG原创 2021-11-24 20:12:00 · 3307 阅读 · 0 评论 -
Acwing 1170. 布局 (差分约束)
Acwing 1170. 布局题意当排队等候喂食时,奶牛喜欢和它们的朋友站得靠近些。农夫约翰有 NNN 头奶牛,编号从 111 到 NNN,沿一条直线站着等候喂食。奶牛排在队伍中的顺序和它们的编号是相同的。因为奶牛相当苗条,所以可能有两头或者更多奶牛站在同一位置上。如果我们想象奶牛是站在一条数轴上的话,允许有两头或更多奶牛拥有相同的横坐标。一些奶牛相互间存有好感,它们希望两者之间的距离不超过一个给定的数 LLL。另一方面,一些奶牛相互间非常反感,它们希望两者间的距离不小于一个给定的数 DDD原创 2021-10-29 20:25:25 · 3081 阅读 · 0 评论 -
Acwing 362.区间(差分约束)
Acwing 362.区间题意给定 nnn 个区间 [ai,bi]\left[a_{i}, b_{i}\right][ai,bi] 和 nnn 个整数 ci 。 c_{i \text { 。 }}ci 。 你需要构造一个整数集合 ZZZ, 使得 ∀i∈[1,n],Z\forall i \in[1, n], Z∀i∈[1,n],Z 中满足 ai≤x≤bia_{i} \leq x \leq b_{i}ai≤x≤bi 的整数 xxx 不少于 cic_{i}c原创 2021-10-29 20:03:19 · 3143 阅读 · 0 评论 -
Acwing 1169.糖果 (差分约束的最长路模型)
Acwing 1169.糖果题意幼儿园里有 N 个小朋友,老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候, 老师需要满足小朋友们的 K 个要求。幼儿园的糖果总是有限的,老师想知道他至少需要准备多少个糖果,才能使得每个小朋友都能够分到糖果,并且满足小朋友们所有的要求。思路先将所有小朋友获得的糖果设成变量,即我们有 N 个变量,然后根据 K 个要求写出不等式,因为求的是最小值,所以原创 2021-10-28 22:49:47 · 3175 阅读 · 0 评论 -
Acwing 361.观光奶牛(spfa求负环,01分数规划)
Acwing 361.观光奶牛题意给定一张 LLL 个点、PPP 条边的有向图,每个点都有一个权值 f[i]f[i]f[i],每条边都有一个权值 t[i]t[i]t[i]。求图中的一个环,使“环上各点的权值之和”除以“环上各边的权值之和”最大。输出这个最大值。注意:数据保证至少存在一个环。思路题目要求环上 ∑f[i]∑t[i]\dfrac{\sum f[i]}{\sum t[i]}∑t[i]∑f[i] 的最大值,可以先假设最大值为 midmidmid 如果找到一个环,满足环上的 ∑f[i]∑原创 2021-10-24 22:50:43 · 3178 阅读 · 0 评论 -
Acwing 1131.拯救大兵瑞恩(拆点)
AcWing 1131. 拯救大兵瑞恩1944 年,特种兵麦克接到国防部的命令,要求立即赶赴太平洋上的一个孤岛,营救被敌军俘虏的大兵瑞恩。瑞恩被关押在一个迷宫里,迷宫地形复杂,但幸好麦克得到了迷宫的地形图。迷宫的外形是一个长方形,其南北方向被划分为 N 行,东西方向被划分为 M 列, 于是整个迷宫被划分为 N×M 个单元。每一个单元的位置可用一个有序数对 (单元的行号, 单元的列号) 来表示。南北或东西方向相邻的 2 个单元之间可能互通,也可能有一扇锁着的门,或者是一堵不可逾越的墙。注意: 门可原创 2021-10-18 22:42:22 · 3236 阅读 · 0 评论 -
Acwing 344.观光之旅(Floyd求最小环)
Acwing 344.观光之旅题意给定一张无向图,求图中一个至少包含 3 个点的环,环上的节点不重复,并且环上的边的长度之和最小。该问题称为无向图的最小环问题。你需要输出最小环的方案,若最小环不唯一,输出任意一个均可。1≤N≤100,1≤N≤100,1≤N≤100,1≤M≤10000,1≤M≤10000,1≤M≤10000,1≤l<5001≤l<5001≤l<500思路将所有环 按照环上最大的点的编号 分成n类,1,2,3…,n-1,n对于FloydFloydFloyd原创 2021-10-18 22:41:50 · 3201 阅读 · 0 评论 -
Acwing 343.排序(Floyd求传递闭包)
Acwing 343.排序题意给定 nnn 个变量和 mmm 个不等式。其中 nnn 小于等于 262626,变量分别用前 nnn 的大写英文字母表示。不等式之间具有传递性,即若 A>BA>BA>B 且 B>CB>CB>C,则 A>CA>CA>C。请从前往后遍历每对关系,每次遍历时判断:如果能够确定全部关系且无矛盾,则结束循环,输出确定的次序;如果发生矛盾,则结束循环,输出有矛盾;如果循环结束时没有发生上述两种情况,则输出无定解。思路原创 2021-10-18 22:42:38 · 3165 阅读 · 0 评论 -
Acwing 343.排序(Floyd-传递闭包)
Acwing 343.排序题意给定 nnn 个变量和 mmm 个不等式。其中 nnn 小于等于 262626,变量分别用前 nnn 的大写英文字母表示。不等式之间具有传递性,即若 A>BA>BA>B 且 B>CB>CB>C,则 A>CA>CA>C。请从前往后遍历每对关系,每次遍历时判断:如果能够确定全部关系且无矛盾,则结束循环,输出确定的次序;如果发生矛盾,则结束循环,输出有矛盾;如果循环结束时没有发生上述两种情况,则输出无定解。思路原创 2021-10-16 21:51:33 · 3196 阅读 · 0 评论 -
Acwing 378.骑士放置(二分图的最大独立集)
Acwing 378.骑士放置题意给定一个 N×M 的棋盘,有一些格子禁止放棋子。问棋盘上最多能放多少个不能互相攻击的骑士(国际象棋的“骑士”,类似于中国象棋的“马”,按照“日”字攻击,但没有中国象棋“别马腿”的规则)。思路将棋盘划分为两类:坐标和奇数为一类 坐标和偶数为一类,如下图可以发现 当前格子能到达的格子与其本身奇偶性不同,所以根据坐标和的奇偶性将其抽象成一个二分图,把每个格子和它能到达的格子之间连一条边。题目要求出最多能放置多少个不能互相攻击的骑士,也即求出最多能放置多少个骑士其两原创 2021-10-07 16:04:34 · 3394 阅读 · 0 评论 -
Acwing 376.机器任务 (最小点覆盖)
Acwing 376.机器任务题意有两台机器 AAA,BBB 以及 KKK 个任务。机器 AAA 有 NNN 种不同的模式(模式0∼N−10∼N−10∼N−1),机器 BBB 有 MMM 种不同的模式(模式 0∼M−10∼M−10∼M−1)。两台机器最开始都处于模式 0。每个任务既可以在 AAA 上执行,也可以在 BBB 上执行。对于每个任务 iii,给定两个整数 a[i]a[i]a[i] 和 b[i]b[i]b[i],表示如果该任务在 AAA 上执行,需要设置模式为 a[i]a[i]a[i],原创 2021-10-07 15:00:22 · 3268 阅读 · 0 评论 -
Acwing 372. 棋盘覆盖 (二分图求最大匹配)
棋盘覆盖题意给定一个 N 行 N 列的棋盘,已知某些格子禁止放置。求最多能往棋盘上放多少块的长度为 2、宽度为 1 的骨牌,骨牌的边界与格线重合(骨牌占用两个格子),并且任意两张骨牌都不重叠。思路我们将棋盘上的方格看作点,骨牌看作两个点之间的边,那么问题就可以抽象成最多能选取多少条边,使得每条边没有公共顶点。如图:这时 棋盘还不能看作二分图,不能使用匈牙利算法。接下来,我们可以将每个点染色,染色方式如下:将所有点分成两部分:坐标和为奇数的 和 坐标和为偶数的,可以发现,任意一个符原创 2021-10-07 14:06:42 · 3371 阅读 · 0 评论 -
Acwing 1068 环形石子合并
环形石子合并题意将 n 堆石子绕圆形操场排放,现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。请编写一个程序,读入堆数 n 及每堆的石子数,并进行如下计算:选择一种合并石子的方案,使得做 n−1 次合并得分总和最大。选择一种合并石子的方案,使得做 n−1 次合并得分总和最小。思路将 n 堆石子按下列方式摆放:1 2 3 … n-1 n 1 2 3 … n-1 n将一般的石子合并扩展为长度为 2n 的石子合并 最后求最值的时候原创 2021-04-27 21:08:53 · 3304 阅读 · 0 评论 -
AcWIng 734. 能量石(贪心 + 01背包)
能量石题意岩石怪物杜达生活在魔法森林中,他在午餐时收集了 N 块能量石准备开吃。由于他的嘴很小,所以一次只能吃一块能量石。能量石很硬,吃完需要花不少时间。吃完第 i 块能量石需要花费的时间为 Si 秒。杜达靠吃能量石来获取能量。不同的能量石包含的能量可能不同。此外,能量石会随着时间流逝逐渐失去能量。第 i 块能量石最初包含 Ei 单位的能量,并且每秒将失去 Li 单位的能量。当杜达开始吃一块能量石时,他就会立即获得该能量石所含的全部能量(无论实际吃完该石头需要多少时间)。能量石中包含.原创 2021-04-25 22:48:05 · 3340 阅读 · 0 评论 -
AcWing 11. 背包问题求方案数(01背包计数)
背包问题求方案数题意有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出 最优选法的方案数。注意答案可能很大,请输出答案模 109+7 的结果。思路问题背景时 01背包问题 所以求价值的最大值可以直接用 01背包的思路求解:f[j]=max(f[j],f[j−w[i]]+v[i])f[j] = max(f[j],f[j - w[i]] + v[i])f[j]=m原创 2021-04-25 21:48:37 · 3680 阅读 · 0 评论 -
AcWing 10. 有依赖的背包问题
题意有 N 个物品和一个容量是 V 的背包。物品之间具有依赖关系,且依赖关系组成一棵树的形状。如果选择一个物品,则必须选择它的父节点。如下图所示:如果选择物品5,则必须选择物品1和2。这是因为2是5的父节点,1是2的父节点。每件物品的编号是 i,体积是 vi,价值是 wi,依赖的父节点编号是 pi。物品的下标范围是 1…N。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。思路有依赖的背包问题状态表示:f[i][j]f[i][j]f[i][j] 表示 以原创 2021-04-10 20:56:34 · 3390 阅读 · 0 评论 -
AcWing 274. 移动服务 (线性DP)
题意一个公司有三个移动服务员,最初分别在位置 1,2,3处。如果某个位置(用一个整数表示)有一个请求,那么公司必须指派某名员工赶到那个地方去。某一时刻只有一个员工能移动,且不允许在同样的位置出现两个员工。从 p 到 q 移动一个员工,需要花费 c(p,q)。这个函数不一定对称,但保证 c(p,p)=0。给出 N 个请求,请求发生的位置分别为 p1∼pN。公司必须按顺序依次满足所有请求,且过程中不能去其他额外的位置,目标是最小化公司花费,请你帮忙计算这个最小花费。思路线性dp:状态表示:f原创 2021-04-10 19:51:59 · 3292 阅读 · 0 评论 -
AcWing 532. 货币系统 (完全背包求方案数 变形)
题意在网友的国度中共有 n 种不同面额的货币,第 i 种货币的面额为 a[i],你可以假设每一种货币都有无穷多张。为了方便,我们把货币种数为 n、面额数组为 a[1…n]的货币系统记作 (n,a)。在一个完善的货币系统中,每一个非负整数的金额 x 都应该可以被表示出,即对每一个非负整数 x,都存在 n 个非负整数 t[i] 满足 a[i]×t[i] 的和为 x。然而,在网友的国度中,货币系统可能是不完善的,即可能存在金额 x 不能被该货币系统表示出。例如在货币系统 n=3, a=[2,5,9] 中原创 2021-04-08 14:35:53 · 3371 阅读 · 0 评论 -
AcWing 1013. 机器分配 (分组背包)
1013. 机器分配题意总公司拥有MMM台 相同 的高效设备,准备分给下属的NNN个分公司。各分公司若获得这些设备,可以为国家提供一定的盈利。盈利与分配的设备数量有关。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。分配原则:每个公司有权获得任意数目的设备,但总台数不超过设备数MMM。思路分组背包裸题状态表示:f[i][j]f[i][j]f[i][j] 表示分配到前 iii 个公司 已经分配了 jjj 台机器的利润最大值状态计算:设 kkk 表示给当前公司分配 kkk原创 2021-04-02 19:27:58 · 3396 阅读 · 0 评论 -
AcWing 487. 金明的预算方案 (有依赖关系的背包问题)
题意金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zD5H6hSm-1617371885579)(Untitled.assets/19_45c6dcea44-QQ截原创 2021-04-02 21:59:27 · 3359 阅读 · 0 评论 -
AcWing 1025. 开餐馆 (线性dp)
1025. 开餐馆题意信息学院的同学小明毕业之后打算创业开餐馆.现在共有 nnn 个地点可供选择。小明打算从中选择合适的位置开设一些餐馆。这 nnn 个地点排列在同一条直线上。我们用一个整数序列 m1,m2,…,mnm_1,m_2,…,m_nm1,m2,…,mn来表示他们的相对位置。由于地段关系,开餐馆的利润会有所不同。我们用 pip_ipi 表示在 mim_imi 处开餐馆的利润。为了避免自己的餐馆的内部竞争,餐馆之间的距离必须大于 kkk。请你帮助小明选择一个总利润最大的方案。原创 2021-03-24 10:26:34 · 3507 阅读 · 0 评论 -
AcWing 1028. 复制书稿 (二分)
1028. 复制书稿题意现在要把 mmm 本有顺序的书分给 kkk 个人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一、第三和第四本书给同一个人抄写。现在请你设计一种方案,使得复制时间最短。复制时间为抄写页数最多的人用去的时间。思路因为是求 kkk 个人中用时最大的最小值 可以想到用二分来解决midmidmid 为假设的分组后用时最多的那个人消耗的时间所以把原数组分成区间和小于等于 midmidmid 的 cnt原创 2021-03-23 21:37:41 · 3725 阅读 · 0 评论 -
AcWing 272. 最长上升公共子序列 (LIS + LCS)
272. 最长公共上升子序列题意熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们研究最长公共上升子序列了。小沐沐说,对于两个数列 A 和 B,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子序列。不过,只要告诉奶牛它的长度就可以了。数列 A 和 B 的长度均不原创 2021-03-20 16:14:46 · 3227 阅读 · 0 评论 -
AcWing 187. 导弹防御系统 (LIS + dfs)
187. 导弹防御系统题意为了对抗附近恶意国家的威胁,RR 国更新了他们的导弹防御系统。一套防御系统的导弹拦截高度要么一直 严格单调 上升要么一直 严格单调 下降。例如,一套系统先后拦截了高度为 3 和高度为 4 的两发导弹,那么接下来该系统就只能拦截高度大于 4 的导弹。给定即将袭来的一系列导弹的高度,请你求出至少需要多少套防御系统,就可以将它们全部击落。思路和 AcWing 1010. 拦截导弹 很类似的一题 唯一不同的是不仅可以选择上升子序列 也可以选择下降子序列因为数据非常的小 所以原创 2021-03-16 10:54:06 · 3464 阅读 · 0 评论 -
AcWing 1010. 拦截导弹 (LIS + 贪心)
1010. 拦截导弹题意某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。思路第一小问是裸的最长上升原创 2021-03-15 20:43:01 · 3310 阅读 · 0 评论 -
AcWing 1012. 友好城市(排序 + dp)
1012. 友好城市题意PalmiaPalmiaPalmia 国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。思路对于北岸的城市若想满足题目要求 必须要满足左边城市对应的南岸城原创 2021-03-14 19:32:30 · 3247 阅读 · 0 评论 -
AcWing 125. 耍杂技的牛 (推公式)
AcWing 125. 耍杂技的牛农民约翰的N头奶牛(编号为1..N1..N1..N)计划逃跑并加入马戏团,为此它们决定练习表演杂技。奶牛们不是非常有创意,只提出了一个杂技表演:叠罗汉,表演时,奶牛们站在彼此的身上,形成一个高高的垂直堆叠。奶牛们正在试图找到自己在这个堆叠中应该所处的位置顺序。这N头奶牛中的每一头都有着自己的重量wiw_{i}wi以及自己的强壮程度sis_{i}si一头牛支撑不住的可能性取决于它头上所有牛的总重量(不包括它自己)减去它的身体强壮程度的值,现在称该数值为风险值,原创 2021-01-27 02:02:13 · 3047 阅读 · 0 评论 -
AcWing 104. 货仓选址 (绝对值不等式)
AcWing 104. 货仓选址在一条数轴上有 NNN 家商店,它们的坐标分别为 Ai−ANA_{i}-A_{N}Ai−AN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。输入格式第一行输入整数NNN.第二行NNN个整数Ai−ANA_{i}-A_{N}Ai−AN。输出格式输出一个整数,表示距离之和的最小值。数据范围1≤N≤1000001 \leq N \leq 1000001≤N≤1原创 2021-01-27 02:01:01 · 2774 阅读 · 0 评论 -
AcWing 913. 排队打水 (排序不等式)
AcWing 913. 排队打水有 nnn 个人排队到 111 个水龙头处打水,第 iii 个人装满水桶所需的时间是 tit_{i}ti,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小?输入格式第一行包含整数 nnn。第二行包含 nnn 个整数,其中第 iii 个整数表示第 iii 个人装满水桶所花费的时间 tit_{i}ti输出格式输出一个整数,表示最小的等待时间之和。数据范围1≤n≤1051 \leq n \leq 10^{5}1≤n≤1051≤ti≤1041 \leq原创 2021-01-27 01:59:34 · 2823 阅读 · 0 评论 -
AcWing 907. 区间覆盖 (区间贪心)
AcWing 907. 区间覆盖给定NNN个闭区间[ai,bi][ai,bi][ai,bi]以及一个线段区间[s,t][s,t][s,t],请你选择尽量少的区间,将指定线段区间完全覆盖。输出最少区间数,如果无法完全覆盖则输出−1-1−1。输入格式第一行包含两个整数sss和ttt,表示给定线段区间的两个端点。第二行包含整数NNN,表示给定区间数。接下来N行,每行包含两个整数ai,biai,biai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示所需最少区间数。如果无解,则输出-1。原创 2021-01-27 01:58:07 · 2909 阅读 · 0 评论 -
AcWing 906. 区间分组 (区间贪心问题)
AcWing 906. 区间分组给定NNN个闭区间[ai,bi][ai,bi][ai,bi],请你将这些区间分成若干组,使得每组内部的区间两两之间(包括端点)没有交集,并使得组数尽可能小。输出最小组数。输入格式第一行包含整数NNN,表示区间数。接下来N行,每行包含两个整数ai,biai,biai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示最小组数。数据范围1≤N≤1051 \leq N \leq 10^{5}1≤N≤105−109≤ai≤bi≤109-10^{9} \leq原创 2021-01-27 01:29:54 · 2837 阅读 · 0 评论 -
AcWing 908. 最大不相交区间数量 (区间贪心问题)
AcWing 908. 最大不相交区间数量给定NNN个闭区间[ai,bi][ai,bi][ai,bi],请你在数轴上选择若干区间,使得选中的区间之间互不相交(包括端点)。输出可选取区间的最大数量。输入格式第一行包含整数N,表示区间数。接下来NNN行,每行包含两个整数ai,biai,biai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示可选取区间的最大数量。数据范围1≤N≤1051 \leq N \leq 10^{5}1≤N≤105−109≤ai≤bi≤109-10^{9} \原创 2021-01-27 01:28:29 · 2727 阅读 · 0 评论 -
AcWing 905. 区间选点 (区间贪心问题)
AcWing 905. 区间选点给定NNN个闭区间[ai,bi][ai,bi][ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。输入格式第一行包含整数N,表示区间数。接下来NNN行,每行包含两个整数ai,biai,biai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示所需的点的最小数量。数据范围1≤N≤1051 \leq N \leq 10^{5}1≤N≤105−109≤ai≤bi≤109原创 2021-01-27 00:12:16 · 2716 阅读 · 0 评论 -
AcWing243. 一个简单的整数问题2 (区间修改 + 区间查询)
AcWing243. 一个简单的整数问题2给定一个长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:1、“C l r d”,表示把 A[l],A[l+1],…,A[r] 都加上 d。2、“Q l r”,表示询问 数列中第 l~r 个数的和。对于每个询问,输出一个整数表示答案。输入格式第一行两个整数N,M。第二行N个整数A[i]。接下来M行表示M条指令,每条指令的格式如题目描述所示。输出格式对于每个询问,输出一个整数表示答案。每个答案占一行。数据范围1≤N,M≤105,1≤原创 2021-01-26 20:54:35 · 2559 阅读 · 0 评论 -
AcWing. 246 区间最大公约数 (区间修改 + 区间查询)
AcWing. 246区间最大公约数gcd(a1,a2...,an)gcd(a_{1},a_{2}...,a_{n})gcd(a1,a2...,an) = gcd(a1,a2−a1...,an−an−1)gcd(a_{1},a_{2}-a_{1}...,a_{n}-a{n-1})gcd(a1,a2−a1...,an−an−1)给定一个长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:1、“C l r d”,表示把 A[l],A[l+1],…,A[r] 都加上 d。2、“Q l原创 2021-01-26 20:53:03 · 2633 阅读 · 0 评论 -
AcWing. 245 你能回答这些问题吗 (区间查询 + 单点修改)
AcWing. 245你能回答这些问题吗(最大连续区间子段和)给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:1、“1 x y”,查询区间 [x,y] 中的最大连续子段和,即 maxx≤l≤r≤ymax_{x \leq l \leq r \leq y}maxx≤l≤r≤y∑i=lrA[i]{\sum^{r}_{i = l}A[i]}∑i=lrA[i]。2、“2 x y”,把 A[x] 改成 y。对于每个查询指令,输出一个整数表示答案。输入格式第一行两个整数N,M。第二行N个原创 2021-01-26 20:51:27 · 2540 阅读 · 0 评论 -
AcWing. 1275 最大数 (单点修改 + 区间查询)
AcWing. 1275最大数给定一个正整数数列 a1,a2,…,an,每一个数都在 0∼p−1 之间。可以对这列数进行两种操作:添加操作:向序列后添加一个数,序列长度变成 n+1;询问操作:询问这个序列中最后 L 个数中最大的数是多少。程序运行的最开始,整数序列为空。写一个程序,读入操作的序列,并输出询问操作的答案。输入格式第一行有两个正整数 m,p,意义如题目描述;接下来 m 行,每一行表示一个操作。如果该行的内容是 Q L,则表示这个操作是询问序列中最后 L 个数的最大数是多少原创 2021-01-26 16:25:39 · 2833 阅读 · 0 评论 -
AcWing244. 谜一样的牛 (树状数组+二分)
AcWing 244. 谜一样的牛(二分)思路初始化所有数为1 代表没有用过从后往前计算 找到还未用过的前k小的数是几 使得sum(x) == k成立的最小x即为答案然后将这个数置为0 表示已经用过有n头奶牛,已知它们的身高为 1~n 且各不相同,但不知道每头奶牛的具体身高。现在这n头奶牛站成一列,已知第i头牛前面有AiA_{i}Ai头牛比它低,求每头奶牛的身高。输入格式第1行:输入整数n。第2…n行:每行输入一个整数AiA_{i}Ai,第i行表示第i头牛前面有AiA_{i}Ai头原创 2021-01-25 00:14:37 · 2556 阅读 · 0 评论 -
AcWing 243. 一个简单的整数问题2(树状数组实现区间修改+区间查询)
AcWing243. 一个简单的整数问题2(树状数组实现区间修改+区间查询)a1+a2+a3+a…axa_{1}+a_{2}+a_{3}+a\dots a_{x}a1+a2+a3+a…ax ====== ∑i=1x∑j=1ibj\sum^{x}_{i = 1}\sum^{i}_{j = 1}b_{j}∑i=1x∑j=1ibj给定一个长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:1、“C l r d”,表示把 A[l],A[l+1],…,A[r] 都加上 d。2、“Q l原创 2021-01-25 00:13:55 · 2317 阅读 · 0 评论