
日记/总结
aziint
cdqz口胡型OI选手
展开
-
2017-09-17 —— 2017-09-23 总结
这个星期本来的计划是字符串。然而我在周三搞完manacher算法后就开始莫名其妙的刷dp了(雾)。至于刷过的题部分在我的博客其它文章里面。今晚和明天要搞一搞ACautomation。不过看到dxy等人这几天热衷于数学无法自拔,我突然想到自己的计划里面好像没有安排很多的数学内容,要进行调整。另外今天的考试感觉自己十分辣鸡。一上来不看完题就开始肝第一题,花了两个小时肝出了一个莫名奇妙的解法然而打反原创 2017-09-23 22:16:28 · 180 阅读 · 0 评论 -
2017暑假七林集训day14
早上从今天早上开始,为期一个星期的数据结构大作战就开始了。原创 2017-07-03 19:52:30 · 201 阅读 · 0 评论 -
2017暑假七林集训day13
今天放假,在家写题。今天早上起的比较晚,起来写了一下昨天讲的数位dp。把昨天的一些题写了,自己也找了一些题来做。现在正在看/写dp优化的博客/题。这是现阶段我接触到最难的东西,自己掌握不够,写题有困难,还得勤加练习。今天没有讲课,所以博客就暂时写到这里。原创 2017-07-02 19:43:32 · 209 阅读 · 0 评论 -
2017暑假七林集训day12
今天没有考试,也就不分上午下午了。今天的主要内容是状压dp、数位dp和dp优化。状压dp可以解决状态复杂的情况。它的基本思路就是把某一个复杂的状态压缩成一个二进制数保存在某一维里面。这样我们就可以方便的进行转移而不用像d[i][j][k][l][m][n][o][p][q]......这样反人类的转移。但是因为位数和其它一些原因,状压dp能解决的数据规模往往很小(参见某年pj组货郎挑担问题)(原创 2017-07-01 19:11:47 · 260 阅读 · 0 评论 -
2017暑假七林集训day11
上午今天因为一些特殊原因,考试的时间被调整到了上午。拿到t1,和昨天一样,并没有什么很好的思路,于是去看t2。t2是一个丢蛋的题,然后发现自己连样例都玩不动,跳过看t3。t3有一个挺容易拿的30分做法,果断写了,先避免爆零。倒回去看t2,准备拿n >= 100的部分分(n >= 100相当于无限蛋),结果测评的时候发现手写log蜜汁挂掉。又返回去看t3,写了个(可能能过一些点的)优化,结果交的原创 2017-06-30 19:11:42 · 280 阅读 · 0 评论 -
2017暑假七林集训day10
早上今天tangyuhao学长讲的是dp。今天的内容感觉十分友好,讲的dp比较简单。学长选了一些经典的dp来讲,比如背包系列问题、LIS及其优化、区间dp。然而学长发现我们中的一些人(应该不包含我吧)很强,就讲的比较快,空余出了许多时间,于是学长就讲了一些杂题。今天早上感觉收获很大,有一种莫名很爽的感觉(雾)。果然如学长们以前给我讲的,dp是OI中最有趣的东西(至少我感觉比数据结构有趣)。原创 2017-06-29 19:39:01 · 356 阅读 · 1 评论 -
2017七林暑假集训day3
早上去的早,于是就把昨晚写的hdu4786写了一下,写通一道题还是比较开心的。set nuset siset sw=4set ts=4syn oncolor eveningmap :! g++ % -o %map :! %map 早上的课早上是听学长讲课,有常识和思想两部分。常识方面学长主要讲了如何帮助乌干达的可怜儿童使用vim和对拍。听完以后深刻感受到vim原创 2017-06-22 19:21:36 · 344 阅读 · 0 评论 -
2017暑假七林集训day4
彩蛋0早上去有点拉肚子,差点迟到。早上早上学长最开始把昨天没讲完的分治里的三分法法讲了。三分法需要在函数具有严格单调性的条件下才能使用(否则会陷入死循环)。然后就是贪心。贪心的本质是不断选取不断选取局部最优解,然后合并成全局最优解。贪心法是一种很优的解法,常常能达到O(n)的优秀复杂度,但使用贪心法要注意使用范围:很多问题的局部最优解并不导向全局最优解,所以,我们经常需要证明贪原创 2017-06-23 19:23:06 · 336 阅读 · 0 评论 -
2017暑假七林集训day5day6刷题记
育才的神犇这两天毕业典礼,于是@林先生就放了两天假。这两天在家里写题。day5呢本来雄心壮志的想把kruskal和强连通分量题集(网上找的)做完,但意外的是家里有客人来了,虽然把kruskal题集做完了,但day5的任务还是没有完成(惭愧)。不过day5还是有收获的,在kruskal题集中学到了一些东西。比如次小生成树和一些玄妙的建图方法什么的。day6一早上吃了饭就开始写强连通分量的题。原创 2017-06-25 20:31:45 · 265 阅读 · 0 评论 -
2017暑假七林集训day7——花翻
早上早上学长讲课。首先讲的是位运算。位运算是一个奥妙重重的东西,比任何逻辑运算符都快上许多倍, 可以用做常数优化的利器。它有许多神奇的应用,比如可以把枚举子集写的这样飘逸for(int x = n; x; x = (x - 1) & n)另外呢他还有类似__builtin_popcount()这种奥妙重重的底层函数。接下来讲的是搜索。搜索方面讲了ID、A*、双向bfs、剪枝等东西。之前原创 2017-06-26 20:04:14 · 518 阅读 · 0 评论 -
2017暑假七林集训day8
早上早上学长讲图论。今天主要讲了lca和生成树。lca的三种方法学长讲了两种在线的,倍增和rmq。这两种以前自己学过。生成树的话除了最小(大)生成树这类基础的东西以外,还拓展了次小生成树、增量最小生成树和一些优美(?)的例题。不过今天得了重感冒,状态不是很好,有些细节没弄清楚,下来还得消化消化。下午下午考试。拿到t1,发现读不懂题(无颜面对语文老师),读了40min以后毫无进展原创 2017-06-27 19:24:28 · 300 阅读 · 0 评论 -
2017暑假七林集训day9
早上早上继续听图论。照例,最开始讲的东西是比较友好的,是欧拉路和拓扑排序。感觉欧拉路用途比较单一(可能是我比较naive),而拓扑排序有很多拓展应用,可以作为许多算法的一部分,应该好好掌握。接下来的内容就没那么友好了:无向图的连通分量。无向图的连通分量有两种:点双连通分量和边双连通分量。若一个无向图去掉任意一个点都不会改变图的连通性,即不存在割点,则称这个无向图为一个点双连通分量。若一个无向图原创 2017-06-28 19:03:30 · 436 阅读 · 0 评论 -
2017-10-23校内训练题题解
T1鹰蛋·改#include<map>#include<cmath>#include<queue>#include<vector>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;#define N 2001#define rep(i, K, way)原创 2017-10-23 16:25:34 · 279 阅读 · 0 评论 -
Codeforces Round #441后的一些想法
啊我这里就不写题解了。 今天这场cf打的是真心烂。用了50min才昨晚AB题,A题还fst了。C题甚至一时间没有想出来做法,D题一直没有读懂题,读懂题后已经没有时间写出来了。 今天的cf暴露了自己做题速度慢,不适应高强度比赛的问题。低烈度比赛,比如今天早上的校内测试,我可以凭借过得去的代码能力较好的完成,但是这种充斥这代码量低、有傻逼题的比赛却不能高效的完成。前两次的校内训练也暴露了这种问题。原创 2017-10-16 22:57:12 · 149 阅读 · 0 评论 -
2017暑假七林集训day15
早上因为zcy学长住的远,所以只要是他讲课考试都是在上午QAQ拿到题,t1又读不懂题。发现t3昨晚刚好做过,但是估计会调试很久,为了避免出现以前把赌注压到一道题上解过翻车的现象,先把t2的暴力写了在说。t3昨晚 yy了一个单调栈的做法,先处理跨区间的点对,然后再递归搞 区间内部的点对。这个过程中可以用两个单调栈来O(1)做。t3一直调试到了11:00,搞了一会t2搞不出来,时间就到了。原创 2017-07-04 19:27:36 · 260 阅读 · 0 评论 -
2017暑假七林集训day16
又是一个因为不考试没有测试的一天。今天是tangyuhao讲课,仍然是数据结构大作战。今天讲了两个东西,树套树,还有就是主席树。一天只讲了两个东西?对没错,两个难想难写难调的毒瘤(至少对我来说是这样的)。主席树其实就是可持久化值域线段树,其基本思想就是当需要建多棵树,但是这些树之间又有许多重复的节点,就可以把重复点不变,改变的点copy以后修改,最后记录每一个根节点。这样就能把时间和空间复杂度原创 2017-07-05 21:23:04 · 228 阅读 · 0 评论 -
9.11-9.17总
正式开始复习的第二周上个星期完全没有停课,时间不够用(导致DS1内容没有完善,之后还得补),于是本周三开始经过繁琐的程序后开始半停课这个星期是DS2,包括可持久化DS(其实就是主席树)、树链剖分、dfs序。周一二搞dfs序,在bzoj上做了两道题(似乎比较水)。周三四五搞了树链剖分,然而因为跳链的技巧不够高级,导致bug爆炸,调试老久,最后去看了hzwer的模板(关于树链剖分我在另一篇原创 2017-09-17 22:27:01 · 175 阅读 · 0 评论 -
2017-10-13校内训练题题解
T1二位前缀和预处理,因为前缀和有单调性,所以滑动窗口(尺取)。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;inline int read() { int x = 0, flag = 1; char ch = getchar(); while原创 2017-10-13 17:27:13 · 300 阅读 · 0 评论 -
2017-10-16校内训练题题解
贰零壹柒年拾月拾陆日,傻逼题战役。 aziint:颅骨以下被击穿,脑子正迅速进水!T1先缩点。第一问求入度为零的点的个数,第二问max(入度为零点数,出度为零点数)max(入度为零点数, 出度为零点数)。注意特判只有一个scc的情况。 然而我在第一问时还写了个染色,结果速度如龟。#include<bits/stdc++.h>using namespace std;inline int read原创 2017-10-16 15:37:45 · 481 阅读 · 0 评论 -
2017-10-12校训练题题解
T1傻逼题。ans=n−出现最多的数的出现次数ans = n - 出现最多的数的出现次数。然而我在考试的时候去写dp去了还写了个单调队列优化,怕不是中了bzoj1044的毒。T2离散化。田地太大,面积太大,直接搜是不可能的,但是NN最大只有10001000,那么可以考虑把xx坐标yy坐标离散化,点最多也就上千,这里有一个技巧,就是离散化后的点扩大两倍,为了后面方便bfsbfs,所以我把最外围扩了一圈原创 2017-10-12 22:30:53 · 212 阅读 · 0 评论 -
2017-09-29校训练题题解
t1傻逼dfs,大暴搜,不贴代码。t2ans=ans = 黑点数 −- 边数,二维前缀和。#include<set>#include<queue>#include<cstdio>#include<vector>#include<cstring>#include<iostream>#include<algorithm>using namespace std;inline int read原创 2017-09-29 19:45:48 · 985 阅读 · 0 评论 -
2017-09-25校训练题题解
t1 傻逼dfs(然而直接状压会T)。#include#include#include#include#include#include#includeusing namespace std;inline int read() { int x = 0, flag = 1; char ch = getchar(); while (ch > '9' || ch < '0') {原创 2017-09-25 14:30:13 · 208 阅读 · 0 评论 -
2017-09-23校训练题题解
#include#include#include#include#include#include#includeusing namespace std;inline int read() { int x = 0, flag = 1; char ch = getchar(); while (ch > '9' || ch < '0') { if (ch == '-') flag原创 2017-09-23 14:54:35 · 272 阅读 · 2 评论 -
校内训练题 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 · 291 阅读 · 1 评论 -
2017暑假七林集训day25
今天就是最后一天了。考试。t1拿到看了看数据,感觉一时想不出正解,写了个暴力,然而有bug,调错调了很久调不出来。去看t2。t2眼看是一道ac自动机的板子题,一通码完后发现了一堆小bug,很繁杂的调完后还剩20分钟,看了看t3觉得有点思路,觉得这一波稳了,100+分吧。然而突然发现t2的题里面的那个后缀的要求,直接gg。完了。结果t3也没写,爆零。感觉心里很不舒服啊,自己做题策略、代码能力原创 2017-07-15 10:11:24 · 365 阅读 · 2 评论 -
2017暑假七林集训day24
明天考试,今天@林先生让我们自己消化学习。早上花了一半时间去磕后缀数组,终于把这个玩意儿差不多弄懂了(这东西在昨天的博客里说了)。然后早上剩下的时间就写了个分块+dfs序裸题练手。下午磕了平衡树。之前的Treap写都是旋转版的,没什么实际用处,所以今天把非旋转的写了一遍,还复习了一下splay的板子。感觉似乎splay比treap好写(?)(雾然后又磕了一道乱搞的搜索题,剪枝很奇特。接原创 2017-07-13 18:47:12 · 283 阅读 · 0 评论 -
2017暑假七林集训day23
早上早上是zhuchaoyu出题的考试。t1拿着没思路,先放下。t2当时一看,欸这不是kmp傻逼题吗(注意这是一个flag)!我愉快的在文件前的注释里面打上了富强民主文明和谐等二十四字经,然后在下面打上了kmp傻逼题的注释(滑稽)。然而我后来发现遇到abca与a?a这种样例的时候会炸掉。弃题切t3。t3差分一下然后做一些处理就是一道kmp傻逼题(这回是真的)(当然因为环形的原因需要做一些神奇的原创 2017-07-12 18:32:30 · 245 阅读 · 0 评论 -
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 · 229 阅读 · 0 评论 -
2017暑假七林集训day21
两天的休息以后,我们又回到了亲爱的机房。早上早上是考试(花式翻车记)。今天@zhuchaoyu学长特别良心的出了一道防爆零题(直接判断一下奇偶性就好了,然而要避免类似@Azrael_Death的炸int的情况)。t2和t3当时没多想,暴力水(虽然说t2其实就是平衡树裸题,t3也并不难,分块大法(果然什么问题不会做就分块好了))。t2在考场上写的时候好像把常数写丑了,全T(滑稽)。原创 2017-07-10 18:22:22 · 242 阅读 · 0 评论 -
2017暑假七林集训day18
又是一个没有考试的和谐一天(然而数据结构依然毒瘤)。今天是zhuchaoyu讲的平衡树。平衡树是一种神奇的数据结构,它支持插入元素、删除元素、求第k大、求num是第几大、求前驱/后继、区间翻转等操作(好用但是并不好写)。它基于二叉搜索树——左儿子比根小,右儿子比根大,左右子树都是二叉搜索树的一种二叉树。虽然二叉搜索树可以完美的完成上面的功能,但它每次操作容易被卡成O(n)的(比如从小到大插,退原创 2017-07-07 21:23:04 · 214 阅读 · 0 评论 -
2017暑假七林集训day17
早上早上是考试。t1看了会,感觉是一道主席树的题,但是自己主席树还没有写熟练,于是决定写暴力,避免出现在一道题上磕死原创 2017-07-06 21:19:06 · 249 阅读 · 0 评论 -
SCOI2018 滚粗记
Day 0上午是某坑钱集训的省选模拟赛。t1t1\mathrm{t1} 是一个有点麻烦的状压,粗略计算了一下,复杂度大概是 O(n×216)O(n×216)O(n\times 2^{16}) ,卡的要命。先放着。后来想了个 O(n×28)O(n×28)O(n\times 2^8) 的,没写出来,完蛋。t2t2\mathrm{t2} ,⊕⊕\oplus 最小生成树裸题,出题人直接出裸题真...原创 2018-04-09 22:57:52 · 613 阅读 · 0 评论