摘要: 关于最短路,大家应该都知道有Dijkstra,SPFA以及Floyd。 此处先提出一个问题: 给定图G,每条边有边权。求从一点到另一点的边权和最小的路径。要求图中不能有负回路(否则为NP问题)。 首先提到的便是Floyd。 如果数据范围足够小,相信大家大部分会选择Floyd(为什么呢,后文解释)。 阅读全文
posted @ 2018-08-09 20:03 GTBA 阅读(257) 评论(0) 推荐(0) 编辑
摘要: DFS(深度优先搜索) 为无向图 DFS的过程类似于树的先序遍历。 请看图: DFS此图的过程为: 1.首先任意找一个未被便利过的顶点,例如从V1开始,由于率先访问了它,所以需要标记V1即已经访问过。 2.然后遍历V1的邻接点,例如访问V2,并做标记,之后访问V2,V4,V8,然后V5。 3.当继续 阅读全文
posted @ 2018-08-09 20:01 GTBA 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 费马小定理 假设p是质数,且gcd(a,p)=1,那么a(p-1)≡1(mod p)。假设a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1.a^(p-1)%p=1(其中%为取模操作,且a<p,p为质数) 欧几里得算法 1.带余除法定理:a,b,其 阅读全文
posted @ 2018-08-09 19:54 GTBA 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 之前学Tarjan的时候一直理解不是很到位,温故而知新,查缺补漏一下。 Tarjan算法是用于求解有向图强连通分量的算法,它能做到线性时间的复杂度。 定义: 1.如果两个顶点可以相互通达,则称两个顶点强连通(strongly connected)。 2.如果有向图G的每两个顶点都强连通,称G是一个强 阅读全文
posted @ 2018-08-09 19:50 GTBA 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 由一个题引入: 求一个串A的最长回文串: A=abababa最长回文串长度:5(ababa) 先思考用hash怎么做? 一、暴力 枚举左端,右端点(确定一个区间),线性扫一遍当前区间。 Ans=max(ans); 时间复杂度:O(n^3) 貌似也有O(n^2)的暴力,在此不再赘述。二、哈希 分设两个 阅读全文
posted @ 2018-08-09 19:47 GTBA 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 嗯,,,,自动AC机 在cena评测时: 在lemon评测时: 这是利用评测系统的bug来实现的。 这个东西可以在平时的时候玩一玩,但考试的时候还是要凭借真材实料。 一世安宁 阅读全文
posted @ 2018-08-09 19:46 GTBA 阅读(277) 评论(0) 推荐(1) 编辑
摘要: 题目描述 a[1]=a[2]=a[3]=1 a[x]=a[x-3]+a[x-1] (x>3) 求a数列的第n项对1000000007(10^9+7)取余的值。 输入输出格式 输入格式: 第一行一个整数T,表示询问个数。 以下T行,每行一个正整数n。 输出格式: 每行输出一个非负整数表示答案。 输入输 阅读全文
posted @ 2018-08-08 10:37 GTBA 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 洛谷 P1580 yyy loves Easter_Egg I 题解: 队列+字符串 一世安宁 阅读全文
posted @ 2018-08-08 07:41 GTBA 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 洛谷 P1762 偶数 题目描述 给定一个正整数n,请输出杨辉三角形前n行的偶数个数对1000003取模后的结果。 输入输出格式 输入格式: 一个数 输出格式: 结果 输入输出样例 输入样例#1: 6 输出样例#1: 6 输入样例#1: 6 输出样例#1: 6 说明 对于30%的数据,n<=4000 阅读全文
posted @ 2018-07-02 21:04 GTBA 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 洛谷 P1198 [JSOI2008]最大数 题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。 限制: L不超过当前数列的长度。 (L>0) 2、 插入操作。 语法:A n 功能:将 n 加上 t 阅读全文
posted @ 2018-06-26 21:14 GTBA 阅读(166) 评论(0) 推荐(0) 编辑