会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
tyccyt
博客园
首页
新随笔
联系
管理
上一页
1
2
3
下一页
2024年11月28日
浅谈并查集
摘要: 普通并查集 就是开一个 \(fa[i]\) 数组表示 \(i\) 的祖先节点。 初始化 for(int i=1;i<=n;i++)fa[i]=i,siz[i]=1; //fa[i]初始状态一定是只像自己的,siz[i]:表示 以 i 为根的子树大小 查询 inline int getf(int x)
阅读全文
posted @ 2024-11-28 19:25 tyccyt
阅读(55)
评论(0)
推荐(0)
2024年11月21日
枚举子集的方法
摘要: 可能在状压dp中运用的会比较多—— 首先直接看代码(再来解释): for(int j=st,t;j;j=(j-1)&st)t=st^j; 其中,st是枚举的集合,j是子集,t是j对于st的补集。但是要注意这个办法没有枚举空集,需要自行处理。 考虑证明一下: 我们分三步,分别证明正确性、不重、不漏:
阅读全文
posted @ 2024-11-21 18:59 tyccyt
阅读(91)
评论(0)
推荐(1)
2024年11月15日
浅谈线段树分治
摘要: 大体思想 线段树分治是一种用于解决区间操作和时间点查询的算法。它的主要思想是以时间为下标建立线段树,将在某一时间段内生效的操作记录在线段树上,然后对于某一时间点的查询,可以直接从线段树上得到结果。线段树是一种容易维护区间的数据结构,它通过不断以中点分治区间,形成了 \(log\) 层的树形结构。 类
阅读全文
posted @ 2024-11-15 13:28 tyccyt
阅读(94)
评论(0)
推荐(0)
2024年11月9日
博弈论
摘要: 定义 必胜或必胜状态:仅仅考虑当前的状态,不考虑的操作人时,一定必胜或必输 \(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
阅读(133)
评论(0)
推荐(0)
2024年11月4日
Z 函数(扩展KMP)
摘要: 简介 定义一个长度为 \(n\) 的字符串 \(s\),定义 \(z_i\) 表示 \(s\) 和 \(s[i,n]\) 的 \(lcp\)(最长公共前缀),称 \(z\) 为 \(s\) 的 \(Z\) 函数。 朴素算法 暴力枚举,时间复杂度:\(O(n^2)\) 线性算法 我们首先考虑顺次处理
阅读全文
posted @ 2024-11-04 22:02 tyccyt
阅读(201)
评论(0)
推荐(0)
2024年11月1日
bitset 使用总结
摘要: 本文为 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
阅读(215)
评论(0)
推荐(0)
2024年10月21日
浅谈 Manacher
摘要: 从某种方面来说,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
阅读(57)
评论(0)
推荐(0)
2024年10月18日
浅谈 tarjan
摘要: 割点 就是记录两个数组:dfn[]和low[] 其中dfn[]表示访问的顺序,low[u]用来存储 \(u\) 不经过其父亲能到达的最小时间戳。。。 搬一下 wiki 的图。。。 我们发现 \(low[v]\ge dfn[u]\) 可以表示不能回到祖先,则 \(u\) 点位割点。。。 直接上代码P3
阅读全文
posted @ 2024-10-18 21:09 tyccyt
阅读(34)
评论(0)
推荐(0)
2024年10月6日
珂朵莉树(ODT)
摘要: 前言 主要是一种暴力思想。。。 本文来自 wiki 与洛谷题解的整合。 应用 主要是应付随机数据(区间操作) 实现 有几个核心操作。 set实现方法 定义 struct node { intt l,r;//intt:long long mutable intt v; node(const intt
阅读全文
posted @ 2024-10-06 11:58 tyccyt
阅读(59)
评论(0)
推荐(0)
2024年9月1日
浅谈分层图
摘要: 用途 解决一些在带权图中,最多 \(k\) 次优惠一条边权 基本步骤 分成 \(k+1\) 层,从 \(0\) 好开始,每层图与原图一样。其中第 \(i\) 层图是用了 \(i\) 次优惠到达的图。 对于所有边,若在第 \(i\) 层图中,那么就新连一条边从 \(u\) 指向第 \(n+1\) 层图
阅读全文
posted @ 2024-09-01 21:11 tyccyt
阅读(51)
评论(0)
推荐(0)
上一页
1
2
3
下一页
公告