摘要: 因为之前没有看到过既有负数,还可以压位的高精度运算,所以我就自己发一篇(原来这么简单,我$1h$就写好了) 如果有什么$bug$,请在评论区回复或私聊我,我周末会看的。 本模板支持$+,-,\times,\div,\bmod,a^b,a^b \bmod x$ ### 模板 ```cpp #inclu 阅读全文
posted @ 2022-06-11 15:54 A_zjzj 阅读(45) 评论(0) 推荐(0) 编辑
摘要: int,char,double,long long,string,char[] 都可以输入输出 double 的输出方法 ```cpp double x=123.123;fout using namespace std;typedef long long ll; struct Precision{i 阅读全文
posted @ 2022-06-11 15:54 A_zjzj 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 思路 一看就是构造题,显然要分成若干块 \(5\times5\) 的小块,然后发现对于一个小块中,只有最中间的那格可以从别的小块中一步跳进来。 然后我们打一个爆搜,打出从当前小块的中间走到各个方向相邻的小块的方案。 这样就可以在小块间移动了。 由于我们需要把所有的点都绕一遍,那么显然是在 阅读全文
posted @ 2022-06-11 15:53 A_zjzj 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题目大意 给定一个 \(n\) 个点的树,每个点有权值 \(v_i\),每条边也有权值 \(w_j\),对于树上一条简单路径,它的权值就是路径上(包括两端点)\(\min{\{v_i\}}\times\sum w_j\),求最大的路径权值。 思路 显然可以发现可以将每个点按照 \(a_i 阅读全文
posted @ 2022-06-11 15:52 A_zjzj 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 题目大意 选出一个字符串序列 \(s\),使得对于每一个 \(s_i\),都是原串的子串,且每个 \(s_i\) 在 \(s_{i-1}\) 中都出现过至少两次,求最大的序列长度。 思路 发现其实可以做到让所有选出的字符串都是上一个字符串的后缀,因为如果后面留了一个尾巴,那么前面的字符串把这个尾巴砍 阅读全文
posted @ 2022-06-11 15:47 A_zjzj 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定 \(n\) 个主串和 \(m\) 个询问串。 对于每个询问串,求出最大的 \(l\),使得存在一种将当前询问串拆分成若干个长度 \(\ge l\) 且在任一主串中出现过的子串的方案。 思路 蒟蒻还是不会广义后缀自动机,所以我们就用 SA + st 表 + 二分 + 单调队列解决这道问 阅读全文
posted @ 2022-06-11 15:46 A_zjzj 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定 \(n\) 个字符串,求出每个字符串只属于该字符串的本质不同的非空子串的个数。 思路 如果没有做过这道 SA 入门题《不同子串个数》,那么请先了解这道题的 SA 做法。 首先老套路,把所有字符串拼接在一起。 然后单独考虑一个字符串 \(i\),首先求出这个字符串的每一个后缀有多少个前 阅读全文
posted @ 2022-06-11 15:41 A_zjzj 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 思路 开始的时候想用倍增求 k 级祖先卡过去,然后就在考虑倍增数组 f[N][K],究竟是哪一维放在前面要快一点,所以都打了一下。 结果发现,一个会在 #9 TLE,另一个在 #8,#10 TLE,于是分成两类按照 \(2:1\) 的随机分布运行,然后就可以通过这道题了,最快用时:8.74s。 代码 阅读全文
posted @ 2022-06-11 15:40 A_zjzj 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定 \(n\) 个模板串,以及 \(m\) 个查询串,依次查询每一个查询串是多少个模板串的子串。 思路 蒟蒻不会广义 SAM,所以只能用 SA + 莫队的高复杂度笨重算法通过了。 首先把每个模板串和查询串拼接在一起(中间用不同的字符隔开),然后跑一遍 SA,对于每个查询串,记 \(i\) 阅读全文
posted @ 2022-06-11 15:39 A_zjzj 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 思路 蒟蒻不会 SAM,所以只好用 SA + Manacher + st 表 + set + 单调栈 + 双指针的笨重做法了。 首先处理出每个点为中心的最长回文串长度 \(odd_i\),以及以 \(i\) 和 \(i+1\) 为中心左右对称的最长回文串长度 \(evn_i\),这一步可以用 Man 阅读全文
posted @ 2022-06-11 15:38 A_zjzj 阅读(45) 评论(0) 推荐(0) 编辑
摘要: day1 上午 先看了 PKUSC 2022 的开幕式,看了北大的介绍之类的,感觉似乎在损清华? 然后试机测试了一下,发现放了一道去年考的 T1。 下午 考试开始,先看了 \(3\) 道题,然后感觉 T3 似乎是个网络流,但是我不想打,就先打了一个二分+乱搞贪心,竟然可以拿 \(22pts\)(\( 阅读全文
posted @ 2022-06-11 15:37 A_zjzj 阅读(80) 评论(0) 推荐(1) 编辑
摘要: 思路 对于 \(T=0\) 的情况,直接建出后缀自动机,统计一下一个点为开始的字串有多少个,然后从上往下找就可以了。 对于 \(T=1\) 的情况,同样建出后缀自动机,统计一下每个字符串的出现次数,和刚刚一样做就好了。 细节不多。 代码 #include<bits/stdc++.h> using n 阅读全文
posted @ 2022-06-11 15:36 A_zjzj 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 思路 一看就是差分约束,直接建边就好了。 代码 #include<cstdio> #include<cstring> #include<iostream> #include<queue> using namespace std;typedef long long ll; struct Precisi 阅读全文
posted @ 2022-06-11 15:35 A_zjzj 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 前言 ZJOI 王朝复辟???。。。 这次比赛在 5 月 3 号和 4 号,由于 qz 教育局什么五一不调休,正常放完双休回来,刚好比赛的两天就是周二周三,还做好了回来隔离半个月的心理准备,这两天算不了什么。 day0 比赛前一天下午 1 点半出发,坐的小(mian)巴(bao)车(che),虽然只 阅读全文
posted @ 2022-06-11 15:35 A_zjzj 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 思路 那就直接摸你就好了吧。 代码 #include<cstdio> #include<cstring> #include<iostream> using namespace std;typedef long long ll; struct Precision{int x;Precision(int 阅读全文
posted @ 2022-06-11 15:32 A_zjzj 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 思路 一看这个字符串长度很小,就直接暴力就好了。 然后我们需要一种快速的查看是否有一对大写字符相同的容器。 于是就可以想到用 \(26\) 进制+桶,这样就是一一对应了。 代码 #include<cstdio> #include<cstring> #include<iostream> using n 阅读全文
posted @ 2022-06-11 15:31 A_zjzj 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 思路 首先一看就是统计有多少不同的字符串。 那么肯定就是用字典树了。 然后如果当前字符串与之前的某个字符串是一样的,那么一定会有使得每一次向下一个节点时,这个节点都是存在的。 最后记得清空。 代码 #include<cstdio> #include<cstring> #include<iostrea 阅读全文
posted @ 2022-06-11 15:31 A_zjzj 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 比赛前一天 上午翻了翻打过的模拟赛(其实是翻 cqy 的提交记录发现有原题的),发现洛谷上都有很多紫题,于是贺了自己的代码过了好几道紫题和一道蓝题。 吃完饭简单收拾了一下就上大巴了。 在大巴上和 fls 坐一起,用我的电脑看了电影——《唐人街探案3》(事先下载下来的),还边吃自己带的零食边看电影,零 阅读全文
posted @ 2022-06-11 15:30 A_zjzj 阅读(33) 评论(0) 推荐(0) 编辑
摘要: @(目录) A solution 原题:[ZJOI2006]碗的叠放 显然枚举碗的叠放顺序,然后算一下高度就可以了。 高度的话,就处理出 \(i\) 放在 \(j\) 上面的增加的高度。 时间复杂度:\(O(n!\times n)\) 或 \(O(n!\times n^2)\)。 代码 #inclu 阅读全文
posted @ 2022-06-11 15:30 A_zjzj 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 更好的阅读体验 题目传送门 Luogu,Codeforces 谈点其他的 这个题目翻译好像有亿点问题,我重新发一波。 给定一个长度为 \(n\) 的排列 \(p\)。 令其中第 \(i\) 个位置的权值为最长的包含 \(i\) 的单调区间的长度(不仅要权值单调,而且要连续)。例如,\(p=[4,1, 阅读全文
posted @ 2022-06-11 15:29 A_zjzj 阅读(34) 评论(0) 推荐(0) 编辑