会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
cuijunjie18
博客园
首页
新随笔
联系
订阅
管理
2024年5月26日
KPM算法求字符串的最小周期证明
摘要: 先给出公式 ans = n - LPS[n-1] 其中ans为最小周期,n为给出的由假设的周期字符串中提取出的子串长度,LPS为前缀函数,n-1为字符串最后的位置下标 证明如下 证明ans = n - LPS[n-1],思路: (1) 证明特殊情况,即先对完整周期字符串进行证明,这时候的字符串组成是
阅读全文
posted @ 2024-05-26 12:03 游辰
阅读(282)
评论(0)
推荐(0)
2024年5月13日
洛谷P3556 [POI2013] MOR-Tales of seafaring的三种解法
摘要: 本题模板为奇偶最短路(边权为1时的),题目链接:https://www.luogu.com.cn/problem/P3556 为了研究,码了三种不同最短路解放的奇偶做法,便于不同群体理解. 一:BFS,对于边权为1,求最短路当然是BFS最快了,时间复杂度:o(nm),代码如下: 点击查看代码 //背
阅读全文
posted @ 2024-05-13 20:42 游辰
阅读(125)
评论(0)
推荐(0)
2024年5月5日
洛谷P1576最小花费(逆Dijkstra算法)
摘要: 背景:说实话,这题有点考建模思想,及对Dijkstra算法的理解 思路:因为转账间有手续费,即有一定损失比例,故边权均小于1(比例来说),而边的路权值非和,而是积,故边权相当于负(因为每次乘会使dis[i]变小) 而题目刚好求最大路,而边权又等价于全为负,不刚好是Dijkstra的逆运用吗? 原理:
阅读全文
posted @ 2024-05-05 16:16 游辰
阅读(56)
评论(0)
推荐(0)
2024年5月1日
1385E. Directing Edges(拓扑序的应用)
摘要: 背景:本题为构造DAG题,给出了有向与无向边,CF2000分题目 思路:先处理有向图,判断是否有环,有就NO,否则一定有解. 我们思考一下有环的条件(或者说环在什么情况下产生):即后面的数指向前面的数才可能构成环,即拓扑序大的指回去了! 故得构造思路:即让无向边的拓扑序小的指向大的即不会产生环 细节
阅读全文
posted @ 2024-05-01 20:42 游辰
阅读(36)
评论(0)
推荐(0)
2024年4月23日
(图论分析,思维)ABC 350-D
摘要: 背景:我自己思考想出来的图论题,总归是有成就感的 分析:求间接连接的点的对数,即一个连通块中枚举出两两连接的组合数,减去整个连通块中的边数,因为一条边必然直接连接了两个不同的点 原理:并查集 时间复杂度:o(n) 代码如下: 点击查看代码 #include <bits/stdc++.h> using
阅读全文
posted @ 2024-04-23 22:08 游辰
阅读(45)
评论(0)
推荐(0)
归并排序
摘要: 归并排序是一种基于分治的算法,下面给出我的数组式(半数组,有偏移理解) 代码: 点击查看代码 //注意:我的答案数组下标开始为1,且所有操作区间均为闭区间 //时间复杂度:稳定o(nlogn) //空间复杂度:o(n),栈空间:o(nlogn),若开全局数组则可忽略栈空间 #include <bit
阅读全文
posted @ 2024-04-23 17:17 游辰
阅读(15)
评论(0)
推荐(0)
快速排序法
摘要: 第一种写法:定标杆在起点 时间复杂度:平均o(nlogn),最坏o(n^2) 代码如下: 点击查看代码 #include <bits/stdc++.h> using namespace std; void quick_sort(int a[],int b,int e) { if(b>=e) retu
阅读全文
posted @ 2024-04-23 16:57 游辰
阅读(19)
评论(0)
推荐(0)
2024年4月21日
最长公共子序列(局限性)(LCS)问题
摘要: 先来个朴素dp算法!见代码注释 点击查看代码 //原理:dp //时间复杂度:o(n^2),过不了本题 #include <bits/stdc++.h> using namespace std; int f[1001][1001];//dp数组,f[i][j]为处理了a的前i位,b的前j位得到的最长
阅读全文
posted @ 2024-04-21 22:25 游辰
阅读(37)
评论(0)
推荐(0)
(复习)树上启发式合并(dsu on tree)入门U41492树上数颜色
摘要: 主要思想是树的重轻儿子之分使得时间复杂度为o(nlogn),神奇 欲深入了解的这里:https://oi-wiki.org/graph/dsu-on-tree/ 点击查看代码 #include <bits/stdc++.h> using namespace std; typedef struct e
阅读全文
posted @ 2024-04-21 21:05 游辰
阅读(42)
评论(0)
推荐(0)
2024年GPLT团体程序设计比赛L2-D吉利矩阵题解
摘要: 只能说比赛时前期做得太慢了,后面导致题目只能捞点分数(IOI赛制),当时这道题是我不剪枝DFS拿了4分,压线拿铜牌! 考完试一做,发现是个大水题(bushi) 主要原理:DFS(深度优先搜索) + 剪枝 名言:学搜索核心就是学剪枝 废话不说了,见代码 点击查看代码 //原理:DFS + 剪枝 #in
阅读全文
posted @ 2024-04-21 20:12 游辰
阅读(560)
评论(2)
推荐(1)
下一页
公告