自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CRTorlonia的博客

我永远喜欢伊莉雅

原创 set《题》

CF 878C LOJ 6302 WerKeyTom_FTD 51Nod1614 LOJ 547 Luogu 2542 Luogu 2317 Luogu 2917

2018-04-01 09:30:18

阅读数 129

评论数 0

原创 【NOIP2017】列队 Splay

原题走这里 鉴于蒟蒻的脑细胞不足,看不懂大佬们的树状数组离线解法,于是就只能用Splay了。 暂时先不考虑最右一列,只考虑n行的左m-1个元素。 给每一行都建一个大小为m-1的Splay明显是不现实的。 这里存在一个小小的心理陷阱,心理素质差的人比如我一看到300000*300000的方阵...

2018-08-01 10:16:16

阅读数 225

评论数 0

原创 【HAOI2016/BZOJ4566】找相同字符 后缀数组+单调栈

原题走这里 鉴于我实在不是很懂单调栈和单调队列这一系列东西,所以我决定稍微具体讲一下单调栈。 恩,本题实质上就是求两个字符串的公共子串数,其中只要出现位置不同,就算是不同的子串。 处理多个字符串的经典套路:把两个字符串连在一起,中间用分割符分割。 于是问题就转化为了:求分隔符前后都出现过的...

2018-05-11 22:49:03

阅读数 284

评论数 1

原创 【USACO06DEC/Luogu2852】牛奶模式 后缀数组 半模板题

原题走这里 本题实质上,就是求序列中最长的出现了至少kkk次的子串 而子串实质上就是后缀的前缀,于是我们可以使用后缀数组 鉴于后缀数组中,拥有相同前缀的的一系列后缀会表现为一段连续的区间 而相邻后缀的公共前缀长度又储存在heightheightheight,因此我们只需要求height数组...

2018-05-09 17:08:06

阅读数 134

评论数 0

原创 【HEOI2016&TJOI2016/BZOJ4552】排序 二分+线段树

原题走这里 这题的操作是真的神奇。 鉴于我们只有一组询问,我们可以二分第qqq位的数 于是我们的任务就变成了判断第qqq位是否大于midmidmid 由于序列中的数本身不会变,我们就只需要关心序列中的数是大于midmidmid还是小于等于midmidmid就行了。 于是我们可以把整个整个...

2018-05-09 16:38:44

阅读数 114

评论数 0

原创 【SHOI2014/Luogu4332】三叉神经树 树链剖分

原题走这里 首先我们定义节点的状态0,1,2,3分别代表该节点分别接收到0,1,2,3个信号。 那么我们会发现,叶子节点的状态改变,会导致叶子节点到根的路径上一连串节点的状态改变。 比如当某叶子节点到根的路径上, 由叶子节点开始的若干个连续的节点均处于状态2,且该叶子节点处于激活状态, ...

2018-05-04 12:11:04

阅读数 189

评论数 0

原创 set 易错点

LCT: 如果LCT要维护区间信息,则access,cut,rotate这种直接修改父子关系的操作,一定要随时update,cut操作完就update,access每循环一次都要update,rotate先update(y)再update(x) AC自动机: 建AC自动机时,要事先把root...

2018-04-28 10:18:44

阅读数 87

评论数 0

原创 【HAOI2012/BZOJ2752】高速公路 线段树

原题走这里 由于本题中的询问是等概率选取两个收费站,因此期望花费就等于所有可能花费之和除以可能性数,即:∑l≤i≤j≤r−1s(i,j)(r−l)(r−l+1)2∑l≤i≤j≤r−1s(i,j)(r−l)(r−l+1)2\frac{\sum_{l\le i\le j\le r-1}s(i,j) ...

2018-04-23 22:06:47

阅读数 120

评论数 0

原创 【NOI2010/BZOJ2005】能量采集 莫比乌斯反演

原题走这里 这其实是我的第一道认真做的莫比乌斯反演题 经过观察发现,位于(x,y)(x,y)(x,y)的植物的能量损失为gcd(x,y)−1gcd(x,y)−1gcd(x,y)-1 于是我们发现,原题实际上就是在让我们求∑i=1n∑j=1m(2∗gcd(i,j)−1)=2∗∑i=1n∑j=1...

2018-04-19 20:32:48

阅读数 179

评论数 0

原创 【51Nod1766】树上的最远点对 线段树+LCA

原题走这里 正解:对于每个询问以a~b,c~d之间的点为关键点建虚树,然后枚举a到b中的每一个点,bfs求最长路即可 原题中存在区间询问,因此八成会扯到数据结构,尤其是线段树。 然而……线段树维护区间最长路? 首先我们有这样一个结论: 对于两棵树,设它们的直径/最长路分别为(a,b)(a...

2018-04-15 21:45:56

阅读数 163

评论数 0

原创 【SDOI2014/BZOJ3530】数数 AC自动机+数位DP

原题走这里 数位DP+AC自动机似乎是常见套路? 首先题目一看就能想到数位DP。同时题目还涉及到多模式串匹配,于是又要用到AC自动机。 于是,我们可以初步得到状态d[i][j]d[i][j]d[i][j],表示当前在第i位,在AC自动机中匹配到第j个节点时的方案数。 然而有以下几个问题: ...

2018-04-15 12:11:37

阅读数 100

评论数 0

原创 【HNOI2017/BZOJ4827】礼物 FFT

原题走这里 原题相当于求∑(a[i]−b[i]+C)2∑(a[i]−b[i]+C)2\sum(a[i]-b[i]+C)^2,其中b可以任意旋转,C为整数,由于原题中有a,b小于m的限制条件,所以C范围最大也大不过(−m,m)(−m,m)(-m,m)。 那么我们可以把式子拆开: ∑i=0n−1...

2018-04-15 11:12:02

阅读数 111

评论数 0

原创 【HAOI2012/Luogu2505】道路 最短路DAG

原题走这里 本题的整个思想十分暴力。 首先,既然最多只有1500个点,那么就可以枚举最短路的起点,然后把最短路的条数累加到各条边上就可以了。 然而,枚举出每一条最短路再累加明显是不现实的,于是我们还需要另一个东西:最短路DAG 最短路DAG,说白了就是由一张图上所有的以某个节点为起始点的最...

2018-04-15 10:20:18

阅读数 178

评论数 0

原创 【POI2010/Luogu3502】CHO-Hamsters AC自动机+矩阵乘法

原题走这里 原来矩阵乘法还能这么用的嘛??!!——看完题解后的我 首先,题目中很重要的一句话是字符串之间不相互覆盖。 这意味着在最终解里面字符串一定是依次出现的。 那么我们可以预处理出dis[i][j]dis[i][j]dis[i][j],表示将j放在i后面会增加的字符数。 这里可以用A...

2018-04-15 09:34:06

阅读数 105

评论数 0

原创 【NOIP2013/Luogu1979】华容道 最短路

原题走这里 一看到这道题, 首先可以用脚指头想到, 既然目标是让指定棋子移到目标位置上, 那么决定棋盘状态的就只有指定棋子的位置和空格的位置两个因素。 接着,可以用手指头想到, 既然,指定格子只有在周围有空格时才能动, 那么实际上状态就只有棋子的位置,以及空格在棋子的哪个方向。 共...

2018-04-14 17:58:49

阅读数 149

评论数 0

原创 【SHOI2009/luogu2159】舞会 DP+容斥+高精度

原题走这里 应该是本人做过的第一道DP+容斥了,容斥原理博大精深啊…… 原题问的是至多k对女比男高的情况,我们可以先考虑 至少 k对女比男高的情况,然后用容斥来转化。 首先,让男生女生按身高排序。 设d[i][j]d[i][j]d[i][j]为前iii个女生中已经确定有jjj个女生比对应的...

2018-04-09 07:50:41

阅读数 158

评论数 0

原创 【HDU3480】Division 斜率优化/四边形不等式优化

原题走这里 首先很容易想到给原数组排序,于是最大值和最小值就变成最左和最右。明显是选取连续的区间最优,于是原问题就转化为了区间DP,设前iii个中选取jjj个区间的最优解为d[i][j]d[i][j]d[i][j],转移方程: d[i][j]=min(d[i−1][k]+(s[j]−s[k])...

2018-04-08 13:49:02

阅读数 131

评论数 0

原创 【FJOI2007/BZOJ1002】轮状病毒 找规律+高精度

原题走这里 一看题……矩阵树定理秒杀…… 等等……我连行列式都不会求用什么矩阵树定理…… 于是就只能推式子了。 让我们暂时先把环剖成链,于是问题就变成了一个类似整数剖分的形式: d[i]=∑j=1i−1d[j]∗(i−j)d[i]=∑j=1i−1d[j]∗(i−j)d[i]=\sum_{...

2018-04-07 22:11:26

阅读数 155

评论数 0

原创 【SHOI2007/BZOJ1933】书柜的尺寸 dp

原题走这里 目前见过的DP中算是思维难度比较大的了,其主要原因在于我太菜了 本题问的是书柜总高度*书柜长度的最小值,这种情况下,我们应当将其中一个作为状态,另外一个作为代价,然后统计得到最小值。 于是,我们就可以把状态设为d[i][j][k]d[i][j][k]d[i][j][k],表示前i...

2018-04-07 18:26:56

阅读数 271

评论数 0

原创 【SDOI2009/BZOJ1879】Bill的挑战 状压DP

原题走这里 一看数据范围就知道是状压 首先预处理出s[i][j]即n个字符串的第i位与字母j的匹配状态 设d[i][S]为前i个字母匹配状态为S的情况下的方案 然后对于每个状态枚举下一位是多少就可以了 最后统计一波~~~AC 代码如下: #include <bits...

2018-04-07 17:34:19

阅读数 78

评论数 0

原创 【NOIP2015/luogu2680】运输计划 二分+树上差分

原题走这里 本题求的是改造后,使得所有路线的最大值最小。 一看到最大值最小,立刻想到二分答案,我们可以二分所有路线中最长的一条,设为x,判断是否可能通过改造,使得所有路线都小于等于x。问题就被转化为了判定性问题。 接着就是是判断可行性:为了判断可行性,我们要找到这样一条边,使得 1)它被所...

2018-04-07 15:54:39

阅读数 178

评论数 0

原创 【NOI2007/BZOJ1494】生成树计数 插头DP

原题走这里 一看数据范围就知道是矩阵快速幂优化 首先,设当前点为iii, 接着就会发现,iii不可能与i−Ki−Ki-K之前的点相连, 因此当前点的连通性只与i−Ki−Ki-K到i−1i−1i-1共K个点的连通性有关。 于是我们可以用d(i,S)d(i,S)d(i,S)来表示当前点为ii...

2018-04-01 19:33:40

阅读数 144

评论数 0

原创 【POJ3133】Manhattan Wiring 插头DP

原题走这里 看起来就很难的一道题 本题存在一个小陷阱,它看起来像是单回路模型(毕竟是求路径),然而它其实是多回路模型,或者说可以用多回路模型做。 这道题求的是最短距离,那么这就意味着如果出现了多出来的一个回路,那么它就会因为带来了额外的距离而被舍去。 于是乎,我们就可以用多回路也就是Eat...

2018-03-25 16:44:24

阅读数 95

评论数 1

原创 【HDU4285】Circuits 插头DP

原题走这里 依然是经典的棋盘模型,和原题差不多。 但是由于题目有限定回路数,要在状态中加一维表示已形成的回路数。 此外,由于不允许回路嵌套,我们要有一个特殊规定: 如果当前的一对插头要形成一个回路(也就是()到##的转移),当前这对括号前面的插头数必须为偶数,否则会出现嵌套。 大致证明不...

2018-03-25 16:33:55

阅读数 63

评论数 0

原创 【HNOI2007/Luogu3190】神奇游乐园 插头DP

原题走这里 状态和模板一样,转移也几乎和模板一样。 但是由于本题并不要求覆盖所有点,因此要允许“##”到“##”的转移 此外由于本题是单回路,所以“()”到“##”的转移也只能发生一次,为了方便,我们可以干脆把形如“####()###”的状态,也就是只有一对相邻括号的状态作为最终解。 取所...

2018-03-25 16:06:49

阅读数 110

评论数 0

原创 【51Nod 1142】棋子遍历棋盘 矩阵快速幂+插头DP

原题走这里 从数据范围可以看出是矩阵快速幂优化 由于这种插头DP各行之间的转移是十(yi)分(mu)相(yi)似(yang)的。 我们可以用矩阵来描述d[i][m][1…S]到d[i+1][m][1…S]的转移。 算出每一个d[i][m][1…S]对每一个d[i+1][m][1…S]的贡献...

2018-03-25 15:39:43

阅读数 242

评论数 0

原创 【POJ1739】Tony's Tour 插头DP

原题走这里 大概就是强制要求从左下角开始在右下角结束的哈密顿路径 在图的下方加一两行: .##########. ………………… 即可。或者在dp最后返回第一和第m个插头联通的状态也可以。 代码如下: #include <iostream> #includ...

2018-03-25 11:38:57

阅读数 80

评论数 0

原创 【Ural1519】Formula 1 插头DP模板

原题走这里 插头DP,说白了就是一类极其要命极其复杂的状压DP 通常和连通性,环,生成树之类的东西有关 以轮廓线上的状态为DP的状态,逐格递推 以上废话请忽略…… 我们先以HDU1693 Eat the Trees 作为引入,这道题是多回路,因此只需用0/1记录轮廓线上是否有回路通过。 ...

2018-03-25 11:19:41

阅读数 57

评论数 0

原创 【BZOJ3992/SDOI2015】序列统计 NTT

原题走这里 一道非常奇妙的题,操作十分神奇。 首先原题中的式子是 a1a2a3...a|S|≡p(modm),ai∈Sa1a2a3...a|S|≡p(modm),ai∈Sa_1a_2a_3...a_{|S|}\equiv p (mod m) , a_i\in S 然而乘法是没有办法直接做FF...

2018-03-11 10:25:35

阅读数 65

评论数 0

原创 【BZOJ3527/ZJOI2014】力 FFT模板题

原题走这里鉴于本机房似乎除了我以外所有人都能一眼看出来这是个卷积 然而我却盯了好久才看出来 所以大佬们可以直接退出 sa yo na la ~~我们把原题中的式子左右分开来看,现在只考虑左边,即 left(j)=∑i<jqi(i−j)2left(j)=\sum_{i<j}\fra...

2018-03-11 09:37:48

阅读数 60

评论数 0

原创 【HNOI2012/BZOJ2730】矿场搭建 双联通分量

原题走这里 又是一道神奇的题 首先我们会发现在同一个双联通分量内 如果坍塌的不是割点则不会有任何影响 那么我们只考虑割点坍塌的情况 如果某个双连通分量有多于一个割点,则无需设置逃生出口 否则要在非割点的点上设置一个 每个设置了逃生出口双联通分量的大小减去1之后全部乘起来即可 注意特...

2018-03-01 13:56:25

阅读数 80

评论数 0

原创 【网络流24题】汽车加油行驶 最短路

为什么网络流24题里会有最短路…… 原题走这里 题目描述比较繁琐,重点在于如何建图 题目中一个重要的点就是“加满油后可以行驶K格” 可以将其视作为让汽车油量变为K,汽车每走一格就消耗一单位油,没油时就要再加油 K&lt;=10一看就知道是分层图最短路 1~k每一种油量建一层图 ...

2018-03-01 13:25:03

阅读数 90

评论数 0

原创 【AGC004D】Teleporter 贪心+DFS

原题走这里又是一道奇妙的题首先,为满足要求,首都必须指向自己,将首都指向自己后,整张图可以构成一棵树问题就转化成了,对于一颗有根树,如何将其分割成多棵树,使各棵树满足:树根是1时,深度不大于K树根不是1时,深度不大于K-1且使得切割的边数最少做法是贪心,做一个DFS,在回溯过程中,计算某子树在切割...

2018-02-23 16:34:51

阅读数 186

评论数 0

原创 【AGC004C】AND Grid 构造

原题走这里其实我不是很喜欢这类题目构造方法十分奇妙A图涂满最左一列,以及除了最右一列以外所有的奇/偶数行格子,B图反之然后让输入图和AB两图分别取并即可还是看图吧:代码如下:#include &lt;bits/stdc++.h&gt; using namespace std; ch...

2018-02-23 14:40:48

阅读数 95

评论数 0

原创 【AGC002F】Leftmost Ball 组合

原题走这里又是一道思维难度很大的题,思路很难想到首先,不妨假设颜色1~n依次出现,只要最后把答案乘上n!就可以了并且,如果排列是合法的,那么第i个无色球必然在第i个颜色之前出现那么,问题就转化为了对于所有n个0和k-1个各种颜色球的排列中,符合上述条件的有多少个。接着,我们可以发现,符合要求的排列...

2018-02-22 16:50:22

阅读数 380

评论数 0

原创 【AGC002E】Candy Pile 博弈论找规律

原题走这里又是一道十分巧妙的题重点在于找规律以及将数组转化为图形首先将各个糖果堆按降序排序就变成了类似下面图1的情况                                     图1:排序后的糖果堆我们可以发现,操作1吃掉最大的一堆,相当于删去最左的一列,操作2从每一堆中吃掉一个,就相...

2018-02-22 15:41:06

阅读数 482

评论数 5

原创 【网络流24题】骑士共存

原题走这里还是一道经典的题对棋盘黑白染色由于马只能从黑格跳到白格或者反过来,因此原图必然是二分图建图,连边,求独立集即可代码如下:#include &lt;bits/stdc++.h&gt; #define INF 0x3f3f3f3f using namespace std; i...

2018-02-21 17:35:37

阅读数 105

评论数 0

原创 【网络流24题】方格取数

原题走这里似乎是非常经典的一道题说白了就是二分图带权最大独立集看到这道题的第一眼就想到了正确做法然而一直不知道如何证明黑白染色成二分图源点向黑点连边,权值为格子上的数白点向汇点连边,权值为格子上的数黑点向相邻的白点连边,权值无穷独立集与覆盖集互补,因而最大权独立集与最小权覆盖集互补又对于覆盖集中的...

2018-02-21 16:49:48

阅读数 113

评论数 0

原创 [HDU1890] Robotic Sort SPLAY

原题走这里原题有点难以描述,就不描述了,很明显的Splay(也许可以加一个离散化)思维上最大的难点就在于如何找出下一个待排序的元素的位置由于SPLAY数组中的元素下标是不变的只需预处理出一个数组,储存第n个元素在SPLAY数组中的位置即可每次把待排序元素的后继旋到根输出(根的左子树大小-i+1)将...

2018-02-21 15:55:02

阅读数 73

评论数 0

原创 [HDU4292] Food 网络流

原题走这里意思大概就是有多种食品和饮料,每种个有若干个,每个人各有偏好,可能只喜欢某几种食品和饮料求如何每人分配一件食物和一件饮料,使得各人的偏好都被满足很容易就能想到网络流分层图网络流一开始我们可能会想到建三层图,食物一层,人一层,饮料一层源点向每一种食物连边,流量为该种食物的个数。类似的,饮料...

2018-02-21 15:36:49

阅读数 85

评论数 0

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