自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

姚军

富贵非吾愿,帝乡不可期。怀良辰以孤往,或植杖而耘耔。

  • 博客(285)
  • 收藏
  • 关注

原创 常用算法模板

并查集求集合总数求每个集合有多少个元素Dijkstra算法Kruskal算法拓扑排序线性筛素数树状数组Trie树最近公共祖先LCA最大流01背包匈牙利算法哈夫曼树线段树大数加减乘除...

2019-10-25 14:15:26 639

原创 迷宫问题【POJ3984】

题目链接输出路径的BFSPOJ似乎不能使用C++11中的初始化方式pair类型的插入需要用make_pair(a, b)#include <iostream>#include <algorithm>#include <cstdio>#include <vector>#include <queue>using namesp...

2019-10-31 10:46:01 139

原创 1076. 迷宫问题

AcWing题目链接带有路径的最短路径BFS#include <iostream>#include <algorithm>#include <cstdio>#include <vector>#include <queue>using namespace std;typedef pair<int, int> PI...

2019-10-31 10:35:53 190

原创 1097. 池塘计数

AcWing题目链接Flood Fill经典题数据较小使用dfs,数据较大使用bfs#include <iostream>#include <cstring>#include <cstdio>#include <queue>using namespace std;const int N = 1005;char g[N][N];in...

2019-10-31 09:52:38 265

原创 858. Prim算法求最小生成树

AcWing题目链接#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int N=510,INF=0x3f3f3f;int n,m;bool st[N];//状态int g[N][N]; //创建图int d[N];//点之间对距离i...

2019-10-30 22:49:09 167

原创 859. Kruskal算法求最小生成树

AcWing题目链接Kruskal算法把所有边按照边权从小到大排序把边权最小的两个顶点使用并查集加入同一个集合#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int M = 2e5+5;int root[M];struct...

2019-10-30 22:47:03 112

原创 854. Floyd求最短路

Floyd三重循环,一般顶点数不超过200时间复杂度O(n3)O(n^3)O(n3)#include <iostream>#include <cstring>#include <algorithm>using namespace std;int n, m, Q;const int N = 210;const int INF = 1e9;int...

2019-10-30 13:43:31 131

原创 852. spfa判断负环

AcWing题目链接#include <iostream>#include <vector>#include <algorithm> #include <cmath>#include <cstring>#include <queue>#include <unordered_map>using nam...

2019-10-30 11:41:49 154

原创 851. spfa求最短路

SPFA使用队列来保存更新过的顶点(栈或者优先队列也可以)。只有更新过的顶点才会产生松弛操作。#include <iostream>#include <vector>#include <algorithm> #include <cmath>#include <cstring>#include <queue>#i...

2019-10-30 11:22:20 118

原创 853. 有边数限制的最短路

Bellman-Ford求解有负权边的单源最路径问题。时间复杂度O(nm)O(nm)O(nm)通常来说用SPFA注意备份距离数组的使用#include <iostream>#include <cstring>#include <algorithm>using namespace std;int m, n, k;const int N = 5...

2019-10-29 23:03:19 187

原创 860. 染色法判定二分图

AcWing题目链接染色法用染色法判断二分图如果一个图是二分图,当且仅当图中不含奇数环对每个节点进行交错染色,如果染色没有出现矛盾则是二分图。#include <iostream>#include <cstring>#include <algorithm>#include <queue>using namespace std;co...

2019-10-29 21:27:19 134

原创 848. 有向图的拓扑序列

AcWing题目链接拓扑排序如果用数组模拟队列的话,可以直接输出拓扑序列注意队尾是从-1开始#include <iostream>#include <cstring>using namespace std;const int N = 1e5+5;int h[N], e[N], ne[N];int q[N], d[N]={0};int idx = 0;i...

2019-10-29 20:59:17 270

原创 847. 图中点的层次

AcWing题目链接BFS模板题用数组模拟队列#include <iostream>#include <cstring>#include <algorithm>#include <queue>using namespace std;const int N = 1e5+5;const int M = 2e5+5;int h[N], ...

2019-10-29 20:28:43 204

原创 846. 树的重心

注意ne数组和e数组的大小是顶点数的两倍每个顶点遍历一遍,搜索中计算和返回。#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 1e5+5, M = N*2;bool st[N]={false}; int h[N],...

2019-10-29 20:09:09 147

原创 微信红包

牛客网题目链接剑指offer经典题数组中出现次数超过一半的数字class Solution {public: int moreThanHalfNum_Solution(vector<int>& nums) { int cnt = 0, value; for(auto x: nums){ if(cnt == ...

2019-10-29 09:20:26 97

原创 生成格雷码

在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code)。思路在求第n位的格雷码时,先在所有第n-1位格雷码前顺序加0,然后在n-1为格雷码前逆序加1class GrayCode {public: vector<string> res; void dfs(int u, int n){ if(u ==...

2019-10-29 09:01:23 97

原创 合法括号序列判断

把做括号视为1,有括号视为-1,在字符串的遍历过程中保证前缀和为非负同时反向做一遍,但是此时右括号为1,左括号为-1,保证前缀和为非负class Parenthesis {public: bool chkParenthesis(string A, int n) { int x = 0; for(auto c: A){ if(c=...

2019-10-29 07:56:34 187

原创 机器人走方格I

数组要初始化为0class Robot {public: int dp[13]={0}; int countWays(int x, int y) { for(int i = 1; i <= x; i++) for(int j = 1; j <= y; j++){ if(i==1 &&am...

2019-10-29 07:46:47 96 1

原创 上楼梯

(a+b)%c = ((a%c)+(b%c))%c两次取模class GoUpstairs {public: const int N = 1e5+5; const int M = 1e9+7; int countWays(int n) { int F[N]; F[1] = 1; F[2] = 2; F[3...

2019-10-29 07:39:15 142

原创 844. 走迷宫

AcWing题目链接BFS有个小剪枝,对于BFS第一次到达的点才操作,不然就终止。#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <queue>using namespace std;typedef pair&l...

2019-10-27 17:31:49 258

原创 843. n-皇后问题

AcWing题目链接DFS#include <iostream>#include <cstdio>#include <cmath>using namespace std;const int N = 20;int n;int pos[N];void dfs(int u){ if(u == n){ //8个皇后都放好了 放在前u行 for(...

2019-10-27 17:09:33 150

原创 八皇后问题

牛客网题目链接DFS#include <iostream>#include <cstdio>#include <cmath>using namespace std;int num = 0;int ans[92][8];//存八皇后的所有串 int pos[8];//存第i行的皇后存在哪一列 void dfs(int u){ if(u == 8...

2019-10-27 16:23:27 159

原创 7-34 通讯录的录入与显示 (10 分)

注意给出的查询有负数#include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>#include <cstring>#include <algorithm>#include &lt...

2019-10-26 11:27:54 893

原创 1118 机器人走方格

51 Nod 题目链接题意从一个矩阵的左上角走到右下角,只能往右走和往下走一步,问有多少种走法。解析这是动态规划的经典题,可以使用一维数组优化,同时要在计算的过程中取模。#include <iostream>#include <string>#include <vector>#include <cctype>#include &lt...

2019-10-26 11:05:20 167

原创 1014 : Trie树

hihoCoder题目链接注意这道题的数据范围写错了,应该是10610^6106#include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>#include <cstring>#include...

2019-10-26 10:36:09 190

原创 解读密码

牛客网题目链接题意从一个字符串中提取出数字#include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>#include <cstring>#include <algorithm>#i...

2019-10-25 22:35:44 365

原创 最长回文

牛客网题目链接题意找到长度为奇数和偶数的字符串的最长回文串#include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>#include <cstring>#include <algorith...

2019-10-25 22:26:38 117

原创 强势糖果

牛客网题目链接题意给出两个字符串, 第二个字符串出现的类型必须在第一个字符串中出现过,同时第一个字符串的长度要比第二字符串长#include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>#include <...

2019-10-25 22:05:25 129

原创 NowCoder的密码

牛客网题目链接题意全排列给出的数据,然后从这些全排列中选出素数输出。注意不存在素数时要输出NONE每个测试数据间需要增加一个空行#include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>#inclu...

2019-10-25 17:14:55 319

原创 835. Trie字符串统计

AcWing题目链接Trie树模板2#include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>#include <cstring>#include <algorithm>#inclu...

2019-10-25 13:58:35 159

原创 冲突的电话号码

牛客网题目链接题意有一些电话号码,如果这些电话号码没有重复前缀则输出No,有重复的前缀则输出Yes版本2使用Trie树在这里插入代码片版本1#include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>...

2019-10-25 11:11:58 192

原创 过年回家

牛客网题目链接Dijkstra算法最短路径问题#include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>#include <cstring>#include <algorithm>...

2019-10-24 23:16:39 125

原创 寻找舞伴

牛客网题目链接#include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>#include <algorithm>#include <unordered_map>using namesp...

2019-10-24 22:57:17 338

原创 包含一

牛客网题目链接这道题和统计1的个数很像,但是有区别,在另一个题中11是算作两个1,而这里只算1个1。#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <vector>#include <cstring>...

2019-10-24 22:33:12 118

原创 最长句子

牛客网题目链接DAG最长路需要用到动态规划,注意容器清空。#include <iostream>#include <cstdio>#include <algorithm>#include <queue>#include <vector>#include <cstring>#include <unorde...

2019-10-24 20:24:40 164

原创 1028 大数乘法 V2

51 Nod题目链接import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { BigInteger a, b; Scanner in = new Scanner(System.in); a = in.nex...

2019-10-24 17:07:33 144

原创 7-18 银行业务队列简单模拟 (25 分)

简单模拟#include <iostream>#include <queue>using namespace std;int main(){ int n, x; queue<int> A, B; cin>>n; for(int i = 0; i < n; i++){ cin>>x; if(x&1) A...

2019-10-24 14:12:25 884

原创 874. 筛法求欧拉函数

AcWing题目链接#include <iostream>using namespace std;typedef long long LL;const int N = 1e6+5;int primes[N];bool st[N];int phi[N];int k = 0;LL get_eulers(int n){ phi[1] = 1; for(int...

2019-10-24 10:00:47 104

原创 868. 筛质数

AcWing题目链接埃氏筛法时间复杂度O(nloglogn)O(nloglogn)O(nloglogn)#include <iostream>using namespace std;const int N = 1e6+5;int primes[N];bool st[N];int k = 0;void get_primes(int n){ for(int i =...

2019-10-23 23:50:46 156

原创 873. 欧拉函数

AcWing题目链接欧拉函数ϕ(n)\phi(n)ϕ(n)表示1∼n1\sim n1∼n中与nnn互质的个数n=p1α1p2α2…pkαkn = p_1^{\alpha_1}p_2^{\alpha_2} \dots p_k^{\alpha_k}n=p1α1​​p2α2​​…pkαk​​ϕ(n)=n(1−1p1)(1−1p2)…(1−1pk)\phi(n)= n(1-\frac{1}{p_1...

2019-10-23 22:55:06 121

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除