自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

531 の 流 水 线

且将新火试新茶,诗酒趁年华。

  • 博客(89)
  • 收藏
  • 关注

原创 【CF1051G】 Distinctification 题解

线段树合并+并查集维护。

2022-08-02 15:37:06 330

原创 【ARC116F】Deque Game 题解

找规律。

2022-07-20 10:30:40 398

原创 【CF1635F】 Closest Pair 题解

找性质规律+单调栈+线段树。

2022-07-20 09:17:26 358

原创 CF696B Puzzles 题解

大佬提供的学术支持。

2022-07-20 08:30:10 220

原创 【CF487B】Strip 题解

这个节点也加进来,它要么对这个区间的极差没有影响,要么只会将这个极差变得更大。所以,若是一个左端点。在上面的代码中可以看到具体实现。这里有个优化为什么每次枚举到一个新的右端点,不需要从头再选一次。的左端点的位置往后枚举新的左端点,并且取最左边的合法左端点即可。这时候要注意到一个很重要的性质对于一个区间。(看见前面几篇题解都没有提到这个优化的具体原因。下面先贴上代码,后面会详讲优化及其原因。综上,我们只需要继续上一个枚举的。辛苦管理员审核,如有问题烦请指出。,对于每个确定的区间右端点。...

2022-07-20 08:28:53 149

原创 【AT4162 [ARC099C]】 Independence 题解

大佬提供的学术支持。

2022-07-20 08:26:16 100

原创 【ARC099D】 Eating Symbols Hard 题解

双哈希+差分。

2022-07-20 08:25:40 120

原创 【ARC110F】Esoswap 题解

对于这类题目,看到之后就应该。

2022-07-20 08:24:11 171

原创 【ARC110E】Shorten ABC 题解

感性的理解/证明是发现不论怎样操作字符串,它所对应的数字串的异或和是不变的,故当前面。个数的异或和相同时,这两部分所组成的字符串才是一种操作原串能得到的字符串。在将abc转化为123之后发现,对于每一个对答案有贡献的长为。段,每一段都把里面所有的数直接异或起来,结果即是那一段的字母。的字符串,本质上都是在123数字序列上划分了。补充说一下最后需要结尾一段异或和为。然后笔者自行惭愧讲不清楚。碰到这种题就要下意识。...

2022-07-20 08:23:16 201

原创 【DSY】Migration 题解

二分+贪心+双向搜索(思想)。

2022-07-20 08:22:28 152

原创 【CF780G】Andryusha and Nervous Barriers 题解

模拟+线段树套小根堆。

2022-07-20 08:21:11 157

原创 线段树 整理笔记

p.s. 代码块缩进有问题,但不影响正常阅读,请忽略。P4513 小白逛公园:区间询问 + 单点修改。对于询问区间内最大连续权值和,按照套路,维护 ti.lmaxt_i.lmaxti​.lmax 与 ti.rmaxt_i.rmaxti​.rmax,注意在查询的时合并答案要分情况。具体地,看代码吧(实在描述不来):区间乘 + 区间加 + 区间查询P2023 [AHOI2009] 维护序列:模板。线段树乘法不过是多加了一个乘法懒标记,维护的时候复杂了些。区间除法[雅礼集训 2017

2022-07-07 13:47:12 155

原创 (动态)树分治 学习笔记

浅谈一下学了好久的树分治。适合处理大规模树上路径信息问题。P3806 【模板】点分治1很基础的了,询问树上距离为 kkk 的点对是否存在。大概就是每次找重心当作根,对于当前的根,统计每个子节点到它的距离,然后用双指针遍历,当且仅当两个儿子到当前根的距离之和为 kkk 且来自根的不同子树时,这两个子节点的距离就为 kkk,那么距离为 kkk 的点对存在。另一道类似的升级题:P4178 Tree。题意变为求出树上两点距离小于等于 kkk 的点对数量。思路差不多,不过是在遍历统计答案的时候使用双指针统计答案,即

2022-06-30 15:38:51 323

原创 【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 315

原创 动态树之 Link Cut Tree (做题记录)

LCT 题单做题记录一、维护链信息P3203 [HNOI2010]弹飞绵羊:维护一条路径的长度,由于题目大大降低了难度,所以只需要使用 accessaccessaccess 和 splaysplaysplay 两个操作即可。要学会灵活应用 LCT 中的函数,不要有刻板思维(如改变 cutcutcut 函数的写法)。P1501 [国家集训队]Tree II:需要维护加标记、乘标记和翻转标记三个 lazytaglazytaglazytag。pushdownpushdownpushdown 时,先处

2022-05-18 13:35:04 173

原创 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 164

原创 【LG-P2839 [国家集训队]】middle

传送门:洛谷 P2839 [国家集训队]middle二分求解中位数 + 主席树维护Solution1 求中位数拿到题目首先肯定会去思考怎么求区间中位数。按照以往求中位数的方法——对顶堆,显然不行,时间肯定会炸。那就要引入一个新的求中位数的方法了:二分中位数大小,然后将大于等于该数的数的值设为 1,否则设为 -1,然后求区间的和,若大于等于 0,则意味着真正的中位数一定大于等于该数,否则小于该数,时间复杂度同对顶堆一样,O(nlogn)O(nlogn)O(nlogn)。2 线段树维护这时候我们

2022-05-18 13:31:57 149

原创 数论 · 幂函数求导

前言TC 讲课笔记。正文定义一个幂函数:f(x)=a1xb1+a2xb2+⋯+anxbn+Cf(x)=a_1x^{b_1} + a_2x^{b_2} + \cdots + a_nx^{b_n} +Cf(x)=a1​xb1​+a2​xb2​+⋯+an​xbn​+C。(CCC 为常数。)导数:反映一个函数的变化快慢。对于一个一次函数:f(x)=kx+bf(x)=kx+bf(x)=kx+b,那么它的导数就是 kkk——kkk 反应了这条直线上的点的变化快慢,kkk 越大,yyy 值的变化越大。

2022-05-05 13:55:42 2228

原创 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 680

原创 【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 434

原创 【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 357

原创 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 394

原创 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 1893

原创 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 191

原创 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 239

原创 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 394

原创 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 170

原创 P2999 [USACO10NOV]Chocolate Milk S 题解

前置知识 --> 拓扑排序这道题为什么要用拓扑排序呢?因据题意,每一个点奶的流量都有先后顺序,且顺序不得改动。重点在于本题入度,出度,队列等的运用。思路挤奶器:入度为 0,且可以最早入队列(因为它不受先后顺序的限制);混合器:混合器要放在每一个奶流都会经过的点,则该点的奶流量 = 总奶流量;while 入队出队操作:当队头的出度为 1 时,可以将之前记录下来的他的“子节点”操作之后,入队;答案统计:在将挤奶器入队时,统计总奶量,每一个挤奶器的奶量为 1, 并用 tot 统计,最后比较该点

2022-03-22 13:00:18 1467

原创 CF869C The Intriguing Obsession 题解

此题算法:模拟。题目概述由题意可得,此题是让我们连接三种不同颜色的点,要求同颜色的点距离大于等于 3 (每条边的距离为 1 ),任意两个点至多连 1 条边,问有多少种连接方案(答案需取模)。Part 1 - 主要思路首先,因为:同颜色的点距离大于等于 3 ,所以我们可以得出:显然,一个点不能与它同色的点相连;一个点不能同时与两个同色点相连。综上,只有 3 种连接方案—— a 与 b , b 与 c , a 与 c 。且! 3 种连接方案都是独立的。接着,我们就只用

2022-03-22 12:59:17 965

原创 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 339

原创 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 173

原创 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 457

原创 B2138 最大质因子序列 题解

思路模拟。快读。这个就不用多说了。判断质数。这个是用于辅助后面得到最大质因数,细节就是为了避免超时,循环上限是 sqrt (x) (头文件记得加 include<cmath> ,除非你用万能头)。最大质因数的获取。从大到小枚举!! 不然一发 MLE 警告。主函数没什么好说的了,最好用 printf ,避免超时。Code#include<bits/stdc++.h>using namespace std;int read (){ int

2022-03-21 12:49:32 507

原创 UVA1327 King‘s Quest 题解

笔者没 ac ,因为没绑定没提交。但在其他 OJ 上提交 ac 了,可以确保代码正确性。UVA1327 King’s Quest 传送门一道强连通分量的板子题。思路:最终可以满足条件的女孩 既要王子喜欢又可以被娶(也就是巫师那个名单) ,这不就类似强连通分量吗?只要王子喜欢的女孩和王子在同一个强连通分量里就都满足条件。这道题和板子的区别主要在于建边和答案输出,主要说说这俩。1. 建边:在王子到喜欢的女孩之间建边;在可以被娶女孩和王子之间建边。这些结合题目及思路,不难理解。2

2022-03-21 12:47:32 161

原创 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 572

原创 UVA610 街的方向 题解

题目分析一道桥的题(比模板难一点吧)。我们要在无向图中选择一些边,使得当它们变为有向边时,该图仍能连通。与其思考选择哪些边去改变,不如考虑哪些边不可以改。很明显,在有向图中,如果桥变成了单向边,这幅图肯定不能连通(可结合桥的定义理解)。那么我们只需要找出桥,也就是不能更改的边,并把他们输出两次(题目要求),则剩下的边就都可以改变,就输出一次即可。代码实现我们以 Tarjan 找桥的模板代码为基础,来写这道题。(为什么要用 Tarjan 找桥就不用再多说了吧。)概述:很简单,是桥就不能改,不

2022-03-21 12:46:16 460

原创 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 484

原创 LG-P4394 [BalticOI 2008]选举 Easy 题解

一道 01 背包的题。题目概述我们要从若干党中挑选几个党出来,组成一个联合内阁,使得:内阁的党的总席位数要越多越好;阁内党席位总数要超过(已给出的)所有党的席位总数的一半;当其中席位数最小的党退出之后,其他阁内的党的总席位数要比总席位数的一半要少。求解在此题中,每一个党面临的问题只有被选或不被选。这很明显,就是背包 dp。我们当然是挑选席位数大的党选——这样删去它就不容易会出现阁内席位数仍大于总席位数一半的情况。然后就是背包的板子了。具体可以见 P1048 采药 背包模板

2022-03-21 12:44:44 124

原创 P2321 [HNOI2006]潘多拉的宝盒 题解

思路我们要先找到所有的升级序列,找出所有的包含与被包含的关系,然后找到一条最长链,满足题目要求。如何找到所有的包含关系?遍历每一对盒子,对于二者,我们用 dfs 扫一遍,如果有一个盒子在一个节点输出了串,而另一个没有,那么这两者就不存在包含关系。反之,两者就存在包含关系。我们就可以建一条有向边,从包含者指向被包含者。为什么求最长链?易得,在一个强连通分量中,肯定是存在一条链的。所以,我们只需要把一个个强连通分量缩点,然后找到一条把超级点(强连通分量)串起来的最长的链即可。最终答案,

2022-03-21 12:43:56 203

原创 数论 · 逆元

前言针对比赛学的一点点逆元,在这里记录一下其中一种方法。当然求逆元的方法有很多种,之后学到再回来写。 —— 2021.8.24UPDATE2021 - 11 - 25 填坑。添加了两种求逆元的方法 + 修改了一些写得不好(难看至极)的地方2021 - 12 - 01 补充了欧拉定理的证明。定义若 ax≡1(modb)ax \equiv 1\pmod bax≡1(modb) 且 a⊥ba\perp ba⊥b(a,b 互质),则称 xxx 为 aaa 的逆元。一、费马小定理 +

2022-03-21 12:43:32 165

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除