上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: 适用范围 单源最短路(可判负圈). 原理 Bellman-Ford算法核心思想:动态规划.d[i]的定义为起点s到第i个点的最短距离.刚开始d[i]数组初始化为INF,d[s]=0.然后遍历所有的边,把所有能更新的点更新一遍,能更新的点判定条件为d[to]>d[from]+w(边权),能更新则更新为 阅读全文
posted @ 2019-09-08 19:31 VBL 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 1.归并排序 原理 整体思想是把待排序的序列从中间分成两半,分别排序之后利用两个有序的序列合成一个有序的序列.按照这个思想递归下去即可.复杂度O(nlogn). 代码 1 #include <bits/stdc++.h> 2 3 using namespace std; 4 typedef unsi 阅读全文
posted @ 2019-09-06 21:18 VBL 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 快速幂模板题,依题意套个求模快速幂,然后答案边加边模即可. 代码 阅读全文
posted @ 2019-09-02 09:01 VBL 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 依题意要先检测p是否为素数,这个可以用埃筛筛出1-sqrt(1e9)的素数,然后判定一下p是否能被这些数整除,不能的话就是素数,否则则为合数.至于a的p次方直接套个快速幂就行了. 代码 阅读全文
posted @ 2019-09-02 08:58 VBL 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 由题意可知,我们要做的第一步就是把H-prime筛出来,仔细观察可以发现,如果i是H-prime,则i*i+4*k*i(k=0,1,2,3...)也是H-prime,这里为了方便筛可以把原数x表示为x/4.筛出H-prime后就暴力处理出H-composites(记得去重) 阅读全文
posted @ 2019-09-02 08:44 VBL 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 依题意可以知道,X每次只分解出一个质因子即可得到最长的链.像20=22*5=(2*5,5,1)就是20最长因子链.因此最长因子链的长度等于质因子的幂的和.最长因子链的组合方法由组合数学可知有(质因子的幂的和的全排列)/(每个质因子的幂的全排列)种.由题目数据可知用组合数学求 阅读全文
posted @ 2019-09-01 10:56 VBL 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 按题意在本地用埃氏筛跑了一下符合条件的所有素数,发现只有1000多个.因为题目数据不大,最多100个样例,感觉可以按照题意生成边(从一个素数转化到另一个素数),然后每次询问直接跑一次dijkstra最短路即可. 代码 阅读全文
posted @ 2019-09-01 10:37 VBL 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 无限循环小数化分数.把小数用分数表示,后面等比数列可以用求和公式化简,最后可以总结出一个通用公式(可以百度),这里不细讲.需要注意一下,题目没有明确说明循环部分从哪开始,因此需要枚举循环部分,找到分母最小的输出即可. 代码 阅读全文
posted @ 2019-08-31 10:19 VBL 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 这道题用Pollard Rho算法不能交G++,会RE!!!先说一下整体思路,gcd指gcd(a,b),lcm指lcm(a,b).a=x*gcd,b=y*gcd,则x,y互质且有x*y=lcm/gcd,要使a+b最小,也就是x+y最小.这里可以看出我们要做的就是分解lcm/ 阅读全文
posted @ 2019-08-31 09:24 VBL 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 题意很明确,这里的模数是不互质的,因此不能直接套中国剩余定理.这里稍微讲一下中国剩余定理的扩展,假设前i个方程的特解为ans(i),通解为x(i)=ans(i)+k*lcm(前i个模数).把x(i)代入到第i+1个方程,用扩展欧几里得定理求解k=k0,ans(i+1)=an 阅读全文
posted @ 2019-08-31 09:06 VBL 阅读(130) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页