Maxwei_wzj的OI世界

Imagination is more important than knowledge.

【BZOJ4004】装备购买(JLOI2015)-线性基+贪心

测试地址:装备购买 做法:本题需要用到线性基+贪心。 很容易看出,这题要求一个权值和最大的线性无关组,这次是真的原版线性基了,而不是异或线性基,所以为了保证精度,要开long double,而且写法也和异或线性基略有不同,详见代码。 以下是本人代码: #include &amp...

2018-03-29 20:07:51

阅读数:47

评论数:0

【LuoguP4137】区间mex-主席树

测试地址:区间mex 做法:本题需要用到主席树。 看到本题是离线的,很多同学想到了很显然的莫队做法,或者一些奇奇怪怪的离线做法,但实际上在线做法是有的:主席树。 考虑转换条件,我们要求最小的在一个区间中没出现过的自然数,如果把原数列看做往一个空序列中一个一个插入元素,那实际上我们找的就是在某...

2018-03-28 17:56:10

阅读数:82

评论数:0

【BZOJ4568】幸运数字(SCOI2016)-树上倍增+异或线性基合并

测试地址:幸运数字 做法:本题需要用到树上倍增+异或线性基合并。 我们发现,每次询问都是求从一条路径上选一个子集,使得这个子集的异或和最大。如果只有一个询问,那敢开这题的大家肯定都会O(60n)O(60n)O(60n)的线性基+贪心做法,问题是有qqq个询问,暴力做显然会炸,所以需要找到优化的...

2018-03-22 22:18:30

阅读数:81

评论数:0

【BZOJ2115】XOR(WC2011)-异或线性基+DFS树+贪心

测试地址:XOR 做法:本题需要用到异或线性基+DFS树+贪心。 这题有很多神奇的结论,本蒟蒻只会感性证明,严谨证明就请各位大佬自己脑补了…… 首先我们有一个结论: 结论1:任何一条从111到NNN路径的异或和,都可以表示成任何一条从111到NNN的路径和几个与该路径在同一连通块中的环的异...

2018-03-22 20:19:46

阅读数:37

评论数:0

【HDU3949】XOR-异或线性基

测试地址:XOR 题目大意:给定nnn个正整数,它的每个子集(除空集外)都有一个异或和,求这些异或和中严格第kkk小的值。 做法:本题需要用到异或线性基。 首先我们求出线性基,然后每种异或和对于这个线性基都有唯一的组合方式,而根据线性基的性质,它们的最高位肯定各不相同,并且没有任何一个数包含...

2018-03-22 12:42:56

阅读数:39

评论数:0

【BZOJ3105】新Nim游戏(CQOI2013)-博弈论+异或线性基+贪心

测试地址:新Nim游戏 做法:本题需要用到博弈论+异或线性基+贪心。 首先根据博弈论的基本知识,标准的Nim游戏中,只要所有火柴堆内的火柴数目的异或值为000,那么先手必败,否则先手必胜。而这个新的游戏在经过前两轮后就是一个由我们先手的标准Nim游戏,那么后手为了胜利,必然会留下若干堆火柴,使...

2018-03-21 20:41:19

阅读数:50

评论数:0

【BZOJ2460】元素(BJOI2011)-异或线性基+贪心

测试地址:元素 做法:本题需要用到异或线性基+贪心。 有关异或线性基的知识可以看这里。 根据题目的意思,我们需要找到一个矿石的子集,使得不存在任何一个子集使得子集内矿石的编号异或和为000,也就是说,要选出一个关于异或运算的线性无关组。而在求线性基的时候,我们实际上也求出了一组线性无关组。根...

2018-03-21 20:15:53

阅读数:63

评论数:0

【BZOJ3534】重建(SDOI2014)-矩阵树定理

测试地址:重建 做法:本题需要用到矩阵树定理。 这两天去学(背)了矩阵树定理,主要就是将度数矩阵DDD减去邻接矩阵AAA得到基尔霍夫矩阵,然后将矩阵最后一行和最后一列去掉,剩下的部分求个行列式值,那么这个行列式的值就是这个图的生成树个数。根据行列式的性质,将一行乘上同一个数加到另一行上,所得到...

2018-03-20 20:33:24

阅读数:49

评论数:0

【BZOJ1227】虔诚的墓主人(SDOI2009)-线段树+离散化+组合数

测试地址:虔诚的墓主人 做法:本题需要用到线段树+离散化+组合数。 首先我们可以先将常青树的横纵坐标离散化,可是能成为十字架中心的墓地数量还是可能有W2W2W^2个,这要怎么办呢? 我们可以从下到上对于每一行,维护十字架中心在这一行的一段连续的墓地中的贡献。注意到我们要求的是: ∑Ckup...

2018-03-19 22:28:14

阅读数:48

评论数:0

【BZOJ2815】灾难(ZJOI2012)-拓扑排序+建树+LCA

测试地址:灾难 做法:本题需要用到拓扑排序+建树+LCA。 首先看到要处理DAG上的问题,自然而然地想到用拓扑排序处理出图的层次(这里的图是指从被吃的生物指向吃的生物的图)。我们发现题目要求的是,将某一个点删去后,有多少个点因此不能从最高层(即图中入度为0的点)走到,这个问题非常难考虑,如果我...

2018-03-19 20:52:11

阅读数:63

评论数:0

【BZOJ2209】括号序列(JSOI2011)-Splay

测试地址:括号序列 做法:本题需要用到Splay。 对于任意一个括号序列,我们把配对的括号删掉之后,最后肯定是xxx个右括号紧接着yyy个左括号的形式,那么怎么样才能用最少的次数改正呢?首先显然x+yx+yx+y是偶数,如果xxx和yyy都是偶数,那么最少次数显然为x/2+y/2x/2+y/2...

2018-03-17 16:33:41

阅读数:53

评论数:0

【BZOJ3991】寻宝游戏(SDOI2015)-贪心+DFS序+set

测试地址:寻宝游戏 做法:本题需要用到DFS+set。 首先需要看出,无论从哪个点出发结果都相同。然后就是要找一种能得到最优解的走法,显然走每条边222次是最优的,那怎么样构造出走法呢?其实只要按照这些点的DFS序顺序走下去,最后走回第一个点即可。因为对于涉及到的每条边,只下去一次再上来一次,...

2018-03-16 20:49:07

阅读数:60

评论数:0

【BZOJ2938】病毒(POI2000)-AC自动机+DFS判环

测试地址:病毒 题目大意:给定若干个01串,问存不存在一个无限长的串,使得这个串不包含任意一个给出的01串。 做法:本题需要用到AC自动机+DFS判环。 因为题目中涉及到了多串匹配的问题,所以自然想到构建AC自动机。接下来,我们知道匹配的过程实际上就是在AC自动机的节点上跳来跳去,于是我们预...

2018-03-16 19:18:09

阅读数:44

评论数:0

【BZOJ2434】阿狸的打字机(NOI2011)-AC自动机+树状数组

测试地址:阿狸的打字机 做法:本题需要用到AC自动机+树状数组。 因为题目是一个多模式串的匹配问题,所以很快想到对所有输出的字符串建AC自动机。 根据AC自动机的性质,如果一个点能够通过failfailfail指针走到另一个点,表示这个点代表的字符串的一个后缀等于走到的点代表的字符串。那么我...

2018-03-15 22:14:04

阅读数:47

评论数:0

【BZOJ3675】序列分割(APIO2014)-DP斜率优化

测试地址:序列分割 做法:本题需要用到DP斜率优化。 本题首先要注意到一个性质:只要选定了切割位置,无论按什么顺序切结果都相同。 令a,b,ca,b,ca,b,c为切割后的三段区间的和,先切ababab间和先切bcbcbc间的答案如下: a(b+c)+bc=ab+ac+bca(b+c)+b...

2018-03-14 22:39:57

阅读数:47

评论数:0

【LuoguP4275】萃香的请柬-数学证明

测试地址:萃香的请柬 做法:本题需要用到找规律(划掉)数学证明。 首先我们要猜(划掉)观察出两个结论: 第一:若第一个字符串为L,第二个字符串为B,则以后任意字符串都是前一个字符串后面接上前一个字符串的前一个字符串,如第三个字符串为B+L=BL,第四个为BL+B=BLB。 第二:无限长时间...

2018-03-14 20:48:24

阅读数:57

评论数:0

【BZOJ3307】雨天的尾巴-线段树合并+树上差分

测试地址:雨天的尾巴 题目大意:一棵树,对其执行若干次操作,每次选定一条路径和一种型号的货物,然后给这条路径上所有的点派发一份选定型号的货物,最后求每个点获得的最多的货物的型号。 做法:本题需要用到线段树合并+树上差分。 首先,对一条路径派发货物,我们可以用树上差分的思想,将其转化为向路径的...

2018-03-13 19:58:20

阅读数:118

评论数:0

【CF893F】Subtree Minimum Query-主席树

测试地址:Subtree Minimum Query 题目大意:给定一棵有根树,每个节点有一个权值,现在有若干个询问,每个询问给出x,kx,kx,k,表示询问以xxx为根的子树中,与xxx的距离不超过kkk的点中最小的权值。强制在线。 做法:本题需要用到主席树。 首先询问子树我们肯定想到将点...

2018-03-12 22:17:06

阅读数:85

评论数:0

【BZOJ2212】Tree Rotations(POI2011)-平衡树启发式合并

测试地址:Tree Rotations 做法:本题需要用到平衡树启发式合并。 对于叶子节点,最优答案显然是000。然后对于每棵子树,我们发现由转换它的左右子树所多出的逆序对数,仅和两边都有什么数字有关,而不和两边的数字顺序有关,所以我们对于每个叶子节点存储一棵平衡树,然后在每个节点合并左右子树...

2018-03-11 21:13:21

阅读数:59

评论数:0

【BZOJ2733】永无乡(HNOI2012)-平衡树启发式合并

测试地址:永无乡 做法:本题需要用到平衡树启发式合并。 题目要维护每个连通块的第kkk大,并且要支持合并。维护第kkk大我们知道可以用平衡树解决,但是平衡树的合并我们好像除了暴力就没有想法了。怎么样比较快地合并两棵平衡树?想法上非常简单,我们只需要暴力把点数比较小的那棵平衡树上的点一一插入到另...

2018-03-11 18:15:37

阅读数:59

评论数:0

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