随笔分类 - ACM 总结
摘要:名词释义:在平面内取一个定点O,叫极点,引一条射线Ox,叫做极轴,再选定一个长度单位和角度的正方向(通常取逆时针方向)。对于平面内任何一点M,用ρ表示线段OM的长度(有时也用r表示),θ表示从Ox到OM的角度,ρ叫做点M的极径,θ叫做点M的极角,有序数对 (ρ,θ)就叫点M的极坐标。可以将平面内的点
        阅读全文
                
摘要:矩阵快速幂的用途主要是用来递推公式。主要过程是构造一个系数矩阵A和一个值的矩阵B,令(A^k)×B的值与第k项正好相等或是相关。 模板的话差不多都是一样的,只不过是把对数的快速幂拓展到了对矩阵的快速幂。这个模板里面用的是静态的矩阵,速度稍微会 快一点。 #include <cstdio> #incl
        阅读全文
                
摘要:区间 DP 一、定义 区间 DP,顾名思义是在区间上 DP,它的主要思想就是先在小区间进行 DP 得到最优解,然后再利用小区间的最优解合并求大区间的最优解。 二、实现思路 下面给出区间 DP 最简单形式的伪代码 (具体要根据题目修改) //mst(dp,0) 初始化DP数组 for(int i=1;
        阅读全文
                
摘要:介绍: java中用于操作大数的类主要有两个,一个是BigInteger,代表大整数类用于对大整数进行操作,另一个是BigDecimal,代表高精度类,用于对比较大或精度比较高的浮点型数据进行操作。因为这两种类的使用方法是一样的,所以下面我们以BigInteger为例进行讲解 基本用法: 1、新建一
        阅读全文
                
摘要:【欧拉函数】 在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler’s totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。 从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉
        阅读全文
                
摘要:去重全排列: 求组合数: 概述: 首先我们要知道什么是组合数。具体可以参考我之前的博客 “排列与组合”笔记 中,集合的组合的部分。 这里复述如下: 令r为非负整数。我们把n个元素的集合S的r-组合理解为从S的n个元素中对r个元素的无序选择。换句话说,S的一个r-组合是S的一个子集,该子集由S的n个元
        阅读全文
                
摘要:在O(n)的时间内求组合数、求逆元、求阶乘。·。· 拓展欧几里得求逆元:
        阅读全文
                
摘要:1 #include 2 3 //大整数 4 struct BigInteger { 5 static const int BASE = 100000000;//和WIDTH保持一致 6 static const int WIDTH = 8;//八位一存储,如修改记得修改输出中的%08d 7 bool sign;//符号, 0表示负数 8...
        阅读全文
                
摘要:用了好久的运算符重载,但记忆里面一直不是很清晰~ @_@
        阅读全文
                
摘要:树的直径:树的直径是指树的最长简单路。 求法: 两遍BFS :先任选一个起点BFS找到最长路的终点,再从终点进行BFS,则第二次BFS找到的最长路即为树的直径; 原理: 设起点为u,第一次BFS找到的终点v一定是树的直径的一个端点 证明:1) 如果u 是直径上的点,则v显然是直径的终点(因为如果v不
        阅读全文
                
摘要:学习博客链接:SPFA 求单源最短路的SPFA算法的全称是:Shortest Path Faster Algorithm。 SPFA算法是西南交通大学段凡丁于1994年发表的。 从名字我们就可以看出,这种算法在效率上一定有过人之处。 很多时候,给定的图存在负权边,这时类似Dijkstra等算法便没有
        阅读全文
                
摘要:emmmm,这四行加上去不要太爽@。@!不过有时会出错。
        阅读全文
                
摘要:哇,虽然我不知道到为什么这个东西比map快(快了一倍),注意unordered_map要在c++11以上的编译环境下才能用,如c++11,GNU G++11 5.1.0,GNU G++14 。
        阅读全文
                
摘要:可以对DFS稍加变化,来解决这个问题。解决的方法如下: 图中的一个节点,根据其C[N]的值,有三种状态: 0,此节点没有被访问过 -1,被访问过至少1次,其后代节点正在被访问中 1,其后代节点都被访问过。 按照这样的假设,当按照DFS进行搜索时,碰到一个节点时有三种可能: 1、如果C[V]=0,这是
        阅读全文
                
摘要:题目链接:Buy a Ticket 题意: 给出n个点m条边,每个点每条边都有各自的权值,对于每个点i,求一个任意j,使得2×d[i][j] + a[j]最小。 题解: 这题其实就是要我们求任意两点的最短路,但是从点的个数上就知道这题不可以用floyd算法,其实多元最短路可以用dijkstra算。@
        阅读全文
                
摘要:二分查找: 写完二分专题后就没有系统的学习过二分了,导致很长一段时间里我的二分都是写下来后修修改改才过的,这次系统性地写下来。话说二分可是有64中解法呢! @、@! 对于不下降序列a,n为序列a元素的个数,key为关键字: 1.求最小的i,使得a[i] = key,若不存在,则返回-1 2.求最大的
        阅读全文
                
摘要:deque:双端队列 比较常用的函数: que.back() 返回容器que的最后一个元素的引用。如果que为空,则该操作未定义。 que.begin() 传回迭代器中的第一个数据地址。 que.clear() 移除容器中所有数据。 que.empty() 判断容器是否为空。 que.end() 返
        阅读全文
                

 浙公网安备 33010602011771号
浙公网安备 33010602011771号