![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
2019暑假集训
2019暑假集训
王江奎
这个作者很懒,什么都没留下…
展开
-
HDU - 4348To the moon——主席树+区间修改
HDU - 4348To the moon【题目描述】【题目分析】题目中说明每次更新后时间都会加1,而且还会需要查询以前的区间,还会需要返回以前的时间,所以是很裸的主席树。区间查询的话我们同样需要用到lazy标记通过这道题我发现线段树的操作还是很灵活的借鉴大佬的代码【AC代码】#include<cstdio>#include<cstring>#inclu...原创 2019-07-29 15:19:28 · 193 阅读 · 0 评论 -
POJ 3370 Halloween treats——鸽巢原理+思维
【题目描述】POJ 3370 Halloween treatsDescriptionEvery year there is the same problem at Halloween: Each neighbour is only willing to give a certain total number of sweets on that day, no matter how many ...原创 2019-08-13 16:25:07 · 219 阅读 · 0 评论 -
HYSBZ - 1101——莫比乌斯反演
【题目描述】HYSBZ - 1101【题目分析】昨天测试出了一道差不多的题目,我只能想到暴力,各种优化,最后都是运行了好久TLE,最后才知道要用到莫比乌斯反演,就想着今天研究一下,得出的结论就是,我可能研究不来。。。要用到数论的知识,我连人家的基本的定义都理解不了,更不要说证明了。现在只能说学会用吧,我知道这里的莫比乌斯反演可以快速求出[1,n]和[1,m]中所有互质的数字的数目,当作板...原创 2019-08-09 09:49:21 · 156 阅读 · 0 评论 -
BZOJ1123-BLO——强连通分量求割点+计数
【题目描述】Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通。Input输入n<=100000 m<=500000及m条边Output输出n个数,代表如果把第i个点去掉,将有多少对点不能互通。Sample Input5 51 22 31 33 44 5...原创 2019-08-19 10:07:33 · 295 阅读 · 0 评论 -
BZOJ 2844 | HYSBZ - 2844albus就是要第一个出场——线性基
【题目描述】BZOJ 2844 | HYSBZ - 2844albus【题目分析】题目的意思大概是给一个数列,他有2n个子集,每个子集的元素的异或和构成新的一个数列,排序后问数字Q在这个序列里面的下标。假如题目是求所有元素的异或和构成一个集合就好弄了,我们可以根据求第K大反过来求他在集合里面的下标。int find_ans(int q) { int num=0; ...原创 2019-08-09 16:06:12 · 138 阅读 · 0 评论 -
CodeForces - 641ELittle Artem and Time Machine——map+树状数组
【题目描述】CodeForces - 641ELittle Artem and Time Machine【题目分析】题目的意思大概是有三种操作1.在时间t加入一个数字x2.在时间t删除一个数字x3.询问在时间t集合里面x的个数虽然题目描述很简单,但是t和x的范围都是109,我一开始想到的是主席树,因为之前做过一道类似的题目HDU - 4348To the moon——主席树+区间修改...原创 2019-08-10 09:57:34 · 176 阅读 · 0 评论 -
HDU - 1796——容斥原理+二进制枚举
【题目描述】Now you get a number N, and a M-integers set, you should find out how many integers which are small than N, that they can divided exactly by any integers in the set. For example, N=12, and M-in...原创 2019-08-14 16:10:52 · 196 阅读 · 0 评论 -
BZOJ1018 | SHOI2008-堵塞的交通traffic——线段树维护区间连通性+细节
【题目描述】BZOJ1018 | SHOI2008-堵塞的交通traffic 有一天,由于某种穿越现象作用,你来到了传说中的小人国。小人国的布局非常奇特,整个国家的交通系统可以被看成是一个2行C列的矩形网格,网格上的每个点代表一个城市,相邻的城市之间有一条道路,所以总共有2C个城市和3C-2条道路。 小人国的交通状况非常槽糕。有的时候由于交通堵塞,两座城市之间的道路会变得不连通,直到拥堵...原创 2019-08-19 17:14:02 · 179 阅读 · 0 评论 -
HDU - 6621 K-th Closest Distance——主席树+二分
【题目描述】HDU - 6621 K-th Closest Distance【题目分析】因为看到第kkk大的要求,刚开始的时候一直都在想怎么运用第kkk大来解决问题,但是后来看其他人的博客才发现并不需要用第k大,但是主席树维护权值线段树还是需要的,这样可以方便的求出某一区间内数的个数。题目要求的∣q−ai∣|q-ai|∣q−ai∣中第kkk大的,我们可以尝试使用二分,只不过需要进行转化。我...原创 2019-08-10 16:20:40 · 126 阅读 · 0 评论 -
CodeForces - 786C——二分+模拟?
【题目描述】Rick and Morty want to find MR. PBH and they can't do it alone. So they need of Mr. Meeseeks. They Have generated n Mr. Meeseeks, standing in a line numbered from 1 to n. Each of them has his o...原创 2019-08-20 09:29:39 · 3571 阅读 · 0 评论 -
HDU - 1028——母函数入门
【题目描述】“Well, it seems the first problem is too easy. I will let you know how foolish you are later.” feng5166 says.“The second problem is, given an positive integer N, we define an equation like thi...原创 2019-08-15 11:33:13 · 334 阅读 · 0 评论 -
CodeForces - 372CWatching Fireworks is Fun+DP+单调队列优化
【题目描述】CodeForces - 372CWatching Fireworks is Fun题目的大概意思就是在一个编号为1…n的街道上现在按照时间顺序放烟花,每个烟花获得的幸福感为b−abs(a−x)b-abs(a-x)b−abs(a−x),x为观看烟花的位置,为了提升我们的幸福感,我们可能会移动,每个时间单位可以移动d长度,现在问我们如果可以从任何一个地点开始观看烟花,那么最后幸福感最...原创 2019-08-12 10:55:09 · 345 阅读 · 1 评论 -
CodeChef - DGCD——树链剖分+差分
【题目描述】 You're given a tree on N vertices. Each vertex has a positive integer written on it, number on the ith vertex being vi. Your program must process two types of queries : 1. Find query represe...原创 2019-08-21 10:52:40 · 390 阅读 · 0 评论 -
强连通分量入门——Trajan算法
今天学习了强连通分量。【参考博客】如果觉得我讲的有些地方难以理解或者存在问题(欢迎留言),可以看一下我借鉴的一些大佬的博客:传送门1 传送门2【知识储备】首先我们需要对几个定义有一些概念:强连通:有向图中两个点可以相互到达强连通图:有向图中任意两个点都是强连通的强连通分量:一个有向图的一个子图中是强连通图的最大的子图就称这个有向图为强连通分量通俗理解的话,强连通分量里面的任何两...原创 2019-08-16 13:44:51 · 288 阅读 · 0 评论 -
HDU 5934:Boom——强连通分量+缩点
【题目描述】There are N bombs needing exploding.Each bomb has three attributes: exploding radius ri, position (xi,yi) and lighting-cost ci which means you need to pay cicost making it explode.If a un-...原创 2019-08-16 15:27:27 · 191 阅读 · 0 评论 -
POJ-1144 Network——Trajan+割点
【题目描述】A Telephone Line Company (TLC) is establishing a new telephone cable network. They are connecting several places numbered by integers from 1 to N . No two places have the same number. The lines...原创 2019-08-17 12:36:55 · 154 阅读 · 0 评论 -
UVALive - 8512——线段树维护线性基
【题目描述】UVALive - 8512XOR【题目分析】这种区间+线性基的问题我们可以考虑用线段树维护,线性基的合并的话就直接暴力合并找到所在区间的线性基后再查找最大的数,我看网上的博客要说消除k的影响什么的,我觉得没有什么必要,直接将初值设置为k,然后从高位向低位找,如果异或了后值会变大就异或,觉得没有什么大问题。还有就是线段树维护的时候函数的返回值最好不要设置成线性基,会RE,具体的...原创 2019-08-08 15:31:26 · 170 阅读 · 0 评论 -
BZOJ2115XOR——线性基
【题目描述】BZOJ2115XOR——线性基【题目分析】这道题看完以后很懵逼,人家要是走的很复杂呢?各种绕来绕去怎么办?首先我们应该注意到一个很明显的道理:重复的路径会和自身抵消,所以我们大可以随便跑,只要再跑回来就对答案没有影响。因此,有影响的只有选择的路径和经过的环,因为环是可以回到已经经过的点而不抵消的。而且只要我们愿意我们可以去任何一个环(假如环有一个起点x,我们有一条从1到n的...原创 2019-08-06 10:03:34 · 176 阅读 · 0 评论 -
HDU - 6278 Just $h$-index主席树+二分
HDU - 6278 Just hhh-index【题目描述】【题目分析】题目要求在区间[l,r][l,r][l,r]内大于h的数不少于h个,对于这种最大化问题,我们应该想到二分。最小情况显然是1.最大情况显然是r−l+1r-l+1r−l+1,对于一个hhh,我们如何判断能否满足条件呢?我们可以用主席树方便的求出区间第h大,如果区间第h大大于等于h,那么就能满足条件比较伤心的是我虽然...原创 2019-07-30 09:52:28 · 247 阅读 · 3 评论 -
575 div3RGB Substring (hard version)——思维-
【题目描述】The only difference between easy and hard versions is the size of the input.You are given a string sconsisting of ncharacters, each character is ‘R’, ‘G’ or ‘B’.You are also given an intege...原创 2019-08-02 16:28:53 · 124 阅读 · 0 评论 -
线性基入门
今天学习了神奇的线性基,主要是在解决异或问题时比较有用。假如我们的数字的二进制在x位上都是1(这里指所有的数字总共),那么我们线性基的集合就是x个数字,对应的他们最高位的1分别出现在这x个位置,我们还可以通过重建将他们变成二进制数字只含有一个1的集合(即他们每一个都是222的幂),然后进行异或一定能出现原本所有的数字以及他们之间相互异或的所有数字(所谓的异或无非是0到1或者1到0的变化,只要有一...原创 2019-08-06 13:49:00 · 168 阅读 · 0 评论 -
HDU - 5919 Sequence II——主席树+区间种类++逆序建树
【题目描述】HDU - 5919 Sequence II【题目分析】题目给定一个数组,每次查询一个区间,找出区间内不同数字的个数x,然后输出按出现顺序第x/2向上取整个数字的位置。按照要求,我们首先需要能够找出给定区间不同的数字个数。首先,我们分析一个简单一些的问题:对于右端点固定的区间,如何计算不同左区间内不同数字的个数。我们不妨用一个数组记录cntcntcnt哪些位置出现了一个...原创 2019-07-30 16:17:48 · 193 阅读 · 0 评论 -
CodeForces - 786BLegacy——线段树建图+最短路
【题目描述】CodeForces - 786BLegacy【题目分析】题目大概意思就是有三种操作:从某个点到另一个点从某个点到另一个区间从某个区间到另一个点然后询问从其中一个点到其他所有点的距离——这很显然是一个求单源最短路径的。我们简单的想法显然是建一个图,每次操作就进行暴力连边,反正也没有修改。可是复杂度不允许。我们再观察一下操作:对区间的操作,这让我们不由得想起了线段树...原创 2019-08-03 09:26:19 · 170 阅读 · 0 评论 -
CodeForces - 1141CPolycarp Restores Permutation搜索+剪枝
Polycarp Restores Permutation【题意分析】题意大概是给定一个串,包含从1到n所有的数字。但是给定的是相邻数字的差,需要复原这个串。大概分析以后发现给定的是一个差分数组,所以只需要枚举第一个元素就可以确定所有元素的值。问题是如何判断可行,一个一个判断显然是不行的——会超时。剪枝技巧1:在得到差分数组的时候记录最小值和最大值,a[1]+最小值肯定是1,a[1]+最大...原创 2019-07-21 21:50:05 · 239 阅读 · 0 评论 -
CodeForces - 1141ESuperhero Battle简单模拟
Superhero Battle这道题卡了我一个多小时,最后也没有做出来,成功称为吊车尾。。。思路什么的都没有问题,主要是,爆long long了,这个太可怕了,就因为一个中间变量忘记开longlong导致一直一直wa,心态都崩溃了【思路分析】关键点:记录一轮攻击最多的地方,然后判断需要多少次才会让血量降低到撑不过一轮代码:#include<cstdio>#include&...原创 2019-07-21 22:17:33 · 160 阅读 · 0 评论 -
HYSBZ - 2243染色——树链剖分+线段树建树技巧
【题目描述】HYSBZ - 2243染色【题目分析】虽然是一道很裸的树链剖分,可是我一直没有看清楚题,以为求的是路径上出现颜色的种类,然后就写了一个区间染色的线段树进行维护,过样例的时候才发现题读错了,人家要求的是路径上出现的颜色段,所以颜色的种类不重要,重要的是每一段每一段。理所当然,我们应该用线段树维护所在区间有多少段。但是左右区间上传的时候如果边界颜色相同(左节点的右边界和右节点的左边...原创 2019-08-03 17:12:47 · 123 阅读 · 0 评论 -
CodeForces - 1144F搜索+简单图论
【题目链接】Graph Without Long Directed Paths【题目分析】题目想要讲一个无向图变成一个最长路径不超过1的有向图。假如某个边是从u到v的,那么所有和v相连的都必须是指向v的,所有和u相连的都必须是从u开始的。相当于涂色,相连的节点应该涂上不同的颜色。如果在涂色的过程中发现两个相邻的边已经涂上了相同的颜色,那么肯定不存在。而且我们可以随意设置初始颜色,这是没有影响的。...原创 2019-07-22 14:32:34 · 137 阅读 · 0 评论 -
CodeForces - 1152B二进制+思维
【题目链接】Neko Performs Cat Furrier Transform【题目分析】要求将一个数字变成2n-1,通过尝试我们发现如果将最低位的全零位和对应的全一数字(例如11000对应的就是111)异或那么数字就会变成想要的结果(11111)但是如果前面还有0(比如110100)那么过程应该如下:110100^000011变成110111加一后变成111000然后就会得到结果,总之我...原创 2019-07-22 14:44:25 · 213 阅读 · 0 评论 -
CodeForces 1138B暴力+剪枝
【题目链接】Circus【题目分析】理解题意以后发现并没有什么思路,没有什么算法能用,这个时候就应该想到计算机解题的本质——暴力求解。相应的就要想到剪枝的条件,肯定不能盲目的暴力求解。总共有四种人:00,01,10,11,分别统计出数目c1,c2,c3,c4,设第一个团体a1,a2,a3,a4,按照a3和a4进行暴力,相应的可以求出b4,b2,a2,a1,分别判断是否合理,一旦合理直接输出代...原创 2019-07-22 16:05:56 · 164 阅读 · 0 评论 -
主席树入门
今天学习了一下主席树(这个这么强的名字好像是因为提出这个的人的名字简写和我们胡性主席相同?八卦一下)虽然直接理解起来不容易,但是这种解决问题的思想其实并不陌生。我们可以首先来看维护整个区间第K大的线段树我们将[l,r]区间内数字的多少用线段树进行维护,这样的话为了求取区间第k大,我们先看左区间有多少个数字,如果左区间就有多于K的数字(或者等于K个),我们直接去左区间找,如果左区间没有K个,我...原创 2019-07-27 16:33:40 · 158 阅读 · 0 评论 -
HYSBZ - 2157树链剖分
【题目描述】HYSBZ - 2157树链剖分![在这里插入图片描述](https://img-blog.csdnimg.cn/20190805163744917.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RfVDIzMzMzMzM...原创 2019-08-05 16:44:44 · 152 阅读 · 0 评论 -
树链剖分入门+HYSBZ - 1036树的统计Count
今天学习了树链剖分,记录一下。【题目背景】HYSBZ - 1036树的统计Count【题目分析】题目要求求任意结点之间路径的和以及路径上最大的结点,还有可能修改。如果正常做可能会很复杂(我也不知道正常应该怎么做,应该要用到LCA什么的,我还不太会)。但是如果我们能够用线段树或者树状数组维护这个树,那么这种问题就会变得很简单。树链剖分就是这样一种将树映射在一个数组上变成线性结构然后用线段树...原创 2019-08-01 14:56:19 · 130 阅读 · 0 评论 -
SPOJ - QTREE3Query on a tree again!——树链剖分
【题目描述】SPOJ - QTREE3Query on a tree again!【题目分析】题目要求是输出从111到xxx的路径上遇到的第一个黑色的点。我们可以用树链剖分(不了解的同学请出门左拐,详见树链剖分入门)我们用线段树维护每个区间第一次遇到黑点的位置,这样访问出的点同样是从1开始路径上的第一个点。因为我们总是从根节点1开始,我们在访问的时候从后往前每次访问重链时在线段树上都是一...原创 2019-08-01 17:13:43 · 147 阅读 · 0 评论 -
POJ1236Network of Schools——强连通分量缩点建图
【题目描述】A number of schools are connected to a computer network. Agreements have been developed among those schools: each school maintains a list of schools to which it distributes software (the “recei...原创 2019-08-17 15:45:46 · 148 阅读 · 0 评论