笔记
文章平均质量分 68
邓汪涛
这个作者很懒,什么都没留下…
展开
-
最小生成树——Prim算法
Prim算法普里姆算法在找最小生成树时,将顶点分为两类,一类是在查找的过程中已经包含在树中的(假设为 A 类),剩下的是另一类(假设为 B 类)。对于给定的连通网,起始状态全部顶点都归为 B 类。在找最小生成树时,选定任意一个顶点作为起始点,并将之从 B 类移至 A 类;然后找出 B 类中到 A 类中的顶点之间权值最小的顶点,将之从 B 类移至 A 类,如此重复,直到 B 类中没有顶点为止。所走过的顶点和边就是该连通图的最小生成树。...原创 2021-01-19 20:18:26 · 2731 阅读 · 0 评论 -
《区间和》离散化+前缀和
区间和假定有一个无限长的数轴,数轴上每个坐标上的数都是0。现在,我们首先进行 n 次操作,每次操作将某一位置x上的数加c。接下来,进行 m 次询问,每个询问包含两个整数l和r,你需要求出在区间[l, r]之间的所有数的和。输入格式第一行包含两个整数n和m。接下来 n 行,每行包含两个整数x和c。再接下里 m 行,每行包含两个整数l和r。输出格式共m行,每行输出一个询问中所求的区间内数字和。数据范围−109≤x≤109−10^9≤x≤10^9−109≤x≤1091≤n,m≤1051≤n原创 2021-01-17 15:45:32 · 210 阅读 · 0 评论 -
高精度(加减乘除)C++
文章目录高精加高精减高精乘高精除高精加#include <bits/stdc++.h>using namespace std;// const int maxn = 100005; char a[maxn]={0}; char b[maxn]={0}; int res[maxn] = {0};//void add(char *a,char *b){ int lena = strlen(a); int lenb = strlen(b); reverse(a,a原创 2021-01-16 22:53:21 · 369 阅读 · 5 评论 -
最短路径——Dijkstra算法
Dijkstra算法求某一个到任意点的最短路径Dijkstra算法算是贪心思想实现的,首先把起点到所有点的距离存下来找个最短的,然后松弛一次再找出最短的,所谓的松弛操作就是,遍历一遍看通过刚刚找到的距离最短的点作为中转站会不会更近,如果更近了就更新距离,这样把所有的点找遍之后就存下了起点到其他所有点的最短距离。邻接矩阵:012345600466INFINFINF1INF01INF7INFINF2INFINF0INF6原创 2021-01-12 19:46:24 · 1921 阅读 · 2 评论 -
搜索DFS&BFS
文章目录红与黑AC代码:1. BFS:2. DFS:红与黑有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入格式输入包括多个数据集合。每个数据集合的第一行是两个整数 WW 和 HH,分别表示 xx 方向和 yy 方向瓷砖的数量。在接下来的 HH 行中,每行包括 WW 个字符。每个字符表示一块瓷砖的颜色,规则如下1)‘.’:黑色的瓷砖;2)‘#’:白色的原创 2021-01-12 15:16:10 · 141 阅读 · 1 评论 -
POJ3070Fibonacci 矩阵快速幂
FibonacciDescriptionIn the Fibonacci integer sequence, F0=0F_0=0F0=0, F1=1F_1=1F1=1, and Fn=Fn−1+Fn−2F_n = F_{n-1}+F_{n-2}Fn=Fn−1+Fn−2for n>=2n>=2n>=2. For example, the first ten terms of the Fibonacci sequence are:0, 1, 1, 2, 3, 5, 8, 13,原创 2021-01-11 21:31:59 · 229 阅读 · 2 评论 -
快速幂
快速幂文章目录快速幂求anmod ca^n\mod canmodcMethod 1 :暴力Method 2:避免溢出Method 3:快速幂求anmod ca^n\mod canmodcMethod 1 :暴力typedef unsigned long long ull;ull powMod(ull a,ull n,ull c){ ull res=1; for(int i=0;i<n;i++) res*=a; return res % c;}原创 2021-01-10 21:43:11 · 589 阅读 · 1 评论 -
牛客挑战赛47 A 一道GCD问题
牛客挑战赛47 A题文章目录牛客挑战赛47 A题题目描述输入描述:输出描述:输入输出**根据多维的更相减损术得**gcd(x,y,z)=gcd(x,y−x,z−y)gcd(x,y,z)=gcd(x,y−x,z−y)gcd(x,y,z)=gcd(x,y−x,z−y)**可得**: gcd(a1+k,a2+k,a3+k,...,an+k)=gcd(a1+k,a2−a1,a3−a2,...)gcd(a_1+k,a_2+k,a_3+k,...,a_n+k) = gcd(a_1+k,a_2-a_1,a_3-a_2,原创 2021-01-10 16:07:39 · 748 阅读 · 0 评论 -
PTA 数据结构与算法题目集(中文)7-10 公路村村通
PTA 数据结构与算法题目集(中文)7-10 公路村村通 (30分)题目链接 : https://pintia.cn/problem-sets/15/problems/718现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式:输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到原创 2021-01-09 00:04:05 · 438 阅读 · 0 评论 -
数据结构:图(2. 图的遍历)
数据结构:图(2. 图的遍历)图的遍历方式深度优先遍历DFS(Depth First Search)广度优先遍历BFS(Breadth First Search)根据上一篇文章(数据结构:图(2. 图的存储))的邻接矩阵和邻接表来分别实现对图的两种遍历邻接矩阵graph.h 邻接矩阵头文件 添加以下代码//添加头文件 STL的队列 #include<queue>class graph{public: //图的操作 std::string DF原创 2021-01-07 12:11:22 · 147 阅读 · 0 评论 -
数据结构:图(1. 图的存储)
数据结构:图(1. 图的存储)图的概念图(Graph) 是由顶点和连接顶点的边构成的离散结构在计算机科学中,图是最灵活的数据结构之一用于描绘数据之间的关系图结构的实现一个图就是一些顶点的集合这些顶点通过一系列边连接顶点 V边 E图 G(V,E)图的种类是否有方向有向图无向图是否有权重带权图无权图无向图只记录顶点之间的连通性顶点之间的链接是双向的只要两个顶点链接就行了A链接了B,B也一定链接了A#mermaid-svg-6aqVqvREg原创 2021-01-06 14:43:25 · 387 阅读 · 0 评论 -
质数数量 牛客22226题
链接:https://ac.nowcoder.com/acm/problem/22226来源:牛客网质数数量题目描述质数(prime number)又称素数,有无限个,质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。例如小于10的质数有2,3,5,7。输入描述:第一行输入一个整数T,表示询问的个数接下来T行每行输入一个整数n.1<=T<=1e8,1<=n<=1000000输出描述:对于每个询问n输出小于等于n的的质数的个数。示例1输入原创 2021-01-05 17:22:37 · 446 阅读 · 0 评论 -
航电1002 A + B Problem II
A + B Problem IITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 545685 Accepted Submission(s): 104216Problem DescriptionI have a very simple problem for you. Given two integers A and B, your job is原创 2021-01-03 19:31:35 · 241 阅读 · 0 评论 -
杭电 1087 hdu (Dynamic Programming)Super Jumping! Jumping! Jumping!
杭电 1087 hdu (Dynamic Programming)Super Jumping! Jumping! Jumping!*Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 66856 Accepted Submission(s): 31301*Problem DescriptionNowadays, a kind of chess g原创 2020-11-20 07:26:24 · 180 阅读 · 0 评论 -
1、复杂度分析(学习笔记)
1、复杂度分析(学习笔记)1. 为什么需要复杂度分析 统计代码的执行时间和占用的内存,完全可以通过统计、监控来得到,为什么还要做时间、空间复杂度分析呢?其实,这种统计方法在一些算法书籍中叫做事后统计法。但是这种方法的局限性很多。在实际测试环境中,硬件的不同对测试结果有很大的影响。测试数据受数据规模的影响。时间、空间复杂度分析的作用就是不用具体的测试数据,就可以粗略的估计算法的执行效率的方法。2. 大O复杂度表示法算法的执行效率,粗略的讲,就是算法代码执行的时间。下面是一原创 2020-10-17 16:55:18 · 283 阅读 · 0 评论