- 博客(35)
- 收藏
- 关注
原创 博弈论简单算法
题目简述:有n颗石子,甲先取,乙后取,每次可拿1-m颗石子,轮流拿下去,拿到最后一颗的人获胜。先想当有m+1个石子时候不论先手取多少个 后手一定可以一次性取完,所以后手一定赢。那么再思考如果有n*(m+1)个,先手取k个,则后手取m+1-k个保证每一个周期结束后数目仍然是m+1的倍数。直到剩m+1个的时候,先手取完后,后手全部取完。如果不是m+1的倍数那么先手只需要一定数目的石子让其变为m+1的倍数即可 所以有当n%(m+1)==0先手必败n%(m+1)!= 0先手必胜。
2024-08-31 16:15:24
443
原创 Manacher算法模板
Manacher算法用于计算最长回文串的长度,时间复杂度为需要先对字符串进行预处理,方便统一处理偶数和奇数字符串,具体为将abba变为$#a#b#b#a#&之后再通过一个分类讨论,主要是优化了已经计算过的子回文串长度的重复计算,具体的讨论以及推导还是看书吧,能看懂但讲不出来阿巴阿巴。
2024-08-31 16:14:41
232
原创 ET算法【动态规划】
线性dp:dp[i][j] 由 dp[i - 1][j] 通过加减乘除等线性运算得到状压dp:dp[i][j] 表示一个用二进制数表示的子集来反映当前状态,如7 =(111)(选了三个)期望dp:dp[i][j] 表示期望或者概率存在性dp:dp[i][j] 表示目标状态是否存在树形dp:通过树状结构来状态转移,通常用到DFS数位dp:[1,n]之中包含多少个69。
2024-08-31 16:14:17
1106
原创 ET算法【最短路】
贪心(每次找最近点进行拓展)+ dp(选取最优方案)先选取出发点st,拓展该点的所有出点,并更新出点的权值(即到st点的距离),再拓展所有出点中权值最小的出点,每个点只拓展一次数据加强版。
2024-08-31 16:13:44
457
原创 ET算法【基础数论】
寒假过完了....放了一周多的样子....eee。今天是2.14,一个和我没有一毛钱关系的节日,开学了...依稀记得去年这时候,我还在金太阳联考呢www。
2024-02-17 17:08:36
921
原创 ST表模板
ST表适用于可重复贡献问题,即对于运算opt,满足x opt x = x,则对应的区间询问就是一个可重复贡献问题,例如max( x , x ) = x , gcd( x , x ) = xST表应用最广泛的领域便是解决RMQ问题:给定n个数,m个询问,对于每个询问,需要回答区间[ l , r ]中的最大值或最小值(可以采用两个数组同时进行处理)。基于倍增的思想,ST表可以实现O(nlogn)下进行预处理,并在O(1)时间内回答每个询问。如果仅仅进行区间最值查询,ST表的效率完全吊打线段树;
2024-01-29 12:50:49
239
原创 Hash哈希模板
取一个特殊的进位,比如小写字符串就取26进制,将字符串中的每个字符都转化为唯一对应的一个数字,再像十进制那样计算该字符串的总和,就能得到一个字符串对应的唯一确定值首先不要把任意字符对应到数字0,比如假如把a对应到数字0,那么将不能只从Hash结果上区分ab和b(虽然可以额外判断字符串长度,但不把任意字符对应到数字0更加省事且没有任何副作用),一般而言,把a-z对应到数字1-26比较合适。进制的选择实际上非常自由,大于所有字符对应的数字的最大值,不要含有模数的质因子(那还模什么)
2024-01-28 14:09:34
475
1
原创 KMP算法模板
烤馍片算法主要应用场景为模式串(子串)在字符串(主串)中的定位问题,时间复杂度为O(n+m)可用于计算最长相同前后缀长度,找寻主串中是否存在子串。
2024-01-27 12:56:57
304
2
原创 ET算法【并查集】
今天是2023.12.9已经结课了,但又没完全结课,课表上下周是只有一节体育课,可是家人们谁懂啊,下周居然是课程设计,五天早八自习,下午也要去自习,做完了也要去,说什么帮助同学,so有没有人来帮帮鼠鼠我呢。还有好多论文要写,英语论文,公选课论文,体育论文,没错还有体育论文......今天是81.21.3202,经过一周的课设摧残,只会写printf了,已经疯掉了。果不其然周日的THUPC只做出来签到题,我们仨真强.jpg。
2023-12-25 13:20:12
1169
1
原创 ET算法【单调栈与单调队列】
单调栈与单调队列维护了内部元素的单调性,多用while语句进行处理,以维护单调性。可在发现单调性后用于优化多重背包,将优化至。下面几个题核心思想皆为用一个更优的元素代替之前的元素,不要的元素就pop出去。
2023-11-10 17:52:03
110
3
原创 ET算法【STL函数】
定义STL容器:容器名 名称 eg. vector apush(元素)增加一个元素pop(元素)弹出一个元素size()获取元素个数empty()判断是否为空。
2023-11-08 18:28:40
131
1
原创 ET算法【位运算与二分】
思维题1.记一下异或的性质。①结合律:(a^b)^c=a^(b^c)②交换律:a^b=b^a没有分配律a&b进位 a^b加法。
2023-10-28 17:50:02
111
原创 ET算法【前缀和与差分】
最近比较忙,好久没写代码了,今天在熄灯前20min水一篇博客,近期刷洛谷题单有些刷不动了,感觉是因为那些题需要会的东西有点多,看题解也越来越看不懂了,还得找个课来学学新算法,等a协的培训又有些太慢了。这不就来了嘛,挑了挑还是这个便宜,内容好像大概有一半已经学过了?不懂,但我觉得还是选这个比较好,嗯,我觉得ok就ok,难得的freedom。
2023-10-17 23:02:27
133
3
原创 BJFU21新生赛-约瑟夫环问题
近期感想:做了BJFU21新生赛,和武汉大学23新生赛,对数学能力的要求还是挺高的,很多题其实只需要数学算一算得一个公式或者结论即可,用枚举、模拟的思路反而TLE。so,下回比赛带支笔,带个草稿纸好吧,别就对着个电脑屏幕发呆啊(捂脸)。以前的思路:模拟选人,设一个bool数组,模拟得到最后一个,再输出其编号。但这个题m太大了,一个一个选大概率TLE,悲。这个逆推确实没想到,但看着就很高级。
2023-10-08 17:54:37
71
3
原创 洛谷题单心得-算法1-3【暴力枚举】深度搜索
基本思路:以初状态为节点,一直向更深处探索,直到遇到死路才返回上一个节点,更换路线探索。就像走迷宫,在一个路口先往a路走,a路不通再走b路,都不行再往更以前返回。暴力枚举实在是太暴力啦,所以也要学习学习温柔的搜索(深度搜索DFS,广度搜索BFS),DFS主要依靠递归,BFS听说过但是还没见过。背包好像是一个大类的问题,dfs好像只能解决第1阶的背包,只了解到一点点,所以我就名正言顺的咕咕咕啦~dfs函数一般带着①限制参数②迭代参数③位置参数,并且需注意终止条件。就目前本蒟蒻的水平,只见到两类DFS。
2023-10-01 17:29:39
210
1
原创 洛谷题单心得-算法1-3【暴力枚举】P2089
看题解时看到一种queue(队列)的做法,stl容器,之前见过vector(向量),看来接下来要去见识一下stl库函数了,感觉有时候可比数组好用多了。循环枚举,就是循环的有一点点多,多到不太敢写(阿巴阿巴).......8.( )面边声连角起,千嶂里,长烟落日孤城闭。10.( )闻琵琶已叹息,又闻此语重唧唧。11.锦瑟无端()()弦,一弦一柱思华年。7.君问归期未有( ),巴山夜雨涨秋池。4.世人笑我太()癫,我笑他人看不穿。5.老夫聊发少年(),左牵黄,右擎苍。1.至今思项羽,不()过江东。
2023-09-28 10:32:33
220
原创 洛谷题单心得-算法1-2 【排序】归类总结
基本排序主要包括,推荐排序方法使用std库sort函数cin,cout加速——ios::sync_with_stdio(false) ,cin.tie(0) ,cout.tie(0);
2023-09-25 17:29:38
252
3
原创 洛谷题单心得-算法1-1【模拟与高精度】-P1786
模拟排序题,类型:先排序一个数据,相同的话,再排序另一个数据,两种方法,第一种偷师的题解,推荐,第二种自己想的,比较复杂(第二种在第二道题)sort函数用法 库文件algorithm sort(a,a+n,cmp)【a为数组,其实是指针,cmp为编写的比较函数,cmp内可用if来判断上一层数据相同情况下,再比较的数据】
2023-09-19 09:21:26
111
原创 洛谷题单心得-算法1-1【模拟与高精度】-P1065
写了将近三个小时,还破天荒认真滴写了注释,最后还是有一个WA了,wwwwwwwwwwwwww。超复杂模拟,边看边写抄的第二篇题解。感想是看不懂就过了吧,做人要潇洒一点。
2023-09-18 20:17:01
124
1
原创 洛谷题单心得-算法1-1【模拟与高精度】-P4924
以旋转原点为中心,先将代旋转的坐标加减回中心,再加减到目标位置。怎么转的呢,我也不大记得了,贴段代码。
2023-09-14 20:45:42
140
1
原创 洛谷题单心得-算法1-1【模拟与高精度】-P1067
从头到尾,拼拼凑凑整出式子,比分类各种情况效率高到不知道哪去了。ps:还做过哪道题也是这样的来着。
2023-09-14 20:19:19
66
1
原创 洛谷题单心得-算法1-1【模拟与高精度】-P1518
特征值法,a+b*10+c*100+d*1000......让每一种情况对应一个数字,运用bool判断。3.设置全局变量能跑,int main里设置就跑不了了?1.边缘可同样赋值*号,减少思维量及复杂程度。2.重复循环情况如何跳出死循环。
2023-09-14 20:14:01
92
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人