摘要: 线性基,给定一个数列,需要我们求出一个集合,要求对于每一个数列中的元素,都可以在集合中找到一些元素异或起来与其相等,并且要求集合元素最少。 代码出奇的简单好懂…… for(int i = 1;i <= m;i ++) { ll t = a[i]; for(int j = 50;j >= 0;j -- 阅读全文
posted @ 2021-02-24 15:41 nao-nao 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 朴素的拉格朗日插值: 我们对于 \(n+1\) 个点,可以求出经过他们的一个至多 \(n\) 次的函数 f,这个 f 是唯一确定的。也就是说,如果我们找到一个至多 \(n\) 次的函数 g,并且 g 经过这 \(n+1\) 个点,那么 f 和 g 就是同一个函数。 对于每一个点,我们都可以找到一个函 阅读全文
posted @ 2021-02-24 15:33 nao-nao 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 考虑一个问题: 给出一个长度为 \(n\) 的字符串,容易知道其一共有 \(n\) 个后缀,现将这 \(n\) 个后缀进行排序,求出排序后的后缀序列。 这里给出一些定义: 子串:字符串 \(s\) 中连续的一段字符,从第 \(i\) 个字符到第 \(j\) 个字符的子串记作 \(s[i\dots j 阅读全文
posted @ 2021-02-15 23:45 nao-nao 阅读(58) 评论(0) 推荐(1) 编辑
摘要: 前言 :只要开 long long 不会mle,就开 long long UPD2021.1.14 你呀你,这么久了,居然连游记都没有写,你还记得什么? 也许是时候补上这篇游记了,再不写我全都忘光了 似乎是平平无奇的进了机房,平平无奇的开始了考试罢,虽然我知道事实并非如此。 我害怕我像上次的csp一 阅读全文
posted @ 2020-12-05 16:38 nao-nao 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 区间 DP 指的是在区间上进行 DP ,一般状态是设 \(dp[i][j]\) 指将区间 \([i,j]\) 如何如何的花费。 区间 DP 一般是在区间中枚举断点分割成两个较小的区间,而大区间的花费取决于两个较小区间,并且与合并顺序有关。 一般来说,我们可以找到一个转移式子是 \(dp[i][j] 阅读全文
posted @ 2020-11-30 16:23 nao-nao 阅读(67) 评论(0) 推荐(0) 编辑
摘要: T1 将每一个单词中的各个字母的数量统计出来,然后可以得到一个表示字母数量的数列,将它哈希一下即可 #include <cstdio> #include <cstring> #include <algorithm> #define ll long long using namespace std; 阅读全文
posted @ 2020-11-26 13:15 nao-nao 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 其实并不能很熟练的写出代码,开此博客简单整理一下代码实现。 扫描线使用线段树的操作来实现。 对于这个线段树,可不是简单的线段树。我们维护的区间也很神奇…… 对于 \(l,r\) 我们其实维护的是区间 \(\left[que[l],que[r+1]\right)\) 因为对于每一个区间加操作,一定会有 阅读全文
posted @ 2020-11-25 10:45 nao-nao 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 感谢全机房唯一女装大佬 little-uu 的讲解 对于斜率优化,妙极秒极,所以我是没办法讲 /摊手 对于类似于 \(f[i] = f[j] + a[i] \times b[j] + \dots\) 之类的式子可以使用斜率优化 首先想办法将式子里的变量的下表全变成 i 或 j ,然后将 \(a[i] 阅读全文
posted @ 2020-11-18 12:12 nao-nao 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 数列分块9 [Violet]蒲公英 区间众数 阅读全文
posted @ 2020-11-12 09:46 nao-nao 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 我是真的不想回忆那个令人悲伤的比赛,但是我确实也有必要做好总结 期望得分 : 算了不期望了 实际得分 : 不知道 本次 csp 试图写前三题的正解,然后 T1 T2 写挂,T3 不仅写挂还写假了,当场自闭。最后 T4 是为了不爆零五分钟随便写的 n== 3 的 20pts。 所以可能我只有 20pt 阅读全文
posted @ 2020-11-07 23:40 nao-nao 阅读(434) 评论(1) 推荐(0) 编辑