题解
文章平均质量分 74
伍叁壹_
这个作者很懒,什么都没留下…
展开
-
【CF1051G】 Distinctification 题解
线段树合并+并查集维护。原创 2022-08-02 15:37:06 · 306 阅读 · 1 评论 -
【ARC116F】Deque Game 题解
找规律。原创 2022-07-20 10:30:40 · 356 阅读 · 0 评论 -
【CF1635F】 Closest Pair 题解
找性质规律+单调栈+线段树。原创 2022-07-20 09:17:26 · 318 阅读 · 0 评论 -
【CF487B】Strip 题解
这个节点也加进来,它要么对这个区间的极差没有影响,要么只会将这个极差变得更大。所以,若是一个左端点。在上面的代码中可以看到具体实现。这里有个优化为什么每次枚举到一个新的右端点,不需要从头再选一次。的左端点的位置往后枚举新的左端点,并且取最左边的合法左端点即可。这时候要注意到一个很重要的性质对于一个区间。(看见前面几篇题解都没有提到这个优化的具体原因。下面先贴上代码,后面会详讲优化及其原因。综上,我们只需要继续上一个枚举的。辛苦管理员审核,如有问题烦请指出。,对于每个确定的区间右端点。...原创 2022-07-20 08:28:53 · 123 阅读 · 0 评论 -
【AT4162 [ARC099C]】 Independence 题解
大佬提供的学术支持。原创 2022-07-20 08:26:16 · 85 阅读 · 0 评论 -
【ARC099D】 Eating Symbols Hard 题解
双哈希+差分。原创 2022-07-20 08:25:40 · 110 阅读 · 0 评论 -
【ARC110F】Esoswap 题解
对于这类题目,看到之后就应该。原创 2022-07-20 08:24:11 · 143 阅读 · 0 评论 -
【ARC110E】Shorten ABC 题解
感性的理解/证明是发现不论怎样操作字符串,它所对应的数字串的异或和是不变的,故当前面。个数的异或和相同时,这两部分所组成的字符串才是一种操作原串能得到的字符串。在将abc转化为123之后发现,对于每一个对答案有贡献的长为。段,每一段都把里面所有的数直接异或起来,结果即是那一段的字母。的字符串,本质上都是在123数字序列上划分了。补充说一下最后需要结尾一段异或和为。然后笔者自行惭愧讲不清楚。碰到这种题就要下意识。...原创 2022-07-20 08:23:16 · 165 阅读 · 0 评论 -
【DSY】Migration 题解
二分+贪心+双向搜索(思想)。原创 2022-07-20 08:22:28 · 120 阅读 · 0 评论 -
【CF780G】Andryusha and Nervous Barriers 题解
模拟+线段树套小根堆。原创 2022-07-20 08:21:11 · 141 阅读 · 0 评论 -
【LG-P3920/WC2014】 紫荆花之恋
在此提供一种可能相对其他解法较为好写的做法。首先考虑一棵如下图的树,其中 rtlr0=6, rtlr1=5rtlr_0=6,\ rtlr_1=5rtlr0=6, rtlr1=5。发现此时这棵树不考虑根节点只有两条链,而左右链的末尾分别是 rtlr0rtlr_0rtlr0 和 rtlr1rtlr_1rtlr1。同时,按照套路,我们将 dist(i,j)≤ri+rjdist(i,j) \leq r_i+r_jdist(i,j)≤ri+rj 化为 dist(i,l)−ri≤rj−dist(j,l)di原创 2022-06-02 20:48:09 · 291 阅读 · 0 评论 -
2022.5.17 比赛题整理
2022.5.17 2022初一测试六链接集合总结T1:二分 + 贪心。T2:模拟(对某某数之积之和的简化与运算)。[主席树 好题] {\color{Red}{\text{[主席树 好题] }}}[主席树 好题] T3:二分求区间中位数 + 主席树维护。T4:?(目前还未改。)Problem A“打破定式思维”,题面不含“最小(大)值最大(小)”时也有可能是用二分做。二分所用秒数,然后贪心验证是否可行即可。#include<bits/stdc原创 2022-05-18 13:32:59 · 145 阅读 · 0 评论 -
【LG-P2839 [国家集训队]】middle
传送门:洛谷 P2839 [国家集训队]middle二分求解中位数 + 主席树维护Solution1 求中位数拿到题目首先肯定会去思考怎么求区间中位数。按照以往求中位数的方法——对顶堆,显然不行,时间肯定会炸。那就要引入一个新的求中位数的方法了:二分中位数大小,然后将大于等于该数的数的值设为 1,否则设为 -1,然后求区间的和,若大于等于 0,则意味着真正的中位数一定大于等于该数,否则小于该数,时间复杂度同对顶堆一样,O(nlogn)O(nlogn)O(nlogn)。2 线段树维护这时候我们原创 2022-05-18 13:31:57 · 124 阅读 · 0 评论 -
2022.5.2 比赛题整理
2022.5.2 2022初一测试五链接集合总结80+80+20+0=18080 + 80 +20 + 0 = 18080+80+20+0=180会拿部分分了,有进步。T1:模拟,最后一个大数据打表。T2:概率问题,贪心。T3:找规律/性质,模拟。dp 好题{\color{Red}{\text{dp 好题}}}dp 好题T4:dp + 前缀和 + 预处理最长相同前缀长度。Problem ASolutionbitset 可以节省空间!!{\color{Red原创 2022-05-05 13:54:54 · 660 阅读 · 0 评论 -
【CF768B】Code For 1 题解
传送门:B. Code For 1像我这么菜的 OierOierOier,考场上只想的出来类似模拟线段树的做法啦~被暴力吊打(大哭)。此题解提供一种新做法做参考。Solution1首先我们发现一个给定的 nnn,我们是可以求出它最终化为的 01 串的长度。设 slsts_{lst}slst 为当前分解得到的串的长度,xxx 为分解出的、用二进制表示的 01 “串”长度最大的一个数,yyy 为长度最大的数的个数。例如,当输入的 nnn 为 10 时,二进制下表示为 1010,此时 slsts_原创 2022-04-16 16:14:16 · 405 阅读 · 0 评论 -
【LG-P4332 [SHOI2014]】三叉神经树 题解
题面挺有意思(恶心)的。传送门:P4332 [SHOI2014]三叉神经树LCTSolution1对于每一个非叶子节点 iii,有 valival_ivali,表示其输出为 1 的儿子的总数。所以对于每一个 vali, i∈[1,n]val_i,\ i \in [1,n]vali, i∈[1,n] ,其取值范围是 0~3。所以我们发现这个非叶子节点 iii 最后输出的结果就是 ⌊vali2⌋\left\lfloor\dfrac{val_i}{2}\right\rfloor⌊原创 2022-04-08 21:35:53 · 335 阅读 · 0 评论 -
LG-P7549 [BJWC2017] 神秘物质 题解
传送门:P7549 [BJWC2017] 神秘物质先膜拜一下 cyf\text{cyf}cyf 学长。本题解主要是补充一下 cyf\text{cyf}cyf 学长思路的细节。Solution1首先看操作一、二,发现它们的本质实际上都是对一段区间的操作。所以本题使用文艺平衡树来维护。也就是说,对于每次的一、二操作,我们都会将要进行修改的区间旋转到一颗子树内,即文艺平衡树中翻转区间的预操作。具体可以看@皎月半洒花在文艺平衡树题解中放的这张图:(设将要修改的区间为 [l,r][l,r][l,r]。)原创 2022-03-30 13:39:09 · 375 阅读 · 0 评论 -
2021.8.10 比赛题整理
UPDATE 21/08/26更改题面、转移链接等。2021.8.10 新初一暑假测试五链接集合11 / 18,190 / 400。T1签到题,就不说了。简单的一批(题目说行末不能有空格,结果加了也 ac,就离谱)。T2 Recording the MoolympicsP2255 [USACO14JAN]Recording the Moolympics S在书上看过一模一样的题目和讲解,结果还是错了…因为是问可以录制的最大数量的节目,不是 dp 就是贪心 (当然也能暴力),但前面的选择原创 2022-03-23 13:00:02 · 1856 阅读 · 0 评论 -
2021.8.12 比赛题整理
UPDATE 21/08/26更改题面、转移链接等。2021.8.12 新初一暑假测试六链接集合1 / 18,260 / 400。总结整体还可以吧,该拿的分都尽量拿了,也证明最近的训练有效 (我近来的效率是真的低),除了 T4。排名我是真没想到 ,考试的时候看见教练对着我笑还来问候我,自己还是做了心理斗争的,最后毅然决然选择比赛划水。小视野主页的文章不够看啊,催更。T1 一遍 ac;T2 纯暴力 60 分;T3 知道是强连通分量,推的时候按桥来推,这个不应该错;T4 做过,栽在了排原创 2022-03-23 12:59:30 · 160 阅读 · 0 评论 -
2021.8.24 比赛题整理
UPDATE 21/08/26更改题面、转移链接等。2021.8.24 新初一暑假测试七链接集合4 / 18,300 / 400。总结谁会想到分数第一和第二分别都三个同分的。。我的第二。。。状态不错,好好做了推了的都 AC 了 (虽然这次比赛题都是板子)。题目概述T1:贪心 + 模拟;T2:快速幂 + 逆元 + 进制模拟(除 T4 外最难的题);T3:KMP 的 nxt 数组应用;T4:树形 DP(全军覆没)。赛时情况(按提交顺序阐明。)T1 & T3:一遍 AC;原创 2022-03-23 12:59:05 · 212 阅读 · 0 评论 -
2021.8.26 比赛题整理
2021.8.26 2021CSPJ初二初一冲刺一链接集合18 / 32,188 / 400。总结被公开处刑了,麻了。T2 T4 做的不错,T1 拖后腿。比赛刚写完 T1 代码电脑突然不行,代码没了,这突发情况真没想到。影响到了 T1。若 T1 AC 了就 268 了。。写着是普及,结果后三道都是提高的。。题目概述T1:递推 OR 组合数应用;T2:较复杂贪心 + 优先队列;T3:树形 dp(又是它);T4:状压 + 宽搜。赛时情况T1:20 pts(杯具,耽误了一个多小时);原创 2022-03-23 12:58:26 · 326 阅读 · 0 评论 -
2021.10.4 比赛题整理
2021.10.4 2021CSPJ初二初一冲刺七链接集合总结炸了炸了。。T3 半天做了个寂寞。对算法不熟悉。T1:简单思维题;T2:KMP nxt 数组的运用;T3:二分 + 图,代码实现可用并查集;T4:四维树形 dp。T1题意设 a0←1a_0 \gets 1a0←1,an←ai+aja_n \gets a_i + a_jan←ai+aj(i,j 在 [0,n−1)[0,n-1)[0,n−1) 范围内随机)。求对于给定的 nnn,ana_nan 的期望值为多少。题解原创 2022-03-23 12:57:44 · 137 阅读 · 0 评论 -
P2999 [USACO10NOV]Chocolate Milk S 题解
前置知识 --> 拓扑排序这道题为什么要用拓扑排序呢?因据题意,每一个点奶的流量都有先后顺序,且顺序不得改动。重点在于本题入度,出度,队列等的运用。思路挤奶器:入度为 0,且可以最早入队列(因为它不受先后顺序的限制);混合器:混合器要放在每一个奶流都会经过的点,则该点的奶流量 = 总奶流量;while 入队出队操作:当队头的出度为 1 时,可以将之前记录下来的他的“子节点”操作之后,入队;答案统计:在将挤奶器入队时,统计总奶量,每一个挤奶器的奶量为 1, 并用 tot 统计,最后比较该点原创 2022-03-22 13:00:18 · 1432 阅读 · 0 评论 -
CF869C The Intriguing Obsession 题解
此题算法:模拟。题目概述由题意可得,此题是让我们连接三种不同颜色的点,要求同颜色的点距离大于等于 3 (每条边的距离为 1 ),任意两个点至多连 1 条边,问有多少种连接方案(答案需取模)。Part 1 - 主要思路首先,因为:同颜色的点距离大于等于 3 ,所以我们可以得出:显然,一个点不能与它同色的点相连;一个点不能同时与两个同色点相连。综上,只有 3 种连接方案—— a 与 b , b 与 c , a 与 c 。且! 3 种连接方案都是独立的。接着,我们就只用原创 2022-03-22 12:59:17 · 938 阅读 · 0 评论 -
LG-P6006 [USACO20JAN]Farmer John Solves 3SUM G 题解
区间内三元组个数(满足 ai+aj+ak=0ai + aj + ak = 0ai+aj+ak=0)(GZEZ 新初一第一次测试 第四题)在指定范围 [l,r][l, r][l,r] 内,求满足 ai+aj+ak=0ai + aj + ak = 0ai+aj+ak=0 的三元组的个数。思路:先预处理,时间复杂度是 O(n2)O(n^2)O(n2) ; 再查询,时间复杂度是 O(1)O(1)O(1) 。预处理:在确定了两端的数之后,中间的数 =−a[i]−a[j]= -a[i]-a[j]=−a原创 2022-03-22 12:56:07 · 316 阅读 · 0 评论 -
LG-P3049 [USACO12MAR]Landscaping S 题解
又是一道考试题对一排泥土进行三种操作,使其变为目标状态,求最小花费代价。请原谅我接下来奇怪的量词…思路大致方法:很明显,求代价,就是用 dp 。但是,你会发现直接去推动态转移方程是很难的,所以,我们选择把泥土“量化”。“量化泥土”:我们把泥土按量进行排列,例如:原数组是:1 2 3 4 ;转移后是:1 2 2 3 3 3 4 4 4 4 。这样一来, 我们就可以去处理 dp 数组 fff 了。初始化 dp 数组:我们定义 f[i][j]f[i][j]f[i][j] 表示用原创 2022-03-21 12:52:04 · 148 阅读 · 0 评论 -
P7714「EZEC-10」排列排序 题解
差分数组我们在每一次输入的时候,若 x=ix=ix=i ( xxx 为输入的数)可以直接 continuecontinuecontinue (因为是求最小值),若是 x!=ix!=ix!=i ,先存下来二者中的最大以及最小,并记录差分数组。为什么用差分数组?因为我们发现,如果将 iii 到 jjj 中的数排序,那么其中每一个数的贡献都是 1 ,我们用差分数组存下来,最后求前缀和。若一个点的差分数组不为零,我们就可以 ans++ans++ans++ ,无需考虑它差分数组具体的值(因为是求最小值)。C原创 2022-03-21 12:50:56 · 391 阅读 · 0 评论 -
B2138 最大质因子序列 题解
思路模拟。快读。这个就不用多说了。判断质数。这个是用于辅助后面得到最大质因数,细节就是为了避免超时,循环上限是 sqrt (x) (头文件记得加 include<cmath> ,除非你用万能头)。最大质因数的获取。从大到小枚举!! 不然一发 MLE 警告。主函数没什么好说的了,最好用 printf ,避免超时。Code#include<bits/stdc++.h>using namespace std;int read (){ int原创 2022-03-21 12:49:32 · 436 阅读 · 0 评论 -
UVA1327 King‘s Quest 题解
笔者没 ac ,因为没绑定没提交。但在其他 OJ 上提交 ac 了,可以确保代码正确性。UVA1327 King’s Quest 传送门一道强连通分量的板子题。思路:最终可以满足条件的女孩 既要王子喜欢又可以被娶(也就是巫师那个名单) ,这不就类似强连通分量吗?只要王子喜欢的女孩和王子在同一个强连通分量里就都满足条件。这道题和板子的区别主要在于建边和答案输出,主要说说这俩。1. 建边:在王子到喜欢的女孩之间建边;在可以被娶女孩和王子之间建边。这些结合题目及思路,不难理解。2原创 2022-03-21 12:47:32 · 135 阅读 · 0 评论 -
UVA1368 DNA序列 题解
一道字符串模拟题。思路输入 m 个字符串;从第 0 位到第 n - 1 位,统计每一个字符串该位的字母,并用变量存下个数,具体操作如下:for (int i = 0; i < n; i++){ t = a = g = c = 0; for (int j = 1; j <= m; j++) { if (str[j][i] == 'T') t++; if (str[j][i] == 'A') a++; if (str[j][i] == 'G') g++;原创 2022-03-21 12:46:47 · 540 阅读 · 0 评论 -
UVA610 街的方向 题解
题目分析一道桥的题(比模板难一点吧)。我们要在无向图中选择一些边,使得当它们变为有向边时,该图仍能连通。与其思考选择哪些边去改变,不如考虑哪些边不可以改。很明显,在有向图中,如果桥变成了单向边,这幅图肯定不能连通(可结合桥的定义理解)。那么我们只需要找出桥,也就是不能更改的边,并把他们输出两次(题目要求),则剩下的边就都可以改变,就输出一次即可。代码实现我们以 Tarjan 找桥的模板代码为基础,来写这道题。(为什么要用 Tarjan 找桥就不用再多说了吧。)概述:很简单,是桥就不能改,不原创 2022-03-21 12:46:16 · 443 阅读 · 0 评论 -
LG-P2941 Surround the Islands S 题解
P2941 [USACO09FEB]Surround the Islands S 传送门感觉其他有些题解有点简略,wtcl,一开始理解不了题意,我现在就写篇详细点点的吧。题目分析我们最开始输入的 nnn 条边 (u,v)(u,v)(u,v) 都是可以直接以 0 费用从 u 到 v 的。也就是题目中的走路,即 u 和 v 是同一岛上的不同顶点。接着输入的是从第 i 个点乘船到达其他 i(包括 i 点自己)所需要的费用。求解概述:为了保证最小费用,我们当然是走路到达同一岛上的点,乘船到原创 2022-03-21 12:45:30 · 457 阅读 · 0 评论 -
LG-P4394 [BalticOI 2008]选举 Easy 题解
一道 01 背包的题。题目概述我们要从若干党中挑选几个党出来,组成一个联合内阁,使得:内阁的党的总席位数要越多越好;阁内党席位总数要超过(已给出的)所有党的席位总数的一半;当其中席位数最小的党退出之后,其他阁内的党的总席位数要比总席位数的一半要少。求解在此题中,每一个党面临的问题只有被选或不被选。这很明显,就是背包 dp。我们当然是挑选席位数大的党选——这样删去它就不容易会出现阁内席位数仍大于总席位数一半的情况。然后就是背包的板子了。具体可以见 P1048 采药 背包模板原创 2022-03-21 12:44:44 · 110 阅读 · 0 评论 -
P2321 [HNOI2006]潘多拉的宝盒 题解
思路我们要先找到所有的升级序列,找出所有的包含与被包含的关系,然后找到一条最长链,满足题目要求。如何找到所有的包含关系?遍历每一对盒子,对于二者,我们用 dfs 扫一遍,如果有一个盒子在一个节点输出了串,而另一个没有,那么这两者就不存在包含关系。反之,两者就存在包含关系。我们就可以建一条有向边,从包含者指向被包含者。为什么求最长链?易得,在一个强连通分量中,肯定是存在一条链的。所以,我们只需要把一个个强连通分量缩点,然后找到一条把超级点(强连通分量)串起来的最长的链即可。最终答案,原创 2022-03-21 12:43:56 · 168 阅读 · 0 评论 -
CF632E Thief in a Shop 题解
思路题目要问的,是 kkk 个物品最多能组成多少种不同的权值之和(每个数量不限)。正着求当然很麻烦,但是反着解相对来说就简单多了。所以我们可以将题目转化为:求凑某个权值和最少要多少物品,如果最少个数比 kkk 要大,则这个权值和就无法凑出。题目分析到这里,就不难看出是背包 dp 了。代码实现状态转移我们用 dpidp_idpi 表示凑出权值和为 i 最少需要多少件物品。01 背包问题这里不多阐述了。则可以得到状态转移方程为:dpi←mindpi,dpi−aj+1dp_i \gets原创 2022-03-19 08:28:44 · 207 阅读 · 0 评论 -
P5446 [THUPC2018]绿绿和串串 题解
思路1题目给出的字符串可以是由一个子串 a 翻转而得;而 a 也可以是由一个子串 b 翻转而得;而 b 可以是由一个子串 c 翻转而得;……最终得到一个无法再翻转下去的子串 x。而字符串本身、子串 a、子串 b、子串 c……子串 x 各自的长度就是我们要的答案。例如:给出字符串 qwqwq ,它可以是由子串 qwqw 翻转而得的;而 qwqw 是由子串 qwq 翻转而得的;而 qwq 是由子串 qw 翻转而得的;然而, qw 无法由它的子串翻转而得。即最终答案输出: 2 3 4原创 2022-03-19 08:27:59 · 279 阅读 · 0 评论 -
CF366D Dima and Trap Graph 题解
题意给定一张有 nnn 个节点,mmm 条边的无向图(可能有环或重边),对于每个节点 iii,有 lil_ili 和 rir_iri,定义在经过该节点后,只能携带于 lil_ili 和 rir_iri 之间的数。从编号为 1 的节点出发(初始时携带了所有自然数),到达编号为 nnn 的节点,求最后能携带最多的节点。若节点数相同,输出字典序小的那一组。若节点数为 0,输出 Nice work, Dima!。题解模拟赛的一道题。二分 + 图。二分本质:在数轴上找到一个临界点,即点的左边原创 2022-03-19 08:27:26 · 224 阅读 · 0 评论 -
CF1603B Moderate Modular Mode 题解
提供一种分类讨论的做法。思路对于输入的 xxx 和 yyy,会有一下三种情况:x>yx>yx>y易得,此时 n←x+yn \gets x+yn←x+y 是符合条件的:(x+y)mod x=y=ymod (x+y)(x + y) \mod x = y = y \mod (x +y)(x+y)modx=y=ymod(x+y)x=yx = yx=y易得,此时 n←xn \gets xn←x 是符合条件的(证明略)。x<yx<yx<y我们发现,原创 2022-03-19 08:26:31 · 195 阅读 · 0 评论 -
UVA756 Biorhythms 题解
UVA756 Biorhythms - 传送门思路直接来看,它就是一个中国剩余定理(CRT)。但与【模板】中国剩余定理(CRT) 不同的是,它已经给出了所有的模数。在 CRT 思想的基础上,我们可以求出每一个模数对应的正整数 aaa,使得(以第二个模数为例):{a≡0(mod23)a≡1(mod28)a≡0(mod33)\begin{cases}a\equiv{0}\pmod{23}\\a\equiv{1}\pmod{28}\\a\equiv{0}\pmod{33}\end{cases}⎩⎪⎨原创 2022-03-19 08:25:02 · 177 阅读 · 0 评论 -
P3866 [TJOI2009] 战争游戏 题解
传送门:P3866 [TJOI2009] 战争游戏Solution首先考虑如何建图。先看建源点和汇点的原因:建源点:有若干支不同的军队需要拦截,所以要将他们所在点都与源点连接,以跑网络流。建汇点:有若干个通向图外的可行边界点,也要将它们都与汇点连在一起,以跑网络流。这样一来,源点的汇点的建图方式就可以轻易得到了:源点:自源点向所有军队的所在点相连,流量为 infinfinf。汇点:将所有可以通行的图内边界点与汇点相连,流量为 infinfinf。如此,解决此题的具体方式也就出来了:原创 2022-03-19 08:24:15 · 163 阅读 · 0 评论