09 2019 档案
摘要:适用范围 单源最短路(可判负圈). 原理 Bellman-Ford算法核心思想:动态规划.d[i]的定义为起点s到第i个点的最短距离.刚开始d[i]数组初始化为INF,d[s]=0.然后遍历所有的边,把所有能更新的点更新一遍,能更新的点判定条件为d[to]>d[from]+w(边权),能更新则更新为
阅读全文
摘要:1.归并排序 原理 整体思想是把待排序的序列从中间分成两半,分别排序之后利用两个有序的序列合成一个有序的序列.按照这个思想递归下去即可.复杂度O(nlogn). 代码 1 #include <bits/stdc++.h> 2 3 using namespace std; 4 typedef unsi
阅读全文
摘要:原题 题目链接 题目分析 快速幂模板题,依题意套个求模快速幂,然后答案边加边模即可. 代码
阅读全文
摘要:原题 题目链接 题目分析 依题意要先检测p是否为素数,这个可以用埃筛筛出1-sqrt(1e9)的素数,然后判定一下p是否能被这些数整除,不能的话就是素数,否则则为合数.至于a的p次方直接套个快速幂就行了. 代码
阅读全文
摘要:原题 题目链接 题目分析 由题意可知,我们要做的第一步就是把H-prime筛出来,仔细观察可以发现,如果i是H-prime,则i*i+4*k*i(k=0,1,2,3...)也是H-prime,这里为了方便筛可以把原数x表示为x/4.筛出H-prime后就暴力处理出H-composites(记得去重)
阅读全文
摘要:原题 题目链接 题目分析 依题意可以知道,X每次只分解出一个质因子即可得到最长的链.像20=22*5=(2*5,5,1)就是20最长因子链.因此最长因子链的长度等于质因子的幂的和.最长因子链的组合方法由组合数学可知有(质因子的幂的和的全排列)/(每个质因子的幂的全排列)种.由题目数据可知用组合数学求
阅读全文
摘要:原题 题目链接 题目分析 按题意在本地用埃氏筛跑了一下符合条件的所有素数,发现只有1000多个.因为题目数据不大,最多100个样例,感觉可以按照题意生成边(从一个素数转化到另一个素数),然后每次询问直接跑一次dijkstra最短路即可. 代码
阅读全文

浙公网安备 33010602011771号