自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 洛谷P1608 路径统计 最短路变种 dijkstra算法

题意:求一个带权有向图的1到n的最短路径数量,两点间会有重边,两条最短路径只有在存在一条边及以上不同时认为不同(所以重边算一条边),若城市n无法到达则只输出一个(‘No answer’)。题解:和P1144差不多,但是P1144是无权图,所以可以直接bfs,本题是带权图,就需要使用dijkstra算法求最短路了,更新数量时,如果dis[v]需要松弛,则说明存在一条新的边缩短了1到v的最...

2019-05-06 00:02:36 275

原创 洛谷P1144 最短路计数 BFS

题意:给出一个N个顶点M条边的无向无权图,顶点编号为1−N。问从顶点1开始,到其他每个点的最短路有几条,可能有自环与重边。输出答案 mod 100003 后的结果即可。如果无法到达顶点i则输出0。题解:用一个cnt数组记录1点到达某个点的最短路径的条数,如果在某个时候已经求出u的深度,如果访问的点是v且v的距深度等于u的路径+1,则可知这条u至v的边是1到v的最短路径,所以cnt[v]...

2019-05-05 23:39:29 222

原创 洛谷P2384 最短路 最短路变形

题意:给定n个点的带权有向图,求从1到n的路径中边权之积最小的简单路径。输出它模9987的余数。题解:最短路变形,令距离数组dis[start]=1,其他为INF,使用堆优化dijkstra算法,松弛操作变成dis[v]=min{dis[v],dis[u]*E{u,v}};即可。AC代码:#include <iostream>#include <vecto...

2019-05-05 23:24:38 163

原创 做题记录(2019年2月10日起)

开个博客记录一下自己做过的题:2019年:2月:UVA10082 (字符串常量水题)https://vjudge.net/problem/UVA-10082UVA272 (字符串替换水题)https://vjudge.net/problem/UVA-272 UVA401 (回文串镜像串水题)https://vjudge.net/problem/UVA-401UV...

2019-04-13 00:20:17 260

原创 KMP算法总结和例题(来自kuangbin套题)

一、KMP算法介绍:对于两个字符串,如果我们需要在一个串中找到另一个串的出现数量,有两种方法:在待匹配串中设置指针i,每匹配完一次模式串则往后移一位,该算法的时间复杂度是O(n*m),空间复杂度O(n+m)。对于这种方法,我们注意到,很多需要匹配的操作实际上是不必要的,比如模式串abcde,待匹配串abcdeabcde,当匹配完b之后移动到匹配c,是完全没有必要的。因此,为了避免这...

2019-03-20 23:11:12 799 1

原创 POJ 3080 Blue Jeans KMP算法+暴力匹配

题意:给定n组测试数据,每组测试数据有m个字符串,找出这些字符串中最长的公共字符串,如果有多组长度一样,输出字典序最小的。如果公共字符串的长度小于3,输出no significant commonalities题解:对于每一组测试数据,二重循环暴力搜索第一个字符串的所有子串。匹配剩下的字符串,如果是共有的,且新字符串比原字符串长或者长度一样且字典序更小时,则更新答案字符串。AC代码...

2019-03-17 08:29:59 334

原创 POJ 2752 Seek the Name, Seek the Fame KMP算法

题意:给定若干字符串(这些字符串总长 ≤ 400000 ),在每个字符串中求出所有既是前缀又是后缀的子串长度。例如:ababcababababcabab,既是前缀又是后缀的:ab,abab,ababcabab,ababcababababcabab。题解:使用kmp算法。我们知道next[i]是i之前的子字符串中相同前缀和后缀的最长长度。则可以这么考虑:从next[str.size(...

2019-03-14 19:38:02 261

原创 HDU 1686 Oulipo KMP算法

题意:求模式串在待匹配串的出现次数。解法:1、使用朴素解法,遍历模式串一次,然后待匹配串往后移动一个字符。时间复杂度O(nm)。2、使用KMP算法,求出模式串的Next数组,然后对待匹配串匹配,令i是待匹配串位置指针,j是模式串位置指针。当j等于模式串的长度,即完成一次匹配。令j=next[j]回溯即可。AC代码:#include <iostream>#in...

2019-03-13 16:48:58 215

原创 PTA 7-2 一元多项式的乘法与加法运算 链表合并

题目:7-2 一元多项式的乘法与加法运算 (20 分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。...

2019-03-10 16:31:13 491

原创 Codeforces 1097C Yuhao and a Parenthesis 栈

题意:输入一些字符串,只含有左右括号,当且仅当两字符串的合成体左右括号数量相同且最左边是左括号,最右边是右括号时,字符串可组合,字符串只能用一次。求最大组合数。题解:可以先处理"()"的情况。处理字符串中部分回文的情况,可以使用栈解决。处理完后:1.如果只有'(',与有相同数量的')'的串组合。如果是空串,空串计数器+1,如果两种都有,不可能组合。数量就是空串数除2取整+左...

2019-03-09 22:28:13 164

原创 UVA 1587 Box 思维

题意:给出两条边长确认一个矩形,给出六个矩形,请问这六个矩形能不能组成一个长方体。做法:对于一个长方体,设其边长为a,b,c,令a<b<c,排序完成后,则有,ab,ab,ac,ac,bc,bc,即只有这样的数据才能构成长方体。则可以这样考虑,声明一个结构体,含有宽(w)和高(h),对于输入的数据,若后项大于前项,则交换,排序后,首先寻找是否刚好有三组一样的矩形。如果有,...

2019-03-09 22:19:31 234

原创 UVA 455 Periodic Strings KMP算法

题意:求一个字符串的最小周期。长度不超过80。解法:令test case的最大值是k。方法一:使用for循环比较字符元素。该方法适应性强,时间复杂度O(kn^2)方法二:使用kmp算法求next数组。时间复杂度O(kn)但是使用kmp算法时如果存在abcda串,n-next[n]将输出4,实际结果是5。这个错误结果的产生是因为字符串的后缀子串与前缀子串一致。导致错误。所...

2019-03-09 22:08:49 213

原创 Codeforces 1102D Balanced Ternary String 思维

题意:给出0,1,2序列,序列中的0,1,2数量不一样,但是0,1,2都可以被修改成其他数字,求将序列修改成0,1,2数量相等相等序列的最小修改次数,并输出修改后最小字典序的序列。思路:预处理序列的0,1,2的数字个数和位置,设0的数量是aa,1的数量是bb,2的数量是cc,此时分情况讨论:若aa==bb&&bb==cc直接输入,如果不是,使用三个双端队列,保存0,1,...

2019-02-06 00:23:12 269

原创 Codeforces 1102B Array K-Coloring 思维

题意:给出n个元素的数组和k个颜色,要求将所有元素都涂色,且相同元素的颜色不同,且要使用所有颜色。思路:将所有元素的位置使用vector保存,对所有元素一种接着一,种从1开始到k循环着色。着色完按照顺序输出即可。AC代码:#include<iostream>#include<algorithm>#include<vector>usin...

2019-02-06 00:14:24 360

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除