- 博客(140)
- 收藏
- 关注
原创 [ONTAK2010]Peaks加强版
题链:https://www.lydsy.com/JudgeOnline/problem.php?id=3551kruskal重构树+主席树维护#include<cstdio>#include<algorithm>using namespace std;int red(){ int ret=0; char ch=getchar(); whil...
2019-03-16 10:02:45
513
原创 [Violet]蒲公英
题链:https://www.luogu.org/problemnew/show/P4168这是一道神仙题首先分块,答案可能是夹在中间的块或者是两边的数预处理出任意一段块的众数再每块用前缀和每次询问暴力就好了有点语无伦次,看代码#include<cstdio>#include<algorithm>#include<iost...
2019-03-16 09:45:54
314
原创 [国家集训队]小Z的袜子
题链:https://www.luogu.org/problemnew/show/P1494莫队裸题对询问按左端点排序分成块,在对块中的询问按右端点排序暴力从上一个询问转到下一个询问时间:#include<cstdio>#include<cmath>#include<algorithm>#define ll lo...
2019-03-16 09:36:54
261
原创 「NOI2018」归程
题链:https://loj.ac/problem/2718由于有无积水对行走没有影响,所以先预处理出每个点到1号点的路径问题就变成了求一个联通块中最小值两种方法:1、用可持久化并查集维护,在根节点记录最小值2、用kruskal重构树维护,用ST表维护最小值方法1代码:#include<cstdio>#include<queue&...
2019-03-16 09:31:09
229
原创 【模板】可持久化并查集
题链:https://www.luogu.org/problemnew/show/P3402和可持久化数组及其类似,用主席树只是利用了主席树的结构 主席树的叶子节点存的是该节点的爸爸 由于每次修改的数量不能太多(不然会RE+TLE),所以不能路径压缩,只能按秩合并#include<cstdio>using namespace std;const i...
2019-03-16 09:19:45
154
原创 [国家集训队]矩阵乘法
题链:https://www.luogu.org/problemnew/show/P1527感觉树套树可以,但是空间不够没有修改,询问的类型相同,又可以离线,推测整体二分试试看,发现是个二维整体二分时间复杂度#include<cstdio>#include<iostream>#include<algorithm>us...
2019-03-16 08:59:57
178
原创 [国家集训队]种树
戳我看题面以每个坑种树的收益建一个大根堆填上一个坑后,向堆加入坑两边收益减去坑的收益,提供反悔的机会这与网络流很像用链表存前驱后继#include<cstdio>#include<queue>using namespace std;struct A{int id,x; };const int N=2e5+5; int n,m,pre[N]...
2019-03-07 20:26:20
221
原创 NOIP2017 Day2 T3 列队
戳我看题面考虑n=1的时候:维护一个数列,每次删除一个数,再数列的结尾加上一个数,求第K大这是splay,treap模板题当然,不单单可以用他们来做来可以用老少皆宜的线段树来做维护01数列表示那个数是否存在,提前开出空间删掉一个数标记成0,加上一个数常规加,求第K大就是线段树上二分也可以用树状数组来做与线段树操作一样,求第K大就是树状数组上倍增当n!=...
2019-03-07 17:53:33
221
原创 BZOJ 3143: [Hnoi2013]游走
看题面戳我求最小的获得的期望很容易想到当边的期望经过数量越小,给予的权值越大设表示边经过次数的期望,为经过点出去次数的期望,为度数,要,通过移项,可以得到个未知数,个方程的方程组高斯消元后求出,进而求出,进而求出总期望唯一坑点:要开 ,这无疑是想不到 这道题不得说是一道对于初学者来说不错的题目作为一个对期望一窍不通的弱鸡,我对此还能做出#incl...
2019-02-15 15:47:36
201
原创 速战逆矩阵
A:这是不是像上篇速战高斯消元一样都是水货?只用小学数学?Q:如果你小学就会了这个,WOW,ORZ大佬A:什么?这是不是很难?Q:你学过线性代数不难A:。。 常识:任何初等变化都可以在左边乘上一个矩阵表示常识:增广矩阵 一步一步教你如何写出逆矩阵模板先拿出草稿纸和笔然后任意写一个矩阵之后在矩阵旁边并排写上一个单位矩阵,并把它们当成整体,一起加减消元法...
2019-02-15 14:30:01
189
原创 速战高斯消元
A:高斯消元,这难吗?Q:不难,只要你会线性代数初等变换A:没去学过?。。Q:上B站看大神讲解,去上网易公开课,看百度,买本书自己啃…… 前面都是为了鼓励你们自我学习所说的肺(骗)腑(人)之言,当然这没有这么高大上也不需要许多前置知识,只要你会十分水(难)的如何加减消元和代入消元(想当年我初中就这两个名词没写出来被扣了分。。) 如何个方程的解呢?其实很简单,只需...
2019-02-15 12:50:16
206
原创 Luogu P2659 美丽的序列
题链很容易想到,对于每个数,先求出最后一个在原来的数左边的比它小的数,再求出第一个在原来的数右边的比它小的数然后循环统计答案 问题就变成了如何求最后一个在原来数左边比它小的 可以发现具有单调性:设存在,满足,则可舍去所以用单调的数据结构维护(队列、栈……) 这道题不用维护头,所以用栈维护记得开long long #include<cs...
2018-12-30 15:00:45
246
原创 浅谈矩阵乘法
https://vjudge.net/contest/274056#overview 矩阵乘法:利用矩阵优化其次的递推式矩阵和矩阵乘法相必大家都知道(不会的右转百度)把与的矩阵相乘,得到一个的矩阵即是矩阵乘法,时间最暴躁的为———————————————————————————————————————————————————————例:矩阵乘法模板题#include&...
2018-12-09 20:54:23
275
原创 BZOJ 1492: [NOI2007]货币兑换Cash
看题面戳我60分做法:有提示得,每次必须买完或者卖完,感觉像dp表示前天赚取的最多钱其中 ,#include<cstdio>#include<iostream>using namespace std;const int N=1e5+5;int n;double f[N],a[N],b[N],r[N]; int main(){ sca...
2018-12-03 09:00:32
330
原创 Luogu P1393 动态逆序对
戳我看题面常规操作:离线后删除改成插入(倒着做)问题就变成了插入一个数,求逆序对求逆序对是cdq分治,所以插入一个数求逆序对多半也是cdq分治构造三元组,表示时间,表示位置,表示数的大小新插入一个数带来的影响无疑是 且(,或者,) 记下来后求一前缀和就搞定了#include<cstdio>#define ll long longusi...
2018-12-02 20:44:13
222
原创 Luogu P3374 【模板】树状数组 1
看题面戳我一道常规的二维偏序,用前缀和的思想把求分成带修改条件的,是从二维进阶到三维的必备题#include<cstdio>using namespace std;const int N=2e6+5;int n,m,c,cnt,ans[N];struct A{int id,k,x,y; }q[N],t[N];void work(int l,int r){...
2018-12-02 20:41:48
276
原创 浅谈整体二分
思路有些像CDQ,都是离线整体二分满足以下性质: 1. 询问的答案具有可二分性 2. 修改对判定答案的贡献相对独立,修改之间互不影响效果 3. 修改如果对判定答案有贡献,则贡献为一确定的与判定标准无关的值 4. 贡献满足交换律,结合律,具有可加性 5. 题目允许离线操作时间复杂度方面还要满足整体二分内部不能与序列的总长度相关,而要与当前的序列的长度相关————————————...
2018-12-02 11:29:54
220
原创 浅谈CDQ分治
前置知识:分治步骤: 1、把原问题分为若干个形式相同,规模更小的子问题,直到子问题足够小 2、递归求解子问题 3、合并子问题的解,得到原问题的解__________________________________________________________________ CDQ分治:一种特殊的分治,可以代...
2018-12-01 14:40:16
179
原创 Luogu P1613 跑路
戳我看题面才50,时间复杂度可能是,也就是或者 //是数的最大值因为和倍增有关,所以猜测。这么奇葩的时间复杂度,只有了。也就是两遍了第一遍,倍增求出所有用十分牛B的空间跑路器能在1点时间从到,也就是长度为都为1第二遍,求出最短路——————————————————————————————————————————————————Q:倍增是……?A:我给它取的名字,...
2018-11-26 13:03:47
193
原创 BZOJ 2223: [Coci 2009]PATULJCI
看题面戳我因为给了上限,言外之意算法与数据的上限有关,猜测是数组,但想一想不可能,所以应该是权值线段树综合一下,猜测应该是区间第K大,也就是主席树了最暴力的做法:每次询问排序后查看是否有连续超过的数相同Q:为什么要是超过的数相同呢?为什么不能在给一个数据呢?A:这是区间的一半,排序后如果存在则相同的数必须为中位数,证明略所以结论与之前的猜想一结合,就是求区间的中位数的个数是...
2018-11-25 12:03:05
183
原创 BZOJ 1040: [ZJOI2008]骑士
看题面戳我这道也是一道基环树的题目,建议先做我的博客这道题再做这道题与那道题很像,只用把无向边改为有向边,因为没有保证联通,所以还要用并查集判断一下记得开long long#include<cstdio>#include<iostream>#define ll long longusing namespace std;const int N=1e...
2018-11-23 13:40:25
201
原创 Luogu P1453 城市环路
看题面戳我这是一道基环树上DP的裸题没有上司的舞会想必大家都A掉了这题只不过是在那个基础上套上一个环按照基环树的解决套路,找到环后断掉一条边,或者先对环上的结点进行一遍树形DP,然后再进行一遍环形DP这题我选了后者dfs1求环,dfs树形DP,再枚举环上第一个点选不选进行环上DP就可以了#include<cstdio>#include<iostre...
2018-11-23 10:07:44
217
原创 BZOJ 1034: [ZJOI2008]泡泡堂BNB
看题面戳我这题第一印象就是田忌赛马,但是田忌赛马肯定是错误的,样例1就可以秒了所以加点补丁:如果最弱的比对面最弱的强,就派出;如果最强的比对面强,也派出,之后田忌赛马就好了#include<cstdio>#include<algorithm>using namespace std;const int N=1e6+5;int n,a[N],b[N]...
2018-11-21 16:32:58
184
原创 LOJ #10045. 「一本通 2.2 练习 1」Radio Transmission
看题目戳我这题是一道处理循环节的题目,按照菜鸡的套路,KMP走起上述的红色就是循环的子串,这不会小学三年级的和差问题?所以答案为#include<cstdio>using namespace std;const int N=1e6+5;int n,nxt[N];char s[N];int main(){ scanf("%d%s",&n,s...
2018-11-20 14:35:46
462
原创 LOJ #2823. 「BalticOI 2014 Day 1」三个朋友
戳我看题目我称原来的字符串为子串,子串无疑只有两种:前面或者后面分类讨论,枚举是前面还是后面,再枚举那个字母要去掉,用hash判断(双hash)Q:如何用hash判断呢?A:用前缀和和后缀和,然后组合一下,细节在代码中Q:这就好了?A:GG,注意:输出NOT UNIQUE当且仅当两个字符串不一样,而不是额外那个字母不一样#include<cstdio>#...
2018-11-20 14:15:05
1014
原创 Luogu P5018 对称二叉树
看题面戳我这算是普及组史上最简单的压轴题了吧!考场上为啥有人连看起来的暴力都不写呢?蒟蒻发问最基础的暴力都能过了!暴力搜索,暴力判断(如果大小不一样直接返回0,否则继续递归判断),连剪枝都不用——————————————————————————————————————————————————看起来这句话很耐人寻味Q:这不是?A:错,是首先暴力判断大小是否一样,最...
2018-11-20 10:51:48
182
原创 LOJ #10036. 「一本通 2.1 练习 2」Seek the Name, Seek the Fame
看题面戳我脑抽了写了个map,没有发现多组数据为了卡,草率地加了一个while就愉快地TLE了前置知识:双hash,一个hash总觉得不靠谱,所以双hash,不会的左转度娘————————————————————————————————————————————维护两个hash的数组,类似前缀和的操作当然可以选择将数组改成变量(我就是这么做的)这么简单的题卡了菜鸡这么久,菜鸡...
2018-11-19 17:28:07
244
原创 LOJ #10035. 「一本通 2.1 练习 1」Power Strings
看题面戳我这道题我开始没有想到方法,没想到暴力竟然可以水过后来看了别人的题解才知道原来是道KMP不管如何,答案至少为1如果这是由长度大于1的子串构成的,子串无疑是(没学过KMP的自行百度)所以如果能被整除,那么答案为给你们张丑不拉几的图理解一下#include<cstdio>#include<cstring>using namespace st...
2018-11-19 16:18:01
362
原创 Luogu P3919 【模板】可持久化数组(可持久化线段树/平衡树)
题面跳转站题目背景UPDATE : 最后一个点时间空间已经放大标题即题意有了可持久化数组,便可以实现很多衍生的可持久化功能(例如:可持久化并查集)题目描述如题,你需要维护这样的一个长度为 NN 的数组,支持如下几种操作 在某个历史版本上修改某一个位置上的值 访问某个历史版本上的某一位置的值 此外,每进行一次操作(对于操作2,即为生成一个完全一样的版本,不...
2018-11-16 15:52:37
258
原创 深度剖析主席树(静态)
主席树(chairman tree)(据说是被chairman传开的)它是一种专门用来实现求区间第K大这类操作的数据结构 Q:这不是分块轻松解决的事吗?A:是的,但是分块时间为的,而主席树是的Q:这是不是很难,代码复杂度极高?A:NoNoNo,代码复杂度一点都不高,前置知识只有动态开点线段树Q:那我不会怎么办?A:右转自行度娘,或者菜鸡的博客 菜鸡很菜,...
2018-11-16 09:55:41
294
原创 浅谈动态开点线段树
兴致勃勃的弱鸡想去学主席树了!可惜突然发现动态开点线段树不会了。。。。发挥大胆猜想,不用求证的精神:你们都会线段树众所周知:线段树空间复杂度是O4*n,这就不用证,因为我菜那当n很大,操作正常时,如果像正常的线段树一样(记左儿子为n+n,右儿子为n+n+1),再开四倍n会炸内存 怎么办呢?想一想:时间复杂度与原来几乎差不多 mlg n,与原来差距只有没几倍的常数而已...
2018-11-15 15:49:27
5455
2
原创 Luogu P3178 [HAOI2015]树上操作
https://www.luogu.org/problemnew/show/P3178题目描述有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a 。操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。操作 3 :询问某个节点 x 到根的路径中所有点的点权和。输入输出格式输入格式: 第一...
2018-11-14 09:57:51
196
原创 Luogu P1486 [NOI2004]郁闷的出纳员
https://www.luogu.org/problemnew/show/P1486题目描述OIER公司是一家大型专业化软件公司,有着数以万计的员工。作为一名出纳员,我的任务之一便是统计每位员工的工资。这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资。如果他心情好,就可能把每位员工的工资加上一个相同的量。反之,如果心情不好,就可能把他们的工资扣除一个相同的...
2018-11-13 20:42:11
149
原创 Luogu P2286 [HNOI2004]宠物收养场
https://www.luogu.org/problemnew/show/P2286题目描述凡凡开了一间宠物收养场。收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a<2^31),而他也给每个处在收养场的宠物一个特点值...
2018-11-13 17:54:42
165
原创 Luogu P2234 [HNOI2002]营业额统计
https://www.luogu.org/problemnew/show/P2234题目描述Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接...
2018-11-13 16:29:10
187
原创 浅谈treap
我写博客是给自己看的,所以别喷我丑treap是一种特别神奇的东西,从英文字母中可以看出其的本质:tree+heaptree——BST二叉搜索树,heap——堆首先二叉搜索树就不讲了(一句话:满足左子树所有结点的值<根结点的值<右子树所有结点的值)在最优的情况下,是O(n lg n),这是非常非常优秀的时间复杂度但是如果单单维护二叉搜索树,当它是一条链的时候时间复杂度...
2018-11-13 15:38:36
360
原创 Luogu P4568 [JLOI2011]飞行路线
https://www.luogu.org/problemnew/show/P4568题目描述Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司。该航空公司一共在nn个城市设有业务,设这些城市分别标记为00到n-1n−1,一共有mm种航线,每种航线连接两个城市,并且航线有一定的价格。Alice和Bob现在要从一个城市沿着航线到达另一个城市,途中可以进行转机。航空公司对...
2018-11-08 15:02:26
175
原创 Luogu CF786B Legacy
https://www.luogu.org/problemnew/show/CF786B CF786B Legacy 104通过 404提交 题目来源CodeForces 786B 评测方式RemoteJudge 标签 难度省选/NOI- 时空限制2000ms / 256MB 提交 题解 提示:收藏到任务计划后,可在首页查看。最新讨论显示推荐的相关题目...
2018-11-08 14:22:09
849
原创 Luogu P1983 车站分级
https://www.luogu.org/problemnew/show/P1983题目描述一条单向的铁路线上,依次有编号为 1, 2, …, n1,2,…,n的 nn个火车站。每个火车站都有一个级别,最低为 11 级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 xx,则始发站、终点站之间所有级别大于等于火车站xx 的都必须停靠。(注意:起始站和终点站...
2018-11-08 13:00:04
192
原创 Luogu P3393 逃离僵尸岛
https://www.luogu.org/problemnew/show/P3393题目描述小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家。该国有N个城市,城市之间有道路相连。一共有M条双向道路。保证没有自环和重边。K个城市已经被僵尸控制了,如果贸然闯入就会被感染TAT...所以不能进入。由其中任意城市经过不超过S条道路就可以到达的别的城市,就是危险城市。...
2018-11-08 10:15:13
248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人