![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板
programmy
本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、PS等软件的安装与卸载,精通CSS、JavaScript、PHP、C、C++、C#、java、Ruby、Perl、Lisp、python、Objective-C、ActionScript等单词的拼写,熟悉windows、Linux、Mac、Android、IOS等系统的开关机。欢迎各大公司HR与本人联系。
展开
-
C++高精度模板
正确性有待测试#include<iostream>#include<string>#include<iomanip>#include<algorithm>#include<cstring>#include<cstdio>using namespace std;#define MAXN 9999#define MAXSIZE 10#define DLEN 4class BigNum{原创 2016-11-29 07:57:16 · 793 阅读 · 0 评论 -
【专题】树链剖分
树链剖分定义: size[u]size[u]表示以节点u为根的子树的节点个数 我们将一个节点到它的儿子中sizesize值最大的那个节点的边定义为重边,其他边定义为轻边 我们称某条路径为重路径(或重链)当且仅当它全部由重边组成性质: 我们可以证明对于每个点到根的路径上都不超过O(logn)O(logn)条轻边和O(logn)O(logn)条重路径组成.这种将树上的边(路径)分为重边(重路径)原创 2017-08-30 21:46:33 · 359 阅读 · 0 评论 -
【模板】强连通分量的kosaraju算法实现
算法思想 kosaraju算法通过对有向图进行两次Dfs得到强连通分量 第一次dfs对每个节点进行标号,在回溯前给顶点标号,完成标号后,越接近图的尾部(搜索树的叶子),顶点的标号越小。相当于对强连通分量缩点后的DAG进行了一次拓扑排序。 第二次反向dfs,也就是先将图中的边全部反向,在新的图中进行深搜。从标号大的节点(相当于拓扑排序中靠近根节点的节点)开始搜索. 原创 2017-08-04 15:00:16 · 533 阅读 · 0 评论 -
POJ 3468(线段树区间修改模板题)
poj3468链接题目大意 给出两个操作: 1:将一个区间里的都数增加c 2:查询区间(a,b)内的和代码#include<bits/stdc++.h>using namespace std;#define maxn 100007typedef long long int LL;LL Sum[maxn*4];LL Min[maxn*4];LL Max[maxn*4];原创 2016-11-05 22:49:02 · 1177 阅读 · 0 评论 -
HDU 1754(线段树点修改模板题)
HDU 1754题目大意不断地进行询问某个区间的最大值和修改某个数的操作代码#include<cstdio>#include<iostream>#include<cmath>#include<cstring>#include<cstdlib>#include<queue>#include<map>#include<algorithm>#include<set>#include<st原创 2017-03-06 22:32:20 · 503 阅读 · 0 评论 -
Tarjan算法三大应用之强连通分量
Tarjan是一个对图的分析的强有力的算法,主要应用有:有向图的强连通分量、无向图的割点桥与双连通分量、LCA(最近公共祖先)基本概念下面主要介绍tarjan算法在强连通分量中的应用。首先我们需要知道强连通是有向图特有的概念,如果一个有向图中任意两点之间都是相互可达的那么称这个图为强连通图。一个图的极大连通子图称为改图的强连通分量。Tarjan算法求解强连通分量通过Tarjan算法可以得到每个点属于原创 2017-02-23 11:43:32 · 3288 阅读 · 1 评论 -
【模板】矩阵快速幂求斐波那契
利用公式可以通过矩阵快速幂O(lgn)O(lgn)的复杂度求出 [f(x)f(x−1)]=[1110]x−2[f(2)f(1)]\begin{bmatrix}f(x)\\f(x-1)\\\end{bmatrix}=\begin{bmatrix}1 & 1\\1 &0\end{bmatrix}^{x-2} \begin{bmatrix}f(2)\\f(1)\\\end{bma原创 2017-03-09 09:11:59 · 501 阅读 · 0 评论 -
Tarjan算法三大应用之双连通分量
基本概念定义1: 割点集合:点集V′∈VV'\in V,若GG删除了V′V'后不连通,但删除了V′V'的任意真子集后GG仍然连通,则称V′V'为割点集合 割点:若某一结点就构成了割点集合,那么称此结点为割点或关节点。 点连通度:点数最少的割点集合 割边集合:边集E′∈EE'\in E,若GG删除了E′E'后不连通,但删除了E′E'的任意真子集后GG仍然连通,则称E原创 2017-02-27 13:38:56 · 590 阅读 · 0 评论 -
POJ1741树的分治之点分治
POJ1741题目大意 给定一棵N(1≤N≤10000)N(1\le N \le 10000)个结点的带权树,定义dist(u,v)为 u,v两点间的最短路径长度,路径的长度定义为路径上所有边的权和。 再给定一个K(1≤K≤109)K(1\le K\le10^9),如果对于不同的两个结点a,b,如果满 足dist(a,b)≤Kdist(a,b) \le K,则称(a,b)为合法原创 2016-11-10 21:26:53 · 400 阅读 · 0 评论 -
【专题】树的最小支配集 最小点覆盖 最大独立集
最小支配集 最小点覆盖 最大独立集图G=(V,E)定义:最小支配集:从V中取尽量少的点组成一个集合使得V中剩下的点都与取出来的点有边相连最小点覆盖:从V中取尽量少的点组成一个集合使得E中所有的边都与取出来的点相连最大独立集:从V中取尽量少的点组成一个集合使得这些点之间没有边相连对于图中的最下支配集、最小点覆最大独立集问题是一个NP的问题,但在树中可以通过贪心或动态规划的方法很快求得。贪心这三个问题得原创 2017-08-31 16:38:40 · 860 阅读 · 0 评论