摘要: 我大概率会参加acm,所以这个博客可能就会复活了 更新 确实复活了。 阅读全文
posted @ 2020-10-03 14:09 mrclr 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 这篇博客主要是用来记自己写代码的时候犯的各种小技巧和低级失误,好提醒自己,从而尽量缩短debug时间。 点分治 1.求每一个子树到重心的距离的函数接口应该是dfs2(v, eg, e[i].w)而不是dfs2(v, now, 0)。一方面是子树的父亲是当前的重心,而不是进入这一层点分治的点;另一方面 阅读全文
posted @ 2019-05-06 08:04 mrclr 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 虽然平时用Dev,但考试的时候linux下没有Dev,只能用emacs了…… 这里记录一些我常用的指令和配置文件中的代码行。 指令: 1.c-x 1:只留一个窗口 2.c-x 2:分成上下两个窗口 3.c-x 3:分成左右两个窗口 4.c-x + h:全选 5.c-x + f:打开文件 6.m-x 阅读全文
posted @ 2018-09-26 17:19 mrclr 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 10.7更新:见最下面 离NOIP2018没剩多长时间了,我突然发现我连对拍还不会,于是赶紧到网上找资料,找了半天发现了一个特别妙的程序,用c++写的! 不过先讲讲随机数据生成吧。 很简单,就是写一个程序模拟输入数据,然后利用rand()编写随机数。 在头文件cstdlib中,有rand(), sr 阅读全文
posted @ 2018-08-27 21:53 mrclr 阅读(2429) 评论(1) 推荐(2) 编辑
摘要: 传送门 题意:$a_i$在$[l_i,r_i]$等概率取,问$a_{1\cdots n}$不递增的概率,对$998244353$取模。(\(1 \leqslant n \leqslant 50, 1 \leqslant l_i \leqslant r_i < 998244353\)) 可以先求方案数 阅读全文
posted @ 2021-11-24 17:40 mrclr 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 牛客传送门 KMP的做法暂时没看懂,这里提供两种SAM的做法。 感谢樱花猪开喵喵车创大白熊和新手上路两队的代码提供的思路。 第一种做法稍麻烦一些: 对于每一个前缀,字典序最大的子串一定是该前缀的一个后缀,而比较这些后缀的方法就是选择这些后缀中,最靠前的不同的字符。如果将原串反过来,就可以用SAM维护 阅读全文
posted @ 2021-11-23 18:04 mrclr 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 传送门 比赛的时候tarjan算法出锅了,赶快来复习一下。 题意:给一个$n$个点$m$条边的有向图,其中可以选择一条边逆行一次,问在这个基础上如何选择一条回路,使其经过的点最多。(重复经过的点只算一次,\(n,m \leqslant 10^5\))。 首先,一个强连通分量内的点都可以选,那么不妨先 阅读全文
posted @ 2021-11-23 00:13 mrclr 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 传送门 前几天我们队把ec final作为训练赛,没想到打的还挺不错,如果最后把这题做出来了,说不定还能拿au呢。 不过这一场中间的真空期有点长,导致想出D的正解的时间有点晚了。 首先对于两条路径,一定是中间有重合的一段(或者没有),而不是有两段,否则对于两个人中间分开的那一段路径一定可以一起选择一 阅读全文
posted @ 2021-11-22 10:57 mrclr 阅读(299) 评论(0) 推荐(0) 编辑
摘要: D 这题当时比赛的时候想了一半,另一半看完题解后感觉确实想不出来。 首先观察题目中$u \bigoplus v \leqslant \min(u,v)$这个条件,容易发现,当且仅当$u,v$在二进制表示下的最高位相同时才成立,不妨写成$MSB_u = MSB_v$.那么如果点$u$不能再走,一定是他 阅读全文
posted @ 2021-11-16 14:26 mrclr 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 传送门 题面挺不好懂,简单来说就是有$0 \sim 2^m-1$个数被划分成了$n$段,从每一段中选出一个数$a_i$,要满足题中的限制。而一种${a_i}$选择方案的价值是这$n$个数的乘积,问所有合法的方案的价值之和对$100000007$取模的结果。 首先关于题目中的函数$F_m(a,b)$, 阅读全文
posted @ 2021-11-09 20:50 mrclr 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 传送门 题面:给两个序列$a,b$,将$b$中的所有元素按任意顺序插入$a$中,求形成的新的序列的最小逆序对数。 这题首先最好观察出这么个结论:如果把$b_i$插在$p_i$(即$a_{i-1}$和$a_i$之间)得到的逆序对最少,那么当$b_i < b_j$时,一定有$p_i < p_j$.即这个 阅读全文
posted @ 2021-11-05 00:55 mrclr 阅读(116) 评论(3) 推荐(0) 编辑
摘要: 传送门 这是废物场的E题。D没想出来,看队友把E做出来了就去想E,结果到最后血本无归,啥也没有…… 这题我觉得真挺难的,题意是:有$n$个英雄,每一轮存活的英雄会对其他存活的英雄都造成1点伤害,如此若干轮后,最后一个活着的人称为胜利者。现在给一个$n$和$x(n,x \leqslant 500)$, 阅读全文
posted @ 2021-11-03 17:20 mrclr 阅读(68) 评论(0) 推荐(1) 编辑
摘要: 传送门 题意:给一个$n*m$的矩阵,让你把一些行涂成红色,剩下的涂成蓝色,但不能都涂红或蓝。问在这个基础上,能否从某一列将矩阵分成两半,使左半矩阵的红色部分的每一个数都大于蓝色部分的每一个数,而右半矩阵的蓝色部分的每一个数都大于红色部分的每一个数。(\(2 \leqslant n,m \leqsl 阅读全文
posted @ 2021-11-03 16:15 mrclr 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 传送门 这题训练赛的时候想都没怎么想,感觉就是一个大数据结构题。实际上,这题虽然不难,但是对于我来说,考场上至少需要一个半点儿才能写出来。 注意到$n,m,Q \leqslant 1000$,因此单次的询问可以是$O(n\log n)$的。 不妨令矩形的下边界经过$(x,y)$,只枚举以这条边为底的 阅读全文
posted @ 2021-10-27 22:58 mrclr 阅读(101) 评论(0) 推荐(0) 编辑