自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ronaldo7_ZYB的博客

很好的博客

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

原创 『点分治』算法的简单理解

点分治的作用在一棵树上,我们会经常遇到各类路径问题:例如路径计数问题,路径最值问题等。此时,我们的主要思想就是选择一个根作为这棵树的根节点(一般题目中的树都是无根树),计算和根相关的答案,再对每一个子树分治。此时,我们需要将树分的尽可能均匀来保证时间复杂度得稳定,我们一般选择计算树的重心。此时,如果操作是线性级别的,那么时间复杂度就是:O(n log n)O(n\ log\...

2019-05-30 20:28:20 255 1

原创 『单调栈·动态规划·ST表·莫队』「HNOI2016」序列

题目描述给定长度为n的序列:a1,a2,…,an,记为a[1:n]。类似地,a[l:r](1≤l≤r≤N)是指序列:al,al+1,…,ar-1,ar。若1≤l≤s≤t≤r≤n,则称a[s:t]是a[l:r]的子序列。现在有q个询问,每个询问给定两个数l和r,1≤l≤r≤n,求a[l:r]的不同子序列的最小值之和。例如,给定序列5,2,4,1,3,询问给定的两个数为1和3,那么a[1:3]...

2019-05-26 21:43:56 278 2

原创 『位运算·枚举』「四校联考」最大值

题解这道题的题解妙啊…显然从高位进行枚举,能选则选,这一点是很容易想到的。关键在于如何判断。显然,如果存在这个数是小于等于任意一个R[i]R[i]R[i]的,相当于在任何一个区间都是不受约束的,可以取;至于对后面的影响,我们只需要让左右区间都减去这一个选取的数即可。如果存在大于R[i]R[i]R[i]的,显然这一个数是没有用的;我们需要对L[i]>=L[i]&gt...

2019-05-23 21:41:34 208

原创 『树直径·树形DP』「四校联考」平衡树

题解题意很简明扼要,在一棵树上删除一条边并添加一条边,使得树的最长链最小。很显然,删去的边一定在树的最长链上;否则,尽管其他的边如何变小,树的最长链是始终不变的。因此我们需要枚举最长链上的每一条边,并将其删除;最后统计删去后的最长链是多少。显然,当一棵树treetreetree的最长链删去以后,便会分裂成子树tree1tree1tree1和tree2tree2tree2;那么最后的直径...

2019-05-23 21:32:26 201

原创 又一次『极其失败』的考试总结

考试详情这一次极其失败,并不在这两个40分上而在于这一个0分上。T1 40分是各种特判暴力乱搞,或许比预期还要高。T2 40分是预期中的分数,20分并查集+树形DP+暴力枚举删边加边 and 20分链的结论特判。T3 0分,可以说是一个天大的错误——有向边写成了无向边wuwu。改一句话,分数就变成180分了。(恨不得抽自己QAQ)唯一一个值得安慰的地方,就是又有Rank5而且我们初二除...

2019-05-23 20:50:56 145

原创 『分块』分块入门1-9题解

关于分块关于分块,其主要思想是大局维护,局部朴素;即吧一个序列分成若干个小块,对任意区间进行操作的时候:如果区间内包含完整块,就进行快速的整体修改;若所修改区间内的一部分是某个个块中的一部分,则直接进行暴力修改就行。根据有关数学知识,可以证明分成n\sqrt nn​的时间效率最高,一般的时间复杂度则是O(nn)O(n\sqrt n)O(nn​)分块入门1给出一个长为n的数列,以及n个操作,操...

2019-05-22 21:25:43 319

原创 『权值动态开点线段树』『线段树合并算法』简单理解

权值线段树与动态开点在正常的线段树中,我们总是以下表来进行线段树的操作。而权值线段树主要用于对具体的权值进行构造线段树,用于权值计数,权值操作等问题。由于权值太大,我们不再采用完全二叉树的编号方式,使用类似于邻接表一样的存储方式,每一个节点只存储它儿子节点的编号;且只对有用区间进行开点操作,这样复杂度也是logloglog级别的。例如,需要添加权值为为444的点,而总区间是[1,10][1,...

2019-05-22 20:39:11 744

原创 『线段树扫描线算法』简单理解

Question1给定若干个矩形,线矩形的面积并。分别用O(n2)O(n^2)O(n2)级别和O(n log n)O(n\ log\ n)O(n log n)级别的算法解决。我们的做法是对矩形的纵坐标进行离散化,得到离散化后的坐标y1,y2,...,ym.y_1,y_2,...,y_m.y1​,y2​,...,ym​.用val(y)val(y)val(y...

2019-05-22 19:57:23 421

原创 『线段树』「USACO月赛」Hotel

题目描述奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及 明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的 旅馆住宿。这个巨大的旅馆一共有N (1 <= N <= 50,000)间客房,它们在同一层 楼中顺次一字排开,在任何一个房间里,只需要拉开窗帘,就能见到波光粼粼的 湖面。贝茜一行,以及其他慕名而来的旅游者,都是一批批地来到旅馆的服务台, 希...

2019-05-22 19:15:33 294

原创 『树状数组』贪婪大陆

题目描述人类被蚂蚁们逼到了 Greed Island 上的一个海湾。现在,小 FF 的后方是一望无际的大海, 前方是变异了的超 级蚂蚁。 小 FF 还有大好前程,他可不想命丧于此, 于是他派遣手下最后一批改造 SCV 布置地雷以阻挡蚂蚁们的进攻。小 FF 最后一道防线是一条长度为 N 的战壕, 小 FF 拥有无数多种地雷,而 SCV 每次 可以在[ L , R ]区间埋放同一种不同于之前已经埋...

2019-05-22 19:01:48 160

原创 『莫队·数学推导』小Z的袜子

题目描述作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬。你的任务便是告诉小Z,他有多大的概率抽到两只...

2019-05-21 15:51:44 172

原创 『分块·莫队基础』[codeforces 617E]XOR and Favorite Number

题目描述dydxh又没有强制在线,于是mzx又可以开心地水过了,不过他发现,在线貌似不可做?给定长度为n的数列以及正整数,有m个询问每次询问给定两个数l,r,求l≤i≤j≤rl≤i≤j≤rl≤i≤j≤r,且a(i)xora(i+1)xora(i+2)xor...xora(j)=k的(i,j)a(i) xor a(i+1) xor a(i+2) xor ... xor a(j)=k的(i,j)a...

2019-05-21 13:53:01 171

原创 『动态规划·贪心』剪草

题目描述数据范围题解我们思考一下,当结束前如果草被割了两次,其实可以将第一次留着不割,到第二次再割;因此每一草最多只会被割一次,这样才能够保证结果的最优性。其次,若要割两个不同的草,并在不同的时间割除时,一定要先割生长速度的慢的草,再割快的草;因为在这一份间隔的时间内,生长速度快的草可以被割掉的更多。或者有另外的一种理解方式:第一种草的其实高度为h1h_1h1​,第二株草的起始高...

2019-05-14 18:16:38 327

原创 『动态规划·概率期望』锦标赛

题目描述数据范围题解首先我们需要知道一个概率DP的一个基本套路:某一个状态的概率为1,剩下的状态是在1的基础上进行分配的。这道题首先n≤18n≤18n≤18可以想到状压DP。其次,这道题开始的状态很复杂,我们无法处理这一个状态的设置,但是我们一定知道最后的状态是唯一的;所以我们可以通过逆向来考虑这个问题。状态设计:我们设f[S]f[S]f[S]表示当前还活着的人的状态是S时,第一个...

2019-05-14 17:54:46 353 1

原创 『并查集·奇偶性判定』Parity game

Description有一个01序列,长度<=1000000000,现在有n条信息,每条信息的形式是-a b even/odd。表示第a位到第b位元素之间的元素总和是偶数/奇数。 你的任务是对于这些给定的信息,输出第一个不正确的信息所在位置-1。信息的数目不超过5000。 如果信息全部正确,即可以找到一个满足要求的01序列,那么输出n。Solution1l到r是偶数,想到与1到l-1的...

2019-05-12 15:04:07 655

原创 『DP·斜率优化·二分·CDQ分治』再谈神仙题「任务安排」①-④

前言这个人很菜,在寒假的时候只写了任务安排1-2的题解;因此任务安排1-2是由当年的zyb写的。现在对原来的博客进行了补充,写了任务安排3-4.其中任务安排1是一个基础的DP,任务安排2是一个典型的斜率优化;3和4则是对斜率优化的一个延伸,需要利用特殊的方法来进行维护。任务安排DescriptionThere is a sequence of N jobs to be processed ...

2019-05-10 21:17:10 341

原创 『CDQ分治·树状数组』[CQOI2011]动态逆序对

题目描述对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。题解这道题的主要思路就是求出总的逆序对,然后再去掉某个数时删去这个数带来的贡献。一个数若要对逆序对产生贡献,必须满足一下的两种情况:如果这个数是较小的数,则贡献就是位置比它小,数值比它...

2019-05-08 21:51:12 149

原创 对于『CDQ分治』的简单理解

关于CDQ分治归并排序求逆序对的主要思想就是将一个序列分成两半,保证两边数值的单调性;然后用左边的数值去更新右边的数值。而CDQCDQCDQ分治同样是这样,将某一个序列分成两半,然后用左边的区间更新右边的区间,最终得到了答案。事实上,我们对求逆序对的问题做一个转化:对于每一个数都可以看做是一份数对(x,y),x(x,y),x(x,y),x表示所处的数列中的位置,显然初始的都是1,2,3,......

2019-05-08 21:35:51 187

原创 『有关近期的一个总结』

『有关近期数学』数学内容总的来说可以理解,但是不会运用。要经常去翻看复习,去提升自己的思维方式。『有关近期的cdq分治』要理解cdq分治的作用,即用左边来更新右边区间的原理;还有常见方式,求和,偏序问题。『有关斜率优化』斜率优化真的想不灵请,只会套最简单的模板。以后应该抽时间把任务安排3和摆渡车重新写一下。...

2019-05-08 20:55:12 110

原创 『动态规划·斜率优化』土地购买(征用)

题目描述农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000,000; 1 <= 长 <= 1,000,000).每块土地的价格是它的面积,但FJ可以同时购买多快土地. 这些土地的价格是它们最大的长乘以它们最大的宽, 但是土地的长宽不能交换. 如果FJ买一块3x...

2019-05-06 21:47:57 228

原创 『博弈论』格鲁吉亚和鲍勃

题目描述题解我们先来思考只有两个棋子的问题:很显然,当一个人面对两个棋子相邻的局面时,必败。我们设SG(i)SG(i)SG(i)表示两个棋子之间的距离为iii的SGSGSG函数值。SG(0)=0.SG(0)=0.SG(0)=0.SG(1)=mex(SG(0))=1.SG(1)=mex(SG(0))=1.SG(1)=mex(SG(0))=1.SG(2)=mex(SG(1),SG(...

2019-05-04 20:59:26 198

原创 『博弈论』魔法珠

题目描述题解这是一道博弈论SGSGSG函数的题。我们记SG(i)SG(i)SG(i)表示大小为i的石头的SGSGSG函数。边界条件是:SG(0)=0SG(0)=0SG(0)=0.为了得到每一份SGSGSG值,我们需要对每一个扩展的状态进行mexmexmex运算。对于每一个扩展的状态,若由若干个毫不相关的状态组成,则对应得mex运算值需要进行异或运算来解决。例如本提中:对于一个状态iii...

2019-05-04 20:44:30 357

原创 『高斯消元·博弈论·贪心』[CQOI2013]新NIM游戏

题目描述传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同)。两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴。可以只拿一根,也可以拿走整堆火柴,但不能同时从超过一堆火柴中拿。拿走最后一根火柴的游戏者胜利。本题的游戏稍微有些不同:在第一个回合中,第一个游戏者可以直接拿走若干个整堆的火柴。可以一堆都不拿,但不可以全部拿走。第二回合也一样,第二个游...

2019-05-04 20:17:20 1654

原创 『高斯消元』异或运算(异或线性空间)

题目描述给定你由N个整数构成的整数序列,你可以从中选取一些(甚至一个)进行异或(XOR)运算,从而得到很多不同的结果。请问,所有能得到的不同的结果中第k小的结果是多少。题解显然在组成的若干个数异或起来后一定存在重复的数;我们需要做的就是去掉那些重复的数。显然在线性空间中如果一个数能被其他数字异或起来得到,高斯消元的结果一定为000;所以我们去掉这些数即可。在此基础上,我们就可以找到若干个...

2019-05-04 20:02:37 729

原创 『高斯消元』装备购买(线性空间+贪心)

题目描述题解根据线性空间的原理:若一个向量如果会被其他的向量表出,那么这个数在高斯消元里全为0.那么我们只需要进行一个最单纯的高斯消元,每一次查找装备的时候基于贪心、找最小的即可。注意这道题卡精度,要使用long double。代码如下:#include <bits/stdc++.h>using namespace std;const int N = 550;i...

2019-05-04 19:44:20 145

原创 『高斯消元』开关问题(特殊解的判定+异或高消)

题目描述有N个相同的开关,每个开关都与某些开关有着联系,每当你打开或者关闭某个开关的时候,其他的与此开关相关联的开关也会相应地发生变化,即这些相联系的开关的状态如果原来为开就变为关,如果为关就变为开。你的目标是经过若干次开关操作后使得最后N个开关达到一个特定的状态。对于任意一个开关,最多只能进行一次开关操作。你的任务是,计算有多少种可以达到指定状态的方法。(不计开关操作的顺序)题解我们...

2019-05-04 19:39:02 318

原创 『高斯消元』球形空间产生器

题目描述有一个球形空间产生器能够在n维空间中产生一个坚硬的球体。现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器。题解题目大意:求在n维空间中n+1个点,求解一个点的坐标使得这个点到其他每一个点的距离都相等。这道题的难点在于数学推导,推到完以后就直接套高斯消元模板即可。若i∈[1,n+1]i∈[1...

2019-05-04 19:14:49 168

原创 『动态规划·贪心』最优价值

题目描述题解这道题可能就是比较经典的费用提前的题吧,但是我考场上莫有想到可能是忘记了吧。对于费用计算,我们可以这么理解:对于每一件物品,当它使用过以后其他物品的价值都会下降。因此我们在当前状态的时候就减去一个下降的值,这样其他的每一件物品在通过这个状态转移的时候就会下降了。理解了这么一个思想,我们就有一个问题,就是减去的值为多少呢?我们发现,若这个物品被选的顺序是倒数第一,那么就不选;如...

2019-05-02 19:17:14 295

原创 『动态规划·01背包』超市购物

题目描述题解这道题我们观察数据,发现

2019-05-02 18:55:18 340

空空如也

空空如也

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

TA关注的人

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