线性规划(Simplex单纯形)与对偶问题
摘要:线性规划 首先一般所有的线性规划问题我们都可以转换成如下标准型: 但是我们可以发现上面都是不等式,而我们计算中更希望是等式,所以我们引入这个新的概念:松弛型: 很显然我们最后要求是所有的约束左边的变量都不小于0。而求解这类问题,我们又有一套十分便利的模型算法:单纯形 基变量:松弛型等式左边的所有变量
阅读全文
求逆元
摘要:求逆元 拓展欧几里得 求a的在模n下的逆元,实际上就是求一个整数x,使得 ax = 1 (mod n) 于是我们通过拓展gcd解方程来求解 ax + ny = gcd(a,n) 在如上方程中,只有满足以下才存在逆元 gcd(a,n) = 1 则 (ax + ny) % n = ax % n = 1
阅读全文
HDU 5667 构造矩阵快速幂
摘要:HDU 5667 构造矩阵快速幂 题目描述 解析 我们根据递推公式 设 则可得到Q的指数关系式 求Q构造矩阵 同时有公式 其中φ为欧拉函数,且当p为质数时有 代码 include using namespace std; long long pow_mod(long long a, long lon
阅读全文
树链剖分
摘要:练习地址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28982#overview 以下为我的AC代码 A 树链剖分+线段树区间更新求单点值 I 树链剖分+线段树单点更新区间求最大值
阅读全文
整体二分&cdq分治 ZOJ 2112 Dynamic Rankings
摘要:题目:单点更新查询区间第k大 按照主席树的思想,要主席树套树状数组。即按照每个节点建立主席树,然后利用树状数组的方法来更新维护前缀和。然而,这样的做法在实际中并不能AC,原因即卡空间。 因此我们采用一种叫做整体二分的方法。 说一下具体做法: 首先要离线处理 我们把原数列也当成单点更新的操作,而更改值
阅读全文
莫队算法 sqrt(n)分块思想
摘要:在此说一下本渣对莫队算法思想的一些浅薄理解 莫队算法的思想就是对真个区间的分块,然后按照每块来分别进行计算,这样最终的复杂度可以达到n*sqrt(n) 小Z的袜子是一道非常经典的题目.:题目链接http://acm.hust.edu.cn/vjudge/contest/view.action?cid
阅读全文
HDU 4866 Shooting 题解:主席树
摘要:这题的主要的坑点就是他给你的射击目标有重合的部分,如果你向这些重合的部分射击的话要考虑两种情况: 射击目标数量 ≥ 重合数量 : 全加上 射击目标数量 ≤ 重合数量 : 只加距离*射击目标数量 然而这题的内存还是很良心的,总体比较水吧。 主要做法是按照横坐标1~x建立主席树,每棵主席树维护l,r区间
阅读全文
主席树模板
摘要:用这个模板可以直接A掉 HDU 2665 Kth number 这题了!
阅读全文
Gym 100733J Summer Wars 题解:灵活运用扫描线的思想
摘要:题意: 给你n个点,m个横着的线段。你可以横移这些线段,但是这些线段的相对位置不能改变。如果一个点,在它的正上方和和正下方都有线段(包括线段的终点),则这个点被视为被“屏蔽”,问通过任意平移我们可以遮住最多的点的数量。 解题思路: 首先把所有的点向右平移1000000个单位,然后那些线段位置不变,我
阅读全文
Gym 100431E Word Cover 题解:KMP上跑dp
摘要:题意: 给你一个串,问你他的每个前缀的最小重复单元,其中单元是可以重叠的,最后按顺序输出即可。比如样例中abaabaa的最小重复单元为abaa,所以相应输出为4。 input : abaabaababa output:1 2 3 4 5 3 4 5 3 10 3 kmp过程就不用多说了,现在我们利用
阅读全文
RMQ区间求最值
摘要:RMQ用于区间快速查找最值,适用于期间数值无更改的情况。其预处理的复杂度为O(nlogn),查询的时间复杂度为O(1),对比于线段树的预处理O(nlogn),查询O(logn)来说,在某些情况下有着其独到的优势。 RMQ原理就是在原来的数组上跑一个dp,我们以查询最大值为例,它的状态定义是这样的:
阅读全文
三维凸包大全
摘要:忘记了是哪个大神写的了。不过绝对经典, 再此表达膜拜之情!!! 有此模板几乎大部分三维凸包都可以搞了。
阅读全文
java在acm中常用基础技巧方法
摘要:java在acm中常用基础技巧方法 如果学到了新的技巧,本博客会更新~ input input-std @Frosero import java.util.*; public class Main { static String a; static int c; static Scanner cin
阅读全文
HDU 4279 Number 坑爹的迷之精度
摘要:题目描述 首先定义"special number": 如果对于一个数字B,存在一个数字A(0<A<=B),并同时满足 B%A=0 和 gcd(A,B) != 1 ,那么我们就说A是B的"special number"。 再定义一个函数f(x)表示x的"special number"的数量。并且如果f
阅读全文
欧拉路径与欧拉回路
摘要:欧拉路径与欧拉回路 感觉这一块网上说的有点乱,很多东西都没有说清楚,或者都缺一些东西,所以在这里打算好好的总结与归纳一下关于欧拉路径与欧拉回路的问题。 概念 欧拉路径:从某一起点开始,可以沿某路径遍历图中每一条边一次且仅一次,则称此路径为欧拉路径 欧拉回路:若欧拉路径中的起点和终点相同,则其为欧拉回
阅读全文
tarjan求强联通分量
摘要:tarjan求强联通分量 变量含义说明: pre[i]:i点的被访问的时钟编号,被分配后保持不变 low[i]:i点能访问的最先的点的时钟编号,随子节点改变 scc_no[i]:i点所在的强联通分量的编号 dfs_clock:时钟序号,每访问一个新的点时都增长1 scc_cnt:强联通分量的编号 栈
阅读全文