返回顶部
摘要: $\quad $ 初看就发现不对劲了,模板紫题,一看就不简单,就交了个裸\(KM\),哎,果然\(T\)了。 $\quad $ 然后就是大力卡常(当然\(O(n^4)\)的复杂度不是卡常能解决的)。遂看题解,发现一个据说\(O(n^3)\)的复杂度的\(KM\),也是非常抽象。 具体解释详见 htt 阅读全文
posted @ 2024-05-14 11:59 无敌の暗黑魔王 阅读(8) 评论(0) 推荐(1) 编辑
摘要: https://www.cnblogs.com/kuangbiaopilihu/p/18184536 $\quad $ 这里不再介绍二分图的基础知识,只是一些例题的解释。 关押罪犯 $\quad $ 当然,这道题可以用二分+并查集来解决。但这是二分图专辑,所以介绍一下二分图做法。 $\quad $ 阅读全文
posted @ 2024-05-12 17:05 无敌の暗黑魔王 阅读(26) 评论(0) 推荐(3) 编辑
摘要: Hash思想及原理 \(\quad Hash\)的思想与离散化有些许类似,都是把一个较大的域映射到一个较小的、方便比较的域中,以达到降低时间复杂度的目的。 \(\quad Hash\)的精髓在于\(Hash\)函数。它并不是一个确定的函数,而是要求各位\(Oier\)自己定义,(怎么定义?想怎么定义 阅读全文
posted @ 2024-05-08 11:35 无敌の暗黑魔王 阅读(10) 评论(0) 推荐(1) 编辑
摘要: \(P3375 【模板】KMP\) https://www.luogu.com.cn/problem/P3375 #include<bits/stdc++.h> using namespace std; const int N=1e7+5; vector<int> get_pi(string s){ 阅读全文
posted @ 2024-04-26 16:45 无敌の暗黑魔王 阅读(23) 评论(2) 推荐(1) 编辑
摘要: 预处理 void init(){ clean(); scanf("%lld",&n); for(i=1;i<=n;i++)scanf("%lld",&a[i]); sq=sqrt(n); for(i=1;i<=sq;i++){ st[i]=n/sq*(i-1)+1; ed[i]=n/sq*i; } 阅读全文
posted @ 2024-04-15 20:23 无敌の暗黑魔王 阅读(16) 评论(0) 推荐(1) 编辑
摘要: $T1 \qquad $ 排座位 https://tg.hszxoj.com/contest/992/problem/4 $\quad \ \ $ 很难说,开始一眼暴力\(O(n^2)\)(好像不是),再看\(n=1e5\),废了,更不行了。但想起来归并排序,然而并不是归并排序。也是水过样例了,十分 阅读全文
posted @ 2024-04-15 17:15 无敌の暗黑魔王 阅读(29) 评论(2) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2024-04-14 20:22 无敌の暗黑魔王 阅读(9) 评论(1) 推荐(0) 编辑
摘要: 假设存在一个满足条件的长度为i的不下降序列(显然是一定存在的)那么只需要从中选出i个数即可 (不必在意选出具体数的大小,可以把满足条件的序列写下来,选几个数感受一下)。 但是$n \choose m $里的 \(m\) 的是就是 \((r-l+1)\) 吗? 乍一看是这样的,但是这样会出现一个问题, 阅读全文
posted @ 2024-04-13 21:29 无敌の暗黑魔王 阅读(20) 评论(0) 推荐(1) 编辑
摘要: 看数据范围就知道应该要状压,也不难看出应该压缩位数的状态。所以设f[i][j]为前i位,相互匹配的字符串的状态。 那么,就会有 \[{f^i_{(j \bigcap a^i_{ch})} }=(f^{i+1}_{(j\bigcap a^i_{ch})}+f^i_j ) mod (p) \]其中a[i 阅读全文
posted @ 2024-04-08 21:31 无敌の暗黑魔王 阅读(8) 评论(0) 推荐(3) 编辑
摘要: “正常”求最短路 BFS版本 void spfa(){ queue<int>q; q.push(0); fl[0]=1; while(q.size()){ int x=q.front(); q.pop(); fl[x]=0; for(int i=h[x];i;i=s[i].next){ int y= 阅读全文
posted @ 2024-03-05 15:08 无敌の暗黑魔王 阅读(5) 评论(0) 推荐(1) 编辑