摘要: 谢邀,先口胡几句。 其实我入坑的时间在国服来看还是挺早的,记得当时是大狐狸的池子(国服0.5周年)。当时纯属是太无聊了,又恰好有一个玩日服同学的同学跟我提过几嘴,然后就下下来试了一下。 其实我当时并不知道什么世界观啊乱七八糟的东西,BA也算是我的二次元启蒙了。当时整个游戏就给我一种很轻松,很积极的感 阅读全文
posted @ 2025-09-14 22:19 MistyPost 阅读(38) 评论(0) 推荐(1)
摘要: #include<bits/stdc++.h> using namespace std; #define ll long long ll n,a[1000000],siz; ll k[1000000],lazy[1000000]; int main(){ cin>>n; for(int i=0;i< 阅读全文
posted @ 2025-09-09 21:41 MistyPost 阅读(6) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; #define ll int const double CLOCKS_PER_SECOND=((clock_t)14000); ll T,n,m,c[1000000],X[1000000],r,t[100000 阅读全文
posted @ 2025-09-06 12:02 MistyPost 阅读(33) 评论(0) 推荐(0)
摘要: 1.如果要在一个序列里用双指针以满足一个柿子,尝试推柿子使得指针分布到两边并使两边形式相同。 例子: 阅读全文
posted @ 2025-09-04 09:02 MistyPost 阅读(10) 评论(0) 推荐(0)
摘要: 割点割边的定义不说了。 定义 dfn 为 dfs 序,low 为该点不经过父亲并只走一次通往 dfs 序比其小的点的情况下能走到的最小的点的 dfs 序。 若 low[v]>=dfn[x] 则说明其儿子在不经过其的情况下无法向上,则该点为割点。 若 low[v]>dfn[x] 且满足不走反向边,说明 阅读全文
posted @ 2025-09-01 10:38 MistyPost 阅读(12) 评论(1) 推荐(0)
摘要: 结合pdf和 无旋Treap(FHQ Treap)理解吧,不想写了 #include<bits/stdc++.h> using namespace std; #define ll long long ll cnt;//id ll Root=0;//整颗树的根 struct tree{ ll lc,r 阅读全文
posted @ 2025-08-28 14:34 MistyPost 阅读(6) 评论(0) 推荐(0)
摘要: 最大公约数 性质 \[gcd(a,b)=gcd(b,a\%b) \]\[gcd(a,b)=gcd(a-b,b) \]\[gcd(a⋅c,b⋅c)=c⋅gcd(a,b) \]求法 __gcd(a,b)或运用性质一模拟。 ExGCD 求解如 \(ax+by=gcd(a,b)\) 一类的不定方程。 裴蜀定 阅读全文
posted @ 2025-08-07 15:04 MistyPost 阅读(13) 评论(0) 推荐(0)
摘要: 点分治是树上的一种算法范式,可以解决一些树上问题。 从例题来看吧: P4178 Tree 题目描述 给定一棵 \(n\) 个节点的树,每条边有边权,求出树上两点距离小于等于 \(k\) 的点对数量。 输入格式 第一行输入一个整数 \(n\),表示节点个数。 第二行到第 \(n\) 行每行输入三个整数 阅读全文
posted @ 2025-07-30 11:36 MistyPost 阅读(10) 评论(0) 推荐(0)
摘要: 大工程啊,先放个视频理解一下吧。 从视频里可以看出,这是一个可以实现多个字符串匹配的算法,复杂度大约为每次 \(O(n)\) 。 首先,我们做出一个 Trie (字典树),然后在树上连边。 视频中的虚线就是虚边,\(fail[i]\) 指已经匹配到了点 i ,然后失配,可以直接到的点。 就拿视频中的 阅读全文
posted @ 2025-07-08 16:20 MistyPost 阅读(10) 评论(0) 推荐(0)
摘要: 省流:可以快速找出回文串,复杂度 \(O(n)\) 先定义一个数组P,\(P_i\) 意为以 \(i\) 为中心的最长回文串的半径。 例如ababa,P={1,2,3,2,1}。 显然,我们为了处理边界和奇偶问题,可以在字符串之间加一点特殊字符。 例如,ababa变为!a#b#a#b#a? 。 为了 阅读全文
posted @ 2025-07-06 21:23 MistyPost 阅读(9) 评论(0) 推荐(0)