摘要: 待更新。。。 阅读全文
posted @ 2024-11-19 21:57 tyccyt 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 打开 NOI Linux 系统后,找监考老师创建共享文件夹,千万不要点更新。 只提供Vim、gedit、VSCode、CodeBlocks、Geany 、Subline Test这五种(如果想看编译运行是否成功,可以用 getdit )。 diff 对比文本 命令: ls:列出当前目录下的文件和文件 阅读全文
posted @ 2024-11-19 19:54 tyccyt 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 超级胶水 考虑一开始觉得是dp,但是不会! 先搞三堆 \(a,b,c\),贡献为 \(ab+bc+ac\) 在搞四堆 \(a,b,c,d\),贡献为 \(ab+ac+ad+bc+bd+cd\) \(\dots\) 直接推得答案为:\(\sum_{i=2}^n w_i\times\sum_{j=1}^ 阅读全文
posted @ 2024-11-15 19:54 tyccyt 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 大体思想 线段树分治是一种用于解决区间操作和时间点查询的算法。它的主要思想是以时间为下标建立线段树,将在某一时间段内生效的操作记录在线段树上,然后对于某一时间点的查询,可以直接从线段树上得到结果。线段树是一种容易维护区间的数据结构,它通过不断以中点分治区间,形成了 \(log\) 层的树形结构。—— 阅读全文
posted @ 2024-11-15 13:28 tyccyt 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 定义 必胜或必胜状态:仅仅考虑当前的状态,不考虑的操作人时,一定必胜或必输 \(a\oplus b\) :\(a,b\) 在二进制下,对位取反。 \[SG(i)=mex{\begin{cases} SG(j) & i\rightarrow j \\ SG(j') & i\rightarrow j' 阅读全文
posted @ 2024-11-09 20:10 tyccyt 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 简介 定义一个长度为 \(n\) 的字符串 \(s\),定义 \(z_i\) 表示 \(s\) 和 \(s[i,n]\) 的 \(lcp\)(最长公共前缀),称 \(z\) 为 \(s\) 的 \(Z\) 函数。 朴素算法 暴力枚举,时间复杂度:\(O(n^2)\) 线性算法 我们首先考虑顺次处理 阅读全文
posted @ 2024-11-04 22:02 tyccyt 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 本文为 OI-Wiki 与 扶苏的bitset浅谈 的整合 申请 std::bitset<N> vis; 其中 N 指这个 vis 的空间大小。 同时,还可以设初值(bitset<unsigned long val>或bitset<const string& str>) 其中 val 是二进制形式, 阅读全文
posted @ 2024-11-01 20:02 tyccyt 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 从某种方面来说,Manacher 算法是朴素 \(O(n^2)\) 暴力算法的优化。。。 那就得先了解一下 Manacher 的朴素算法 朴素算法 枚举中心点并不断向外展开(例如:\([i,i]\rightarrow [i+1,i+1]\rightarrow [i+2,i+2]\rightarrow 阅读全文
posted @ 2024-10-21 14:43 tyccyt 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 割点 就是记录两个数组:dfn[]和low[] 其中dfn[]表示访问的顺序,low[u]用来存储 \(u\) 不经过其父亲能到达的最小时间戳。。。 搬一下 wiki 的图。。。 我们发现 \(low[v]\ge dfn[u]\) 可以表示不能回到祖先,则 \(u\) 点位割点。。。 直接上代码P3 阅读全文
posted @ 2024-10-18 21:09 tyccyt 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 排列与组合 排列 \[A_{m}^{n}=\frac{n!}{(n-m)!} \]组合 \[C_{m}^{n}=\frac{A_{n}^{m}}{m!}=\frac{n!}{m!(n-m)!} \]同时,还有递推公式 \(\dots\) \[C_n^m=C_{n-1}^{m-1}+C_{n-1}^{ 阅读全文
posted @ 2024-10-17 21:51 tyccyt 阅读(5) 评论(0) 推荐(0) 编辑