- 2024-09-19字符串指南
kmpkmp是模式串匹配的算法,本来最坏时间复杂度可以达到$\operatorname{O}(n\timesm)$,但是kmp可以将复杂度优化到$\operatorname{O}(n+m)$。kmp有个很重要的东西,叫做$nxt$失配数组。比如对于一个字符串$s$,它的失配数组$nxt_n$就是$s$的最大前缀等于后缀的长度。$\op
- 2024-09-04CF 2010 C2. Message Transmission Error (hard version) (*1700) 字符串+哈希
CF2010C2.MessageTransmissionError(hardversion)(*1700)字符串+哈希题目链接题意:给你一个字符串,让你判断是否是由某个字符串首尾拼接重叠而成的。思路:做法很多,最暴力就直接枚举字符串长度,然后哈希即可。代码:#include<bits/stdc++.h>usingnamespacestd;#def
- 2024-07-31P3501 [POI2010] ANT-Antisymmetry 反对称 题解(字符串哈希+二分)
原题题意若一个由010101组成的字符串将000和
- 2024-07-25字符串哈希/双哈希模板
structHash{usingu64=unsignedlonglong;u64base=13331;vector<u64>pow,hash;Hash(string&s){s=""+s;intN=s.size();pow.resize(N+1),hash.resize(N+1);pow[0]=1,
- 2024-07-222024“钉耙编程”中国大学生算法设计超级联赛(1)第一场1001
循环位移题解2024“钉耙编程”中国大学生算法设计超级联赛(1)题目:ProblemDescription定义字符串S=S0+⋯+Sn−1循环位移k次为S(k)=Skmodn+⋯+Sn−1+S0+⋯+S(k−1)modn。定义[A]=\setA(k),k∈N.给出T组串A,B,询问B有多少个子串在[A]中。Input第一行一个
- 2024-04-03BZOJ3160万径人踪灭-回文子序列(位置对称)计数
link:https://www.luogu.com.cn/problem/P4199写manacher看到的(其实重点并不在manacher)题意:给一个仅包含2种字母的字符串,问有多少种不同的子序列,满足:内容和位置都是对称的不能是连续的一段\(1\leqn\leq10^5\)答案=子序列个数-回文串个数,回文串用manacher跑,子序列则考虑
- 2023-11-04P3784 [SDOI2017] 遗忘的集合
传送门description对于一个元素都\(\leqn\)的正整数集合\(S\)(不含相同元素),\(f(i)\)表示使用集合\(S\)里的数加和为\(i\)的方案数,每个元素可以被使用多次,两个方案不同当且仅当存在一个元素在两种方案中使用次数不同。现给定\(n\)和\(f(i),1\leqi\leqn\)。求出集
- 2023-07-25python求复数的模
Python求复数的模简介在数学中,复数是由实数和虚数组成的数字。复数的模指复数到原点的距离,也称为复数的绝对值或复数的模长。在Python中,我们可以使用内置的cmath模块来计算和处理复数。求复数的模在Python中,我们可以使用cmath模块的abs()函数来计算复数的模。下面是一个简单的
- 2023-06-24CF1418G Three Occurrences 做题笔记
题目链接题意是输出所有区间满足其内部每个数要么出现$3$次要么不出现的个数。因为是区间,数量很多,发现贡献是可以抵消的,直接无脑预处理前缀的桶。然后枚举左端点,统计答案,怎么处理呢?疯狂地向右扩展,直到区间内有数字出现了$3$次以上(这样是对的,待会儿证明,另外扩展到前一个就
- 2023-06-14(博弈论)Even Number Addicts
Alice和Bob正在一个序列 ai 上玩游戏,Alice先手,轮流玩。每一轮当前玩家可以取走序列中任意一个数,直到取完。如果最后Ailce取走的数的和为偶数,则Ailce赢,否则Bob赢。保证每个人用最优策略玩。对于每组数据,输出赢家。输入输出样例输入#1复制4313541357
- 2023-06-01定点加、减运算
2.1定点补码加、减法与溢出[x]补+【y]补=[x+y]补(mod2)[x]补-[y]补=[x-y]补=[x]补+[-y]补溢出判断法:定点小数>1正溢出;<-1,负溢出一种:双符号位法,一种进位判断法
- 2023-02-11Johnny and Grandmaster——贪心
题目https://codeforces.com/problemset/problem/1361/B题意输入t(≤1e5)表示t组数据,每组数据输入n(≤1e6)p(1≤p≤1e6)和长为n的数组k(0≤k[i]≤1e6)。
- 2023-01-11python 中常见的 import 模块的方法(总结)
在用python进行编程时,经常会使用第三方模块包。这种包我们可以通过pythonsetupinstall进行安装后,通过importXXX或fromXXXimportyyy进行导入。不过如果是自己遍写
- 2022-12-11Rust中super关键字和self关键字的使用
随笔:fnfunction(){println!("functionglobal");}pubmodmod1{pubfnfunction(){super::function();println!("functionmod1");}pubmo
- 2022-08-23ARC099F题解
被杀了,记录一下好了。对于他那个数组是否相等,直接判断复杂度很高,考虑通过哈希映射之后判断是否相等。对数组的Hash可以类似字符串Hash那样去做。于是判断一个区间是