自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

整型的映山红

为远方而狼狈,为梦想而苟且。

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

原创 bzoj 3673 可持久化并查集 by zky

n个集合 m个操作操作:1 a b 合并a,b所在集合2 k 回到第k次操作之后的状态(查询算作操作)3 a b 询问a,b是否属于同一集合,是则输出1否则输出00水题。把fa数组可持久化就好了。#include#include#includeusing namespace std;inline int read() { int x = 0, fla

2017-09-19 13:15:57 342

原创 bzoj 1798 [Ahoi2009]Seq 维护序列seq

老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。 有长为N的数列,不妨设为a1,a2,…,aN 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值。题解线段树练手题使用两种标记。加法和询问不变,乘法每次要把加法标记和区间和都乘上相应的数,下传标

2017-09-19 13:03:27 301

原创 bzoj 2038 小z的袜子

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

2017-09-19 12:37:26 320

原创 bzoj 2002 弹飞绵羊

某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmonkey可以

2017-09-19 11:53:05 282

原创 bzoj1192 鬼谷子的钱袋

题意:把一个数n进行拆分,拆分出来大于一的数两两不等,使得拆出来的数可以组成[1, n]间的所有数。求最少拆成多少个数。n @Azrael_Death推荐的水题拆出来的数越小越好,又要组成所有数,易想到拆分二进制。求n在二进制下的位数即可。#include#include#include#include#include#include#include#include#i

2017-09-18 15:58:31 503

原创 bzoj 1008 越狱

监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱1水题一共有m ^ n种状态,若没有发生越狱的情况,第一个人有m种选择,第二个人有m - 1种选择,后面每个人都有m - 1种选择,所以ans = m ^ n - m * (m - 1) ^ (n - 1)//最后

2017-09-18 15:05:12 380

原创 bzoj 2761 不重复数字

题意给出N个数,要求把其中重复的去掉,只保留第一次出现的数。例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4。最开始以为是平衡树题,然后发现可以hash乱搞,map水过#include#include#include#include#include#include#include

2017-09-18 13:50:50 361

原创 校内训练题 20170916

t1 gcd 求[1, n]内满足gcd(i, j) == (i xor j)的无序对的对数推得j−i=gcd(i,j)=ixorj,枚举gcd即可(代码太傻逼,不贴了t2 path 求最小路径长∈[S, E]树分治,不会,水50分(@OwenOwl撒点撒了80分,看来我还是要学习t3 raid 求有多少个区间[l, r]满足mx - mn == r - l

2017-09-17 23:03:34 271 1

原创 bzoj1093 最大半连通子图

(哎呀aziint的博客怎么尽是水题题解啊(主要是这个星期偶然发现有一道没过的题,便把它写了题意(bzoj的题意出锅了//题意显然强连通分量内的点满足条件,且两个点之间只有一条边的情况也能满足条件所以tarjan缩点以后dp最长链即可(怎么证明啊,我不会#include#include#include#includeusing namespace std;inl

2017-09-17 22:45:31 266

原创 9.11-9.17总

正式开始复习的第二周上个星期完全没有停课,时间不够用(导致DS1内容没有完善,之后还得补),于是本周三开始经过繁琐的程序后开始半停课这个星期是DS2,包括可持久化DS(其实就是主席树)、树链剖分、dfs序。周一二搞dfs序,在bzoj上做了两道题(似乎比较水)。周三四五搞了树链剖分,然而因为跳链的技巧不够高级,导致bug爆炸,调试老久,最后去看了hzwer的模板(关于树链剖分我在另一篇

2017-09-17 22:27:01 165

原创 树链剖分初讲 && [bzoj1036][ZJOI2008]树的统计Count

我居然来写模板题的题解了...不管怎么说,这个星期复习了树链剖分,还是来写一写模板吧(菜简单的说,我们知道dfs序是用来做子树操作的,我们要是需要进行链操作,就得用有特定顺序的dfs序来高效处理链操作。重链剖分:为保证一条链被分成最多O(logn)个区间,需要进行重链剖分证明:若一条链没有与父亲连接,那么说明这条链顶属于轻儿子。走到根最多只会走log(n)个轻儿子长链剖

2017-09-17 22:00:53 255

原创 2017暑假七林集训day25

今天就是最后一天了。考试。t1拿到看了看数据,感觉一时想不出正解,写了个暴力,然而有bug,调错调了很久调不出来。去看t2。t2眼看是一道ac自动机的板子题,一通码完后发现了一堆小bug,很繁杂的调完后还剩20分钟,看了看t3觉得有点思路,觉得这一波稳了,100+分吧。然而突然发现t2的题里面的那个后缀的要求,直接gg。完了。结果t3也没写,爆零。感觉心里很不舒服啊,自己做题策略、代码能力

2017-07-15 10:11:24 342 2

原创 2017暑假七林集训day24

明天考试,今天@林先生让我们自己消化学习。早上花了一半时间去磕后缀数组,终于把这个玩意儿差不多弄懂了(这东西在昨天的博客里说了)。然后早上剩下的时间就写了个分块+dfs序裸题练手。下午磕了平衡树。之前的Treap写都是旋转版的,没什么实际用处,所以今天把非旋转的写了一遍,还复习了一下splay的板子。感觉似乎splay比treap好写(?)(雾然后又磕了一道乱搞的搜索题,剪枝很奇特。接

2017-07-13 18:47:12 270

原创 2017暑假七林集训day23

早上早上是zhuchaoyu出题的考试。t1拿着没思路,先放下。t2当时一看,欸这不是kmp傻逼题吗(注意这是一个flag)!我愉快的在文件前的注释里面打上了富强民主文明和谐等二十四字经,然后在下面打上了kmp傻逼题的注释(滑稽)。然而我后来发现遇到abca与a?a这种样例的时候会炸掉。弃题切t3。t3差分一下然后做一些处理就是一道kmp傻逼题(这回是真的)(当然因为环形的原因需要做一些神奇的

2017-07-12 18:32:30 225

原创 2017暑假七林集训day22

今天没有考试,全天讲题。今天的内容是字符串。首先讲的是hash。hash就是通过一些运算(hash = s[i] * base ^ i之类的)让每一个串所对应的hash值不同。之后看了bzoj上的一个系列的题,hash killer。这些题可以告诉我们要卡hash其实不是很难(虽然hash killer III 至今没人过,包括出题人)。然后讲的就是kmp和ac自动机。这两个东西之前林先生讲过,这

2017-07-11 18:10:43 211

原创 2017暑假七林集训day21

两天的休息以后,我们又回到了亲爱的机房。早上早上是考试(花式翻车记)。今天@zhuchaoyu学长特别良心的出了一道防爆零题(直接判断一下奇偶性就好了,然而要避免类似@Azrael_Death的炸int的情况)。t2和t3当时没多想,暴力水(虽然说t2其实就是平衡树裸题,t3也并不难,分块大法(果然什么问题不会做就分块好了))。t2在考场上写的时候好像把常数写丑了,全T(滑稽)。

2017-07-10 18:22:22 222

原创 2017暑假七林集训day18

又是一个没有考试的和谐一天(然而数据结构依然毒瘤)。今天是zhuchaoyu讲的平衡树。平衡树是一种神奇的数据结构,它支持插入元素、删除元素、求第k大、求num是第几大、求前驱/后继、区间翻转等操作(好用但是并不好写)。它基于二叉搜索树——左儿子比根小,右儿子比根大,左右子树都是二叉搜索树的一种二叉树。虽然二叉搜索树可以完美的完成上面的功能,但它每次操作容易被卡成O(n)的(比如从小到大插,退

2017-07-07 21:23:04 197

原创 2017暑假七林集训day17

早上早上是考试。t1看了会,感觉是一道主席树的题,但是自己主席树还没有写熟练,于是决定写暴力,避免出现在一道题上磕死

2017-07-06 21:19:06 232

原创 2017暑假七林集训day16

又是一个因为不考试没有测试的一天。今天是tangyuhao讲课,仍然是数据结构大作战。今天讲了两个东西,树套树,还有就是主席树。一天只讲了两个东西?对没错,两个难想难写难调的毒瘤(至少对我来说是这样的)。主席树其实就是可持久化值域线段树,其基本思想就是当需要建多棵树,但是这些树之间又有许多重复的节点,就可以把重复点不变,改变的点copy以后修改,最后记录每一个根节点。这样就能把时间和空间复杂度

2017-07-05 21:23:04 212

原创 2017暑假七林集训day15

早上因为zcy学长住的远,所以只要是他讲课考试都是在上午QAQ拿到题,t1又读不懂题。发现t3昨晚刚好做过,但是估计会调试很久,为了避免出现以前把赌注压到一道题上解过翻车的现象,先把t2的暴力写了在说。t3昨晚 yy了一个单调栈的做法,先处理跨区间的点对,然后再递归搞 区间内部的点对。这个过程中可以用两个单调栈来O(1)做。t3一直调试到了11:00,搞了一会t2搞不出来,时间就到了。

2017-07-04 19:27:36 230

原创 2017暑假七林集训day14

早上从今天早上开始,为期一个星期的数据结构大作战就开始了。

2017-07-03 19:52:30 180

原创 2017暑假七林集训day13

今天放假,在家写题。今天早上起的比较晚,起来写了一下昨天讲的数位dp。把昨天的一些题写了,自己也找了一些题来做。现在正在看/写dp优化的博客/题。这是现阶段我接触到最难的东西,自己掌握不够,写题有困难,还得勤加练习。今天没有讲课,所以博客就暂时写到这里。

2017-07-02 19:43:32 193

原创 2017暑假七林集训day12

今天没有考试,也就不分上午下午了。今天的主要内容是状压dp、数位dp和dp优化。状压dp可以解决状态复杂的情况。它的基本思路就是把某一个复杂的状态压缩成一个二进制数保存在某一维里面。这样我们就可以方便的进行转移而不用像d[i][j][k][l][m][n][o][p][q]......这样反人类的转移。但是因为位数和其它一些原因,状压dp能解决的数据规模往往很小(参见某年pj组货郎挑担问题)(

2017-07-01 19:11:47 239

原创 2017暑假七林集训day11

上午今天因为一些特殊原因,考试的时间被调整到了上午。拿到t1,和昨天一样,并没有什么很好的思路,于是去看t2。t2是一个丢蛋的题,然后发现自己连样例都玩不动,跳过看t3。t3有一个挺容易拿的30分做法,果断写了,先避免爆零。倒回去看t2,准备拿n >= 100的部分分(n >= 100相当于无限蛋),结果测评的时候发现手写log蜜汁挂掉。又返回去看t3,写了个(可能能过一些点的)优化,结果交的

2017-06-30 19:11:42 262

原创 2017暑假七林集训day10

早上今天tangyuhao学长讲的是dp。今天的内容感觉十分友好,讲的dp比较简单。学长选了一些经典的dp来讲,比如背包系列问题、LIS及其优化、区间dp。然而学长发现我们中的一些人(应该不包含我吧)很强,就讲的比较快,空余出了许多时间,于是学长就讲了一些杂题。今天早上感觉收获很大,有一种莫名很爽的感觉(雾)。果然如学长们以前给我讲的,dp是OI中最有趣的东西(至少我感觉比数据结构有趣)。

2017-06-29 19:39:01 334 1

原创 2017暑假七林集训day9

早上早上继续听图论。照例,最开始讲的东西是比较友好的,是欧拉路和拓扑排序。感觉欧拉路用途比较单一(可能是我比较naive),而拓扑排序有很多拓展应用,可以作为许多算法的一部分,应该好好掌握。接下来的内容就没那么友好了:无向图的连通分量。无向图的连通分量有两种:点双连通分量和边双连通分量。若一个无向图去掉任意一个点都不会改变图的连通性,即不存在割点,则称这个无向图为一个点双连通分量。若一个无向图

2017-06-28 19:03:30 417

原创 2017暑假七林集训day8

早上早上学长讲图论。今天主要讲了lca和生成树。lca的三种方法学长讲了两种在线的,倍增和rmq。这两种以前自己学过。生成树的话除了最小(大)生成树这类基础的东西以外,还拓展了次小生成树、增量最小生成树和一些优美(?)的例题。不过今天得了重感冒,状态不是很好,有些细节没弄清楚,下来还得消化消化。下午下午考试。拿到t1,发现读不懂题(无颜面对语文老师),读了40min以后毫无进展

2017-06-27 19:24:28 282

原创 2017暑假七林集训day7——花翻

早上早上学长讲课。首先讲的是位运算。位运算是一个奥妙重重的东西,比任何逻辑运算符都快上许多倍, 可以用做常数优化的利器。它有许多神奇的应用,比如可以把枚举子集写的这样飘逸for(int x = n; x; x = (x - 1) & n)另外呢他还有类似__builtin_popcount()这种奥妙重重的底层函数。接下来讲的是搜索。搜索方面讲了ID、A*、双向bfs、剪枝等东西。之前

2017-06-26 20:04:14 489

原创 2017暑假七林集训day5day6刷题记

育才的神犇这两天毕业典礼,于是@林先生就放了两天假。这两天在家里写题。day5呢本来雄心壮志的想把kruskal和强连通分量题集(网上找的)做完,但意外的是家里有客人来了,虽然把kruskal题集做完了,但day5的任务还是没有完成(惭愧)。不过day5还是有收获的,在kruskal题集中学到了一些东西。比如次小生成树和一些玄妙的建图方法什么的。day6一早上吃了饭就开始写强连通分量的题。

2017-06-25 20:31:45 241

原创 2017暑假七林集训day4

彩蛋0早上去有点拉肚子,差点迟到。早上早上学长最开始把昨天没讲完的分治里的三分法法讲了。三分法需要在函数具有严格单调性的条件下才能使用(否则会陷入死循环)。然后就是贪心。贪心的本质是不断选取不断选取局部最优解,然后合并成全局最优解。贪心法是一种很优的解法,常常能达到O(n)的优秀复杂度,但使用贪心法要注意使用范围:很多问题的局部最优解并不导向全局最优解,所以,我们经常需要证明贪

2017-06-23 19:23:06 312

原创 hdu4786简要题解

简要题意:给出一个边权为1或0的无向图,求一颗生成树,使得边权和为斐波那契数。这里有一个重要的结论:一张边权为1或0的无向图,如果权值p在最大生成树权值与最小生成树权值之间,那么一定可以构造出一棵权值为p的生成树。这样就好办了。先求出最大生成树与最小生成树的权值,然后判断这两者之间是否有一个斐波那契数就可以了。详见代码。#include#include

2017-06-23 19:03:06 318

原创 2017七林暑假集训day3

早上去的早,于是就把昨晚写的hdu4786写了一下,写通一道题还是比较开心的。set nuset siset sw=4set ts=4syn oncolor eveningmap :! g++ % -o %map :! %map 早上的课早上是听学长讲课,有常识和思想两部分。常识方面学长主要讲了如何帮助乌干达的可怜儿童使用vim和对拍。听完以后深刻感受到vim

2017-06-22 19:21:36 324

空空如也

空空如也

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

TA关注的人

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