常用算法
洢嵐0916
你的脸上风淡云轻,谁也不知道你的牙咬得有多紧。你走路带着风,谁也不知道你膝盖上仍有曾摔过的伤的淤青。你笑得没心没肺,没人知道你哭起来只能无声落泪。要让人觉得毫不费力,只能背后极其努力。我们没有改变不了的未来,只有不想改变的过去。
展开
-
快速幂
#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <algorithm>#include <cstring>#include <queue>#include <stack&原创 2018-04-13 16:41:35 · 104 阅读 · 0 评论 -
二分查找
int BinarySearch(int a[], int l, int r, int key) { if(l > r) { return -1; } int mid = (l + r) >> 1; if(key == a[mid]) { return mid; } else if(key < a[mi...原创 2018-05-21 19:08:33 · 96 阅读 · 0 评论 -
高精度运算
#include <bits/stdc++.h>using namespace std;typedef long long ll;string add(string s, string s2) { string maxstr, minstr; if(s.length() > s2.length()) { maxstr = s; ...原创 2018-05-19 20:48:32 · 126 阅读 · 0 评论 -
最短路-SPFA
#include <bits/stdc++.h>using namespace std;typedef long long ll;void SPFA(int s) { for(int i = 0; i <= n; i++) { dis[i] = (1 << 30); } dis[s] = 0; vis[x] =...原创 2018-05-19 19:10:40 · 116 阅读 · 0 评论 -
最小生成树-Prim
#include <bits/stdc++.h>#define INF (1 << 30)using namespace std;int t, n, m, x, y, sum, cnt, t1, t2, t3, flag;int mp[10005][10005], vis[10005], dis[10005];void Prim() { for(int ...原创 2018-05-19 15:15:26 · 102 阅读 · 0 评论 -
最小生成树-Kruskal
#include <bits/stdc++.h>using namespace std;const int maxn = 1e6 + 10;char s[maxn], s2[maxn];int t, n, m, x, cnt, sum;int f[555];typedef long long ll;typedef long double ld;typedef stru...原创 2018-05-17 19:59:39 · 124 阅读 · 0 评论 -
最大连续和
1、暴力求解 O(n3) int maxsum = a[1]; for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { int sum = 0; for(int k = i; k <= j; k++) { s...原创 2018-04-23 19:49:31 · 663 阅读 · 0 评论 -
逆元
小费马定理求逆元(复杂度O(logn))ll FastPower(ll n, ll k) { ll ans = 1; k %= mod; while(n) { if(n % 2) { // n & 1 ans = (ans * k) % mod; } n >>= 1; ...原创 2018-04-13 19:35:26 · 120 阅读 · 0 评论 -
最短路--Dijkstra
#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <algorithm>#include <cstring>#include <queue>#include <stack&原创 2018-04-13 16:59:55 · 104 阅读 · 0 评论 -
最短路--Floyd
#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <algorithm>#include <cstring>#include <queue>#include <stack&原创 2018-04-13 16:47:25 · 87 阅读 · 0 评论 -
KMP
#include <bits/stdc++.h>using namespace std;const int maxn = 1e6 + 5;char s[maxn], s2[maxn];int book[maxn];void getnext(char s2[]) { int i = 0, j = -1; book[0] = -1; while(s2[i...原创 2018-05-16 20:08:41 · 93 阅读 · 0 评论