自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Alex_McAvoy的博客

想要成为渔夫的猎手

  • 博客(130)
  • 收藏
  • 关注

原创 图论 —— 网络流 —— 费用流 —— MCMF 算法

【概述】EK 算法是每次用广搜寻找一条最短的增广路,然后沿其增广,而 MCMF 算法是在 EK 算法的基础上,每次用 SPFA 计算图的距离标号,然后沿着可行边进行增广,即将 EK 算法中的 bfs 替换为 SPFA 求最短路,边权为该边的单位流量花费,即改变遍历的优先级来实现。【基本思想】1.每次查找是否存在从源点到汇点可增广的路径(源点到汇点的最短路且路径上的所有边均不能满流),并...

2019-03-30 21:51:36 2231

原创 图论 —— 网络流 —— 最大流 —— SAP 算法与 ISAP 算法

【概述】EK 算法直接进行增广,而 Dinic 则是每次进行 bfs 求出层次图再 dfs 沿着层次图进行多路增广。然而,Dinic 中每次进行 bfs 求层次图有些浪费,因为层次图的改动并不是很大,在这种思路下,因此考虑直接在每次 dfs 增广的时候修改层次图来优化求最短路的过程。SAP(Shortest Augment Path),顾名思义是找最短的增广路,将 EK 算法 O(V*...

2019-03-30 21:51:13 1025

原创 图论 —— 网络流 —— 最大流 —— Dinic 算法

【概述】Dinic 算法在 EK 算法的基础上进行了优化,其时间复杂度为 O(n*n*m)。Dinic 在找增广路的时也是找最短增广路, 但与 EK 算法不同的是 Dinic算法并不是每次 bfs 只找一个增广路,他会首先通过一次 bfs 为所有点添加一个标号,构成一个层次图,然后在层次图中寻找增广路进行更新。【基本思想】1.初始化容量网络与网络流2.构造残量网络,根据残留网...

2019-03-30 21:50:54 3695 1

原创 图论 —— 网络流 —— 最大流 —— FF 算法与 EK 算法

【概述】FF 算法与 EK 算法是求解最大流的一般增广路方法,其时间复杂度均为 O(n*m*m)Ford-Fulkerson 算法是求解最大流的最基础的算法,其核心思想是增广路定理:网络达到最大流当且仅当残留网络中没有增广路程序的实现过程与增广路求最大流的过程基本一致,即每一次更新都进行一次找增广路然后更新路径上的流量的过程。在传统的 FF 算法中,利用 dfs每次找增广路的过程...

2019-03-30 21:50:18 3630 3

原创 SETI(POJ-2065)

Problem DescriptionFor some years, quite a lot of work has been put into listening to electromagnetic radio signals received from space, in order to understand what civilizations in distant galaxie...

2019-03-30 20:40:59 436

原创 Widget Factor(POJ-2947)

Problem DescriptionThe widget factory produces several different kinds of widgets. Each widget is carefully built by a skilled widgeteer. The time required to build a widget depends on its type: th...

2019-03-30 16:09:10 609

原创 Bear in the Field(CF-385E)

Problem DescriptionOur bear's forest has a checkered field. The checkered field is an n × n table, the rows are numbered from 1 to n from top to bottom, the columns are numbered from 1 to n from le...

2019-03-30 14:34:38 406

原创 The Water Bowls(POJ-3185)

Problem DescriptionThe cows have a line of 20 water bowls from which they drink. The bowls can be either right-side-up (properly oriented to serve refreshing cool water) or upside-down (a position ...

2019-03-29 19:06:35 431

原创 开关问题(POJ-1830)

Problem Description有N个相同的开关,每个开关都与某些开关有着联系,每当你打开或者关闭某个开关的时候,其他的与此开关相关联的开关也会相应地发生变化,即这些相联系的开关的状态如果原来为开就变为关,如果为关就变为开。你的目标是经过若干次开关操作后使得最后N个开关达到一个特定的状态。对于任意一个开关,最多只能进行一次开关操作。你的任务是,计算有多少种可以达到指定状态的方法。(不计...

2019-03-29 17:37:39 4237

原创 EXTENDED LIGHTS OUT(POJ-1222)

Problem DescriptionIn an extended version of the game Lights Out, is a puzzle with 5 rows of 6 buttons each (the actual puzzle has 5 rows of 5 buttons each). Each button has a light. When a button ...

2019-03-29 16:53:39 489

原创 线性代数 —— 高斯消元法

【概述】高斯消元法主要用于求解线性方程组,也可以求矩阵的秩、矩阵的逆等,是一个重要的数学方法。其时间复杂度主要与方程组个数、方程组未知数个数有关,一般来说,时间复杂度为 O(n^3)【线性方程组】线性方程组:有多个未知数,且每个未知数的次数均为一次,这样多个未知数所组成的方程组。其形式为:记为矩阵形式,有:【高斯消元法】高斯消元法的基本思想是:通过一系列的加减...

2019-03-29 15:19:33 60578 19

原创 M斐波那契数列(HDU-4549)

Problem DescriptionM斐波那契数列F[n]是一种整数数列,它的定义如下:F[0] = aF[1] = bF[n] = F[n-1] * F[n-2] ( n > 1 )现在给出a, b, n,你能求出F[n]的值吗?Input输入包含多组测试数据;每组数据占一行,包含3个整数a, b, n( 0 <= a, b, n <= ...

2019-03-28 22:39:10 649

原创 So Easy!(HDU - 4565)

Problem DescriptionA sequence S n is defined as:Where a, b, n, m are positive integers.┌x┐is the ceil of x. For example, ┌3.14┐=4. You are to calculate S n.You, a top coder, say: So easy!...

2019-03-28 21:16:04 343

原创 训练日志 2019.3.28

这几天做题的间隙把之前的一些内容过了一遍,整理了整理模版,不熟的知识点找了几道题做了做,上次任务的组合数学部分太差了,除了会用卢卡斯求个 C(n,m)%M 外,抽屉原理和容斥基本都忘了,清明抓紧补起来矩阵快速幂剩下的三个题争取今晚熬夜弄完,明天弄高斯消元蓝桥杯出成绩了,实验室无论 Java 还是 C++ 基本都是一等奖,就自己成绩最差才三等奖,没脸从实验室呆了,太菜了前两天把题重做了一...

2019-03-28 20:40:26 150

原创 Fast Matrix Calculation(HDU-4965)

Problem DescriptionOne day, Alice and Bob felt bored again, Bob knows Alice is a girl who loves math and is just learning something about matrix, so he decided to make a crazy problem for her.Bo...

2019-03-28 19:43:55 237

原创 Jzzhu and Chocolate(CF-449A)

Problem DescriptionJzzhu has a big rectangular chocolate bar that consists of n × m unit squares. He wants to cut this bar exactly k times. Each cut must meet the following requirements:each cut ...

2019-03-28 15:23:39 260

原创 Jzzhu and Sequences(CF-450B)

Problem DescriptionJzzhu has invented a kind of sequences, they meet the following property:You are givenxandy, please calculatefnmodulo1000000007(109 + 7).InputThe first line contai...

2019-03-28 13:42:04 304

原创 Reading comprehension(HDU-4990)

Problem DescriptionRead the program below carefully then answer the question.#pragma comment(linker, "/STACK:1024000000,1024000000")#include <cstdio>#include<iostream>#include...

2019-03-27 18:24:33 464

原创 233 Matrix(HDU-5051)

Problem DescriptionIn our daily life we often use 233 to express our feelings. Actually, we may say 2333, 23333, or 233333 ... in the same meaning. And here is the question: Suppose we have a matri...

2019-03-27 13:51:16 238

原创 线性代数 —— 矩阵快速幂

【概述】矩阵快速幂利用矩阵的乘法与整数快速幂的结合,能够快速的算出n 阶方阵A 的 M 次幂 A^b,其结果仍是一个矩阵,无具体含义,在信息学竞赛中,矩阵快速幂常用于求解线性递推关系。关于矩阵的基础知识:点击这里关于线性递推关系:点击这里【n*m 矩阵的快速幂】struct Matrix{ LL s[N][N];};Matrix e;//单位矩阵EMatri...

2019-03-27 13:04:31 1166 3

原创 线性代数 —— 矩阵与矩阵运算

【矩阵】1.定义 个数排成的 n 行 m 列的数称为 n 行 m 列矩阵记作:其中, 个数称为矩阵 A 的元素,数位于矩阵的第 i 行第 j 列,称为矩阵 A 的 (i,j) 元2.常见矩阵实矩阵:元素是实数的矩阵 复矩阵:元素是复数的矩阵 n 阶方阵:行数列数相等且为 n 的矩阵,其中 i=j 的元素组成的斜线称为主对角线 对角矩阵:除主对角线外的元素皆为 ...

2019-03-27 11:28:32 1688

原创 搜索 —— 启发式搜索 —— A* 算法

【概述】A*(A-Star)算法是一种在静态路网中,求解最短路的最有效的直接搜索方法,也是解决许多搜索问题的有效算法之一。A* 算法实际上是对 Dijkstra 算法的优化后得到的,关于 Dijkstra 算法:点击这里A*算法在程序设计竞赛中,一般用于解决 k 短路问题,关于 k 短路问题:点击这里【原理】在 Dijkstra 算法中,我们借助优先队列来实现,每次从优先队列中...

2019-03-26 16:23:41 2001

原创 Helping Cicada(LightOJ-1117)

Problem DescriptionCicada is an insect with large transparent eyes and well-veined wings similar to the "jar flies". The insects are thought to have evolved 1.8 million years ago during the Pleisto...

2019-03-26 15:46:03 420

原创 Race(LightOJ-1326)

Problem DescriptionDisky and Sooma, two of the biggest mega minds of Bangladesh went to a far country. They ate, coded and wandered around, even in their holidays. They passed several months in thi...

2019-03-26 13:08:13 363

原创 C++语言基础 —— STL —— 算法

【概述】STL 是指 C++ 标准模板库,是 C++ 语言标准中的重要组成部分,其以模板类和模版函数的形式提供了各种数据结构与算法的精巧实现,如果能充分使用 STL,可以在代码空间、执行时间、编码效率上得到极大的提高。STL 大致可以分为三大类:容器(Container)、迭代器(iterator)、算法(algorithm)。STL 容器是一些模板类,提供了多种组织数据的常用方法,例...

2019-03-25 20:17:37 625

原创 C++语言基础 —— STL —— 容器与迭代器

【概述】STL 是指 C++ 标准模板库,是 C++ 语言标准中的重要组成部分,其以模板类和模版函数的形式提供了各种数据结构与算法的精巧实现,如果能充分使用 STL,可以在代码空间、执行时间、编码效率上得到极大的提高。STL 大致可以分为三大类:容器(Container)、迭代器(iterator)、算法(algorithm)。STL 容器是一些模板类,提供了多种组织数据的常用方法,例...

2019-03-25 20:01:51 982

原创 字符串处理 —— 概述

【概述】在 ACM 中,常用的字符串算法不多,主要有:模拟与暴力、KMP、manacher、字典树、AC 自动机、Hash 等等。除算法外,C++ 封装好的 string 类也十分重要,其有大量的内置函数,可以对字符串进行灵活的处理。【算法】模拟与暴力:点击这里 回文串相关:点击这里 最大最小表示法:点击这里 字典树(Tire):点击这里 单模式匹配(KMP):点击这里 ...

2019-03-25 19:01:45 897

原创 Two Strings(CF-223B)

Problem DescriptionA subsequence of length |x| of string s = s1s2... s|s| (where |s| is the length of string s) is a string x = sk1sk2... sk|x| (1 ≤ k1 < k2 < ... < k|x| ≤ |s|).You've go...

2019-03-25 18:51:29 241

原创 借教室(洛谷-P1083)

题目描述在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来n天的借教室信息,其中第i天学校有ri​个教室可供租借。共有m份订单,每份订单用三个正整数描述,分别为dj​,sj​,tj​,表示某租借者需要从第sj...

2019-03-25 18:42:11 807 1

原创 线性结构 —— 前缀和

【概述】前缀和是一种及其优秀的线性结构,也是一种重要的思想,能极大的降低区间查询的时间复杂度。前缀和又分为一维前缀和、二维前缀和,其与差分数组密切相关,关于差分数组:点击这里【一维前缀和】假设有一串长度为 n 的序列,再给出 m 次询问,每次询问给出 L、R 两个数,要求求出区间[L,R] 的和,如果不使用前缀和的话,每次都遍历一遍给出的区间,计算出答案,这样时间复杂度会达到 O...

2019-03-24 22:21:59 853 1

原创 理论基础 —— 栈 —— 双端栈

【实现类】const int maxSize=100;template <class T>class seqStack{public: seqStack(); ~seqStack(); void push(T x);//入栈 T pop();//出栈 T getTop();//获取栈顶元素 bool empty();//判断...

2019-03-24 20:27:33 933

原创 理论基础 —— 栈 —— 链栈

【实现类】template <class T>struct Node{ T data; Node *next;};template <class T>class linkStack{public: linkStack(); ~linkStack(); void push(T x);//入栈 T pop();//...

2019-03-24 20:26:34 350

原创 理论基础 —— 栈 —— 顺序栈

【实现类】const int maxSize=100;template <class T>class seqStack{public: seqStack(); ~seqStack(); void push(T x);//入栈 T pop();//出栈 T getTop();//获取栈顶元素 bool empty();//判断...

2019-03-24 19:37:05 481

原创 理论基础 —— 栈

【概述】栈(Stack)是一种特殊的线性表,只能在某一端插入和删除的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶。由于栈满足先进后出,后进先出的性质,因此也被称为先进后出表(FILO)或后进先出表(LIFO)当栈中元素个数为零时称为空栈。【栈的逻辑结构】栈的栈底固定,栈顶浮动,允许进行插入和删除操作的一端称为栈顶(Top),另一端为栈底...

2019-03-24 19:18:59 932

原创 Rooks(LightOJ-1005)

Problem DescriptionA rook is a piece used in the game of chess which is played on a board of square grids. A rook can only move vertically or horizontally from its current position and two rooks at...

2019-03-23 18:12:49 457 1

原创 Problem Makes Problem(LightOJ-1102)

Problem DescriptionAs I am fond of making easier problems, I discovered a problem. Actually, the problem is 'how can you make n by adding k non-negative integers?' I think a small example will make...

2019-03-23 16:49:26 355

原创 组合数学 —— 组合数

【概念】1.组合从 n 个元素的集合 S 中,无序的选出 r 个元素,叫做 S 的一个 r 组合。如果两个组合中,至少有一个元素不同,它们就被认为是不同的组合。2.不可重组合数所有不同组合的个数,叫做组合数,记作:或由于每一种组合都可以扩展到 r!种排列,而总排列为 A(n,r) ,所以组合数特别的,C(n,0)=13.可重复组合数从 n 个不同的元素中,无...

2019-03-23 16:36:39 8489

原创 组合数学 —— 组合数取模 —— 卢卡斯定理与扩展卢卡斯定理

【卢卡斯定理】1.要求:p 是质数,m、n 很大但 p 很小 或者 n、m 不大但大于 p2.定理内容 其中,3.推论当将 n 写成 p 进制:,将 m 写成 p 进制:时,有:4.实现代码实现可简单理解为:LL fac[N];void getFac(){//构造阶乘 fac[0]=1; for(int i=1;i<1000000...

2019-03-23 16:31:51 624

原创 Combinations(LightOJ-1067)

Problem DescriptionGiven n different objects, you want to take k of them. How many ways to can do it?For example, say there are 4 items; you want to take 2 of them. So, you can do it 6 ways.Tak...

2019-03-23 16:18:38 323

原创 Monkey Tradition(LightOJ-1319)

Problem DescriptionIn 'MonkeyLand', there is a traditional game called "Bamboo Climbing". The rules of the game are as follows:1) There are N monkeys who play this game and there are N bamb...

2019-03-23 15:32:42 293

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除