随笔分类 -  模板

摘要:#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define LL long long using namespace std; const int MAXSIZE = 100100; int b[ 阅读全文
posted @ 2019-01-17 11:12 shuai_hui 阅读(140) 评论(0) 推荐(0)
摘要:理解:http://blog.sina.com.cn/s/blog_60707c0f0100wvn3.html 题目转载 https://blog.csdn.net/zxyoi_dreamer/article/details/82668442 描述地震已经破坏了农夫约翰所有的农场以及所有连接农场的道 阅读全文
posted @ 2019-01-16 19:06 shuai_hui 阅读(271) 评论(0) 推荐(0)
摘要:求,其中,并且是素数。 #include <iostream> #include <string.h> #include <stdio.h> using namespace std; typedef long long LL; LL n,m,p; LL quick_mod(LL a, LL b) { 阅读全文
posted @ 2018-12-18 18:38 shuai_hui 阅读(132) 评论(0) 推荐(0)
摘要:链接:https://ac.nowcoder.com/acm/contest/301/H来源:牛客网 题描述 小乐乐上了一节数学课,数学老师讲的很好,小乐乐听的也如痴如醉。 小乐乐听了老师的讲解,知道了什么是素数,现在他想做几个习题。 现在题目来了: 首先我们先定义孤独的数:在一个区间中的一个数字x 阅读全文
posted @ 2018-12-02 19:06 shuai_hui 阅读(344) 评论(0) 推荐(0)
摘要:大数因数分解Pollard_rho 算法 复杂度o^(1/4) #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <cstring> #include <map> using na 阅读全文
posted @ 2018-12-02 12:46 shuai_hui 阅读(548) 评论(0) 推荐(0)
摘要:学习资料处 HDU 1542 Atlantis 题意:给出几个矩阵求这些矩阵覆盖的面积: 给出左上角与右下角 Sample Input 20 5 4 12 4 6 2 20 5 4 12 4 6 2 Sample Output 20 #include<bits/stdc++.h> using nam 阅读全文
posted @ 2018-11-27 18:06 shuai_hui 阅读(381) 评论(0) 推荐(0)
摘要:题目:给出图的条件 ,求1到n的最短路 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <queue> using namespace s 阅读全文
posted @ 2018-11-27 17:42 shuai_hui 阅读(141) 评论(0) 推荐(0)
摘要:#include<stdio.h> #include<string> #include<string.h> #include<iostream> using namespace std; //compare比较函数:相等返回0,大于返回1,小于返回-1 int compare(string str1 阅读全文
posted @ 2018-11-21 15:43 shuai_hui 阅读(154) 评论(0) 推荐(0)
摘要:/* 高精度进制转换 把oldBase 进制的数转化为newBase 进制的数输出。 调用方法,输入str, oldBase newBase. change(); solve(); output(); 也可以修改output(),使符合要求,或者存入另外一个字符数组,备用 */ #include<s 阅读全文
posted @ 2018-11-21 15:42 shuai_hui 阅读(267) 评论(0) 推荐(0)
摘要:您需要维护一个序列,其中需要提供以下操作: 插入一个数到序列的第 t 版本使其成为序列的第 k 项,这个数为 x ; 删除序列的第 t 版本的第 k 项; 查询序列的第 t 版本的第 k 项。 第 0 个版本为空序列。修改操作不会影响被修改的版本,而总是产生一个新版本。 您需要维护一个序列,其中需要 阅读全文
posted @ 2018-10-08 18:35 shuai_hui 阅读(184) 评论(0) 推荐(0)
摘要:取板粗 好东西来的 1.(HDOJ2665)http://acm.hdu.edu.cn/showproblem.php?pid=2665 (POJ2104)http://poj.org/problem?id=2104 (POJ2761)http://poj.org/problem?id=2761 题 阅读全文
posted @ 2018-10-04 15:02 shuai_hui 阅读(500) 评论(0) 推荐(0)
摘要:原理可以参考大神 LCA_Tarjan (离线) TarjanTarjan 算法求 LCA 的时间复杂度为 O(n+q) ,是一种离线算法,要用到并查集。(注:这里的复杂度其实应该不是 O(n+q) ,还需要考虑并查集操作的复杂度 ,但是由于在多数情况下,路径压缩并查集的单次操作复杂度可以看做 O( 阅读全文
posted @ 2018-09-20 17:21 shuai_hui 阅读(479) 评论(0) 推荐(0)
摘要:不懂的可以先看这:1 2 3 求桥 #include<bits/stdc++.h> using namespace std; const int maxn = 1e3 + 10; const int maxm = 4e5 + 10; struct egde{ int v, nxt; }Edge[ma 阅读全文
posted @ 2018-09-19 14:03 shuai_hui 阅读(175) 评论(0) 推荐(0)
摘要:模板 Kosaraju算法 int V; // 顶点数 vector<int> G[MAX_V]; // 图的邻接表表示 vector<int> rG[MAX_V]; // 把边反向后的图 vector<int> vs; // 后序遍历顺序的顶点列表 bool used[MAX_V]; // 访问标 阅读全文
posted @ 2018-09-13 18:55 shuai_hui 阅读(143) 评论(0) 推荐(0)
摘要:115. 无源汇有上下界可行流 n 个点,m 条边,每条边 e 有一个流量下界 lower(e)和流量上界 upper(e)),求一种可行方案使得在所有点满足流量平衡条件的前提下,所有边满足流量限制。 输入格式 第一行两个正整数 n 、m 。 之后的 m 行,每行四个整数 s、t 、lower 、u 阅读全文
posted @ 2018-09-11 13:46 shuai_hui 阅读(165) 评论(0) 推荐(0)
摘要:现在来了解A*算法是什么 现在来解决A*求K短路问题 在一个有权图中,从起点到终点最短的路径成为最短路,第2短的路成为次短路,第3短的路成为第3短路,依此类推,第k短的路成为第k短路。那么,第k短路怎么求呢? 对于第k短路,可以想到的一个比较朴素的算法就是广度优先搜索,使用优先队列从源点s进行广搜, 阅读全文
posted @ 2018-09-10 22:32 shuai_hui 阅读(1844) 评论(1) 推荐(0)
摘要:视频参考 对于正常的字符串模式匹配,主串长度为m,子串为n,时间复杂度会到达O(m*n),而如果用KMP算法,复杂度将会减少线型时间O(m+n)。 设主串为ptr="ababaaababaa";,要比较的子串为a=“aab”; KMP算法用到了next数组,然后利用next数组的值来提高匹配速度,我 阅读全文
posted @ 2018-07-27 15:49 shuai_hui 阅读(1035) 评论(0) 推荐(0)
摘要:/*树的直径是指树的最长简单路。求法: 两遍BFS :先任选一个起点BFS找到最长路的终点,再从终点进行BFS,则第二次BFS找到的最长路即为树的直径; 原理: 设起点为u,第一次BFS找到的终点v一定是树的直径的一个端点 证明: 1) 如果u 是直径上的点,则v显然是直径的终点(因为如果v不是的话 阅读全文
posted @ 2018-06-13 08:39 shuai_hui 阅读(196) 评论(0) 推荐(0)
摘要:(1)矩阵乘法 简单的说矩阵就是二维数组,数存在里面,矩阵乘法的规则:A*B=C 其中c[i][j]为A的第i行与B的第j列对应乘积的和,即: 据说,矩阵快速幂在递推式优化上相当神奇,而且效率很高。。。 两矩阵相乘,朴素算法的复杂度是O(N^3)。如果求一次矩阵的M次幂,按朴素的写法就是O(N^3* 阅读全文
posted @ 2018-06-06 20:45 shuai_hui 阅读(301) 评论(0) 推荐(0)
摘要:我对树状数组的认识可以参考视频1与视频2,每个人的理解不一样,建议去观看大牛的理解,视频1讲的不太深入,但还是推荐先去看视频1,再去看视频2. 单点修改,区间最大 #include<cstdio> #include<iostream> #include<cstring> #include<cmath 阅读全文
posted @ 2018-05-30 16:32 shuai_hui 阅读(165) 评论(0) 推荐(0)