基础算法
Hello-Ying
这个作者很懒,什么都没留下…
展开
-
快速幂,快速乘
1、快速幂(乘法实现) eg : 2^7 (2的7次方) 7 的二进制数为 111 2^1 = 2 ; 2^2 = 2^1 * 2^1 2^4 = 2^2 * 2^2 2^7 = 2^4 * 2^2 * 2^1 #include<stdio.h> long long Fast_power(long long a,l...原创 2019-03-20 11:26:43 · 222 阅读 · 0 评论 -
深度优先搜索,广度优先搜索
深度优先搜索: #include<stdio.h> int book[101],sum,n,e[101][101] ; void dfs(int cur) { printf("%d ",cur) ; sum++ ; //每访问一个顶点,sum就加一 if(sum==n) return ;//所有的顶点都已经访问过则直接退出 for(int i=1;i<=n...原创 2019-03-12 13:53:16 · 111 阅读 · 0 评论 -
ZZULI OJ 1546: 小L的加法器(优先队列)
题目描述 给定n个正整数让小L计算累加和,聪明的小L设计了一个加法器,但是加法器一次只能进行两个数的加法运算,而且两数和越大,相加的过程用时越长,假定一次加法操作用时正好为两个数的和,累加过程有很多方案,请你给出这些方案中,使n个数累加起来最少的用时是多少? 输入 第一行输入一个整数n(1<=n<=104),表示用来累加的数字个数,第二行输入n个数xi(1<=xi<=...原创 2019-04-09 14:07:09 · 204 阅读 · 0 评论 -
最短路径—Dijkstra算法
#include<cstdio> #define MAXV 50 #define INF 10000 using namespace std ; typedef struct{ int edges[MAXV][MAXV] ; //邻接矩阵的边数组 int n ; //定点数 int e ; //边数 }MGraph; int dist[MAXV] ; int...原创 2019-08-02 18:02:03 · 232 阅读 · 0 评论