算法
じ☆夏妮国婷☆じ
人一我百!人十我万!永不放弃~~~怀着自信的心,去追逐梦想。
有事联系qq_1272991072,备注好CSDN和问题。
展开
-
中国剩余定理
定理描述: 中国剩余定理:求解同余式组的方法。 例如下面的一元线性同余方程组: x ≡ a1 (mod m1) x ≡ a2 (mod m2) x ≡ a3 (mod m3) . . . . . . x ≡ an (mod mn) 中国剩余定理:假设整数m1, m2, m3......, mn两两互质转载 2017-08-07 19:57:23 · 177 阅读 · 0 评论 -
线段树
线段树目录 零、前言一、引例 1、区间最值 2、区间求和二、线段树的基本概念 1、二叉搜索树 2、数据域 3、指针表示 4、数组表示三、线段树的基本操作 1、构造 2、更新 3、询问四、线段树的经典案例转载 2017-08-10 20:26:24 · 679 阅读 · 0 评论 -
常用的解题技巧:尺取法
常用的解题技巧:尺取法 尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。之所以需要掌握这个技巧,是因为尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以尺取法是一种高效的枚举区间的方法,一般用于求取有一定限制的区间个数或最短的区间等等。当然任何技巧都存在其不足的地方,有转载 2017-08-11 20:44:36 · 442 阅读 · 0 评论 -
扩展欧几里德算法详解
扩展欧几里德算法 谁是欧几里德?自己百度去 先介绍什么叫做欧几里德算法 有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做? 欧几里德有个十分又用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我们就可以在几乎是 log 的时转载 2017-08-02 17:02:11 · 313 阅读 · 0 评论 -
通俗易懂动态规划
通过金矿模型介绍动态规划 对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让你难得读懂的地方,请跟贴指出转载 2017-08-13 17:36:09 · 676 阅读 · 0 评论 -
求ax + by + c = 0在[x1, x2], [y1, y2]区间内有多少组解?
题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=106 题意:求ax + by + c = 0在[x1, x2], [y1, y2]区间内有多少组解? 解析:①令c = -c有ax + by = c,可用扩展欧几里德解方程解出特解当然要先考虑a = 0, b = 0, c = 0的转载 2017-08-05 10:36:24 · 903 阅读 · 0 评论 -
RMQ算法
RMQ算法1. 概述RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j算法。当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂不介绍。2.RMQ算法对于该问题,最容易想到的解决方案是遍历,复转载 2017-08-14 17:00:35 · 431 阅读 · 2 评论 -
Fibonacci 快速幂矩阵
FibonacciTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 16050Accepted: 11288DescriptionIn the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = F原创 2017-08-22 15:26:17 · 258 阅读 · 0 评论 -
组合数
Problem 2020 组合Accept: 1216 Submit: 2914Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description给出组合数C(n,m), 表示从n个元素中选出m个元素的方案数。例如C(5,2) = 10, C(4,2) = 6.可是当n,m比较大的时候,C(n,原创 2017-08-22 15:20:10 · 307 阅读 · 0 评论 -
二分最大匹配--匈牙利算法
二分最大匹配--匈牙利算法匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。-------等等,看得头大?那么请看下面的版本:通过数代人的努力,你终于赶上了剩男剩女的大潮,假设你是一位光荣的新世纪媒人,在转载 2017-08-22 20:17:52 · 210 阅读 · 0 评论 -
最近的公共祖先
最近的公共祖先目录 一、引例 1、树-结点间最短距离二、LCA(最近公共祖先) 1、朴素算法 2、步进法 3、记忆化步进法 4、tarjan算法 5、doubly算法三、并查集 1、"并"和"查" 2、朴素算法 3、森林实现转载 2017-08-10 20:22:38 · 394 阅读 · 0 评论 -
除等数论
除等数论目录一、数论基本概念 1、整除性 2、素数 a.素数与合数 b.素数判定 c.素数定理 d.素数筛选法 3、因数分解 a.算术基本定理 b.素数拆分 c.因子个数转载 2017-08-10 20:20:22 · 482 阅读 · 0 评论 -
一欧拉函数(Euler‘s totient function)
算法总结一欧拉函数(Euler's totient function)欧拉函数的定义: 在数论中,对于正整数N,少于或等于N ([1,N]),且与N互质的正整数(包括1)的个数,记作φ(n)。 φ函数的值: φ(x)=x(1-1/p(1))(1-1/p(2))(1-1/p(3))(1-1/p(4))…..(1-1/p(n))转载 2017-08-02 10:55:12 · 3893 阅读 · 0 评论 -
欧拉路·一
题目1 : 欧拉路·一 时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi和小Ho最近在玩一个解密类的游戏,他们需要控制角色在一片原始丛林里面探险,收集道具,并找到最后的宝藏。现在他们控制的角色来到了一个很大的湖边。湖上有N个小岛(编号1..N),以及连接小岛的M座木桥。每座木桥上各有一个宝箱,里面似乎装着什么道具。原创 2017-08-08 17:19:22 · 268 阅读 · 0 评论 -
乘法逆元小结
在求解除法取模问题(a/b)%m时,我们可以转化为(a%(b∗m))/b, 但是如果b很大,则会出现爆精度问题,所以我们避免使用除法直接计算。 可以使用逆元将除法转换为乘法: 假设b存在乘法逆元,即与m互质(充要条件)。设c是b的逆元,即b∗c≡1(modm),那么有a/b=(a/b)∗1=(a/b)∗b∗c=a∗c(modm) 即,除以一个数取模等于乘以这个数的逆元取模。转载 2017-08-02 17:29:38 · 473 阅读 · 0 评论 -
线段树详解
线段树详解目录:一:综述二:原理三:递归实现四:非递归原理五:非递归实现六:线段树解题模型七:扫描线八:可持久化 (主席树)九:练习题一:综述假设有编号从1到n的n个点,每个点都存了一些信息,用[L,R]表示下标从L到R的这些点。线段树的用处就是,对编号连续的一些点进行修改或者统计操作,修改和统计的复杂度都是O(l转载 2017-08-09 17:45:26 · 415 阅读 · 0 评论 -
线段树从零开始
线段树从零开始一:为什么需要线段树?题目一:10000个正整数,编号1到10000,用A[1],A[2],A[10000]表示。修改:无统计:1.编号从L到R的所有数之和为多少? 其中1方法一:对于统计L,R ,需要求下标从L到R的所有数的和,从L到R的所有下标记做[L..R],问题就是对A[L..R]进行求和。这样求和,对于转载 2017-08-09 17:24:05 · 297 阅读 · 0 评论 -
差分约束
差分约束目录 一、引例 1、一类不等式组的解二、最短路 1、Dijkstra 2、图的存储 3、链式前向星 4、Dijkstra + 优先队列 5、Bellman-Ford 6、SPFA 7、Floyd-Warsh转载 2017-08-10 20:05:38 · 662 阅读 · 1 评论 -
搜索
搜索目录一、深度优先搜索 1、DFS 2、基于DFS的记忆化搜索 3、基于DFS的剪枝 1) 可行性剪枝 2) 最优性剪枝 4、基于DFS的A* (迭代加深,IDA*)二、广度优先搜索 1、BFS 2、基于BFS的A*转载 2017-08-10 20:12:20 · 447 阅读 · 0 评论 -
动态规划
动态规划目录 一、动态规划初探 1、递推 2、记忆化搜索 3、状态和状态转移 4、最优化原理和最优子结构 5、决策和无后效性二、动态规划的经典模型 1、线性模型 2、区间模型 3、背包模型 4、状态压缩模型 5、树状转载 2017-08-10 20:15:13 · 1071 阅读 · 0 评论 -
树状数组
树状数组目录 一、从图形学算法说起 1、Median Filter 概述 2、r pixel-Median Filter 算法 3、一维模型 4、数据结构的设计 5、树状数组华丽登场二、细说树状数组 1、树 or 数组? 2、结点的含义转载 2017-08-10 20:17:44 · 796 阅读 · 0 评论 -
O(n)回文子串(Manacher)算法
回文子串问题描述:输入一个字符串,求出其中最大的回文子串。子串的含义是:在原串中连续出现的字符串片段。回文的含义是:正着看和倒着看相同,如abba和yyxyy。 解析:这里介绍O(n)回文子串(Manacher)算法算法基本要点:首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插入一个特殊的符号。比如 abba 变成转载 2017-08-22 20:08:40 · 157 阅读 · 0 评论