- 博客(76)
- 收藏
- 关注
原创 网络流-费用流(dijkstra写法)
模板提P3381 【模板】最小费用最大流个人简述首先呢,dijkstra算法求费用流是不如spfa求费用流的,因为这个题目不开O2优化,就过不去....那么我们为什么要用这个算法呢?个人认为确实没什么用....还是用spfa或者zkw求费用流吧总所周知,dijkstra是不能跑有负环的图的,而我们在求最小费用流的过程中一般会存在负环(反边的存在),因此我通过引入势的概念,将图的...
2019-08-09 19:17:51
2194
原创 P2756 飞行员配对方案问题 (最大流-二分图最大匹配)
题目来源P2762 太空飞行计划问题题目分析中文题,题意就不用说了吧...思路:经典二分图匹配问题,我们记M表示外籍飞行员的顶点集合,用N表示英国飞行员的顶点集合,E表示匹配关系,二分图G = (MN,E),则对于任意的 mM,nN, 外籍飞行员m和英国飞行员n匹配(m,n)E而G中满足两两不含公共端点的变的集合KE的基数|K|的最大值,就是我们需要求的最大匹配数(题目...
2019-08-07 21:02:08
452
原创 组合数模板-通用版本
简单说明直接放代码不友好,说句话缓冲一下....这里的模板复制不会直接红一片(体验会好一些),哦,对了,使用函数C(n,m)之前,需要先用init()预处理一下,不然C(n,m)的结果就是0了。代码区typedef long long ll;const ll mod = 1e9 + 7;const int Max = 1e6 + 10;ll fact[Max], ifact[M...
2019-08-07 20:23:56
408
原创 POJ 1459 Power Network (多源点多汇点求最大流问题)
题目链接POJ-1459 Power Network题目分析题意:简单来说,由多个源点向多个汇点传输数据,每个源点传出的数据是有限的,每个汇点接受的数据也是有限的,某些点之间可以传输一定量的数据,求最大流。思路:相比于普通的最大流问题,这个地方的源点和汇点不唯一,而且源点的最大流出容量也有所限制,其实我们只要简单处理了一下,就可以将这类问题转化为普通的最大流问题。我们...
2019-08-06 17:28:56
1024
原创 网络流-最大流简述(模板题+基础Ford-Fullerson+常用Dinic)
模板题P3376 【模板】网络最大流举个例子自来水公司和自己家里的水龙头之间是由多条管道连接的,一般情况下,这些管道的大小是不同的,即单位时间内运输的水量是不同的,而且由自来水公司到家里的水龙头之间的输水通道也不会只有一条,往往成复杂的网络状。在这种情况下,求单位时间内家中水龙头最多可以得到多少的水。网络流基本术语源点:数据传输过程中的最初点,相当于例子中水源的起点汇点:传...
2019-08-06 17:16:20
469
原创 codefoeces gym 101972 J Even Numbers(组合数问题)
Even NumbersDescriptionYousef loves playing with functions in his free time. Today, he invents the following function:Yousef will give you a list of queries, and ...
2019-08-05 15:21:38
207
原创 CodeForces 712C Memory and De-Evolution (思维+贪心)
点击查看原题:http://codeforces.com/problemset/problem/712/C题目分析题意:给你两个等边三角形,边长为x,y (x>y),问最少多少次操作后,可以将边长为x的等边三角形变为边长为y的等边三角形,每次操作我们可以将三角形任意一条边改为任意数值,不过执行操作后三边仍然组成三角形,比如现在的三角形三边长为: 4 ,6 , 5 ,此时我们就不...
2019-08-04 11:41:45
157
原创 codeforces 713A Sonya and Queries (状态压缩)
点击查看原题:http://codeforces.com/problemset/problem/713/A题目分析题意:我们有三种操作:1)+ a,向集合中添加一个数a2)- a ,减去集合中的一个数,保证a一定存在于集合中3)? s , s仅有‘0’和‘1’组成,‘0’所在位置表示这个位置的数需要为偶数,‘1’所在位置表示这个位置的数需要为奇数,用s去和集合中所有的数...
2019-08-04 11:06:30
147
原创 HDU 1880 魔咒词典
魔咒词典Problem Description哈利波特在魔法学校的必修课之一就是学习魔咒。据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮助。给你一部魔咒词典。当哈利听到一个魔咒时,你的程序必须告诉他那个魔咒的功能;当哈利需要某个功能但不知道该用什么魔咒...
2019-08-01 21:16:51
235
原创 POJ 1185 - 炮兵布阵
炮兵阵地Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示...
2019-08-01 10:45:32
177
原创 字典树简述+本校OJ字典树题目+模板
为什么要用字典树字典树有比较多的功能,我目前了解的有:1)统计一堆字符串中每个字符串出现的次数,嗯,是不是想到了如何生成词云呢,个人认为词云就是用字典树为核心算法生成的。2)处理一些字符串,删除重复出现的字符串(看起来没什么难的,但是如果字符串的数量高达1e7呢?)3)字符串匹配问题字典树对于这些问题有很好的效果。是一种用空间换时间的方法。PS:当我第一次看见这个名字的时候...
2019-08-01 00:29:49
225
原创 树链剖分简述+洛谷P3384模板
在上图中,我们把树分成数个轻链和重链,这个是重要的,因为相比于普通的dfs序构建线段树,此时我们的dfs序不仅保留了某子树中所有结点的dfs序连续,而且我们也将保证同一条链上的点的dfs也是连续的树链剖分的特点:将两点之间dfs不连续的路径分隔为数个dfs序连续的路径,对这数个dfs连续的路径进行相当于对线段树区间的操作,并且此操作的效果等价于对两点之间所有结点的操作
2019-07-31 00:25:07
217
原创 差分+树上差分(详细说明+模板)
问题引入差分的题目,常见的操作为:有一连续区间[1,n],包含n个点,对任意的 1 <= u ,v<= n ,使得区间[u,v]中结点的值增加x,然后询问某点的权值。树上差分的题目,常见的操作为:将一棵树上从u到v路径上的点或者边的权值加上x,询问某结点的权值什么是差分假设我们有一条链,链上的结点记为 1~n ,一共n个连续的结点,现在我们将这条链上任意区间中的结点增加...
2019-07-30 19:34:36
3968
4
原创 POJ 3639 Hawk-and-Chicken (tarjan缩点+反向dfs)
Hawk-and-ChickenProblem DescriptionKids in kindergarten enjoy playing a game called Hawk-and-Chicken. But there always exists a big problem: every kid in this game want...
2019-07-30 11:56:36
224
原创 POJ 2186 Popular Cows (tarjan + 缩点)
Popular CowsDescriptionEvery cow's dream is to become the most popular cow in the herd. In a herd of N (1 <= N <= 10,000) cows, you are given up to M (1 <= M...
2019-07-29 10:19:22
124
原创 HDU 4738 Caocao's Bridges (求最小权值桥+tarjan)
Caocao's BridgesTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10442Accepted Submission(s): 2891Problem Descri...
2019-07-25 23:58:15
212
原创 POJ 1062 昂贵的聘礼 (构建图并求最短路)
昂贵的聘礼Time Limit:1000MS Memory Limit:10000K Total Submissions:60090 Accepted:18144 Description年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金...
2019-07-24 10:54:11
166
原创 POJ 3159 Candies 最短路
CandiesTime Limit:1500MS Memory Limit:131072K Total Submissions:41533 Accepted:11657 DescriptionDuring the kindergarten days, flymouse was the m...
2019-07-24 09:33:32
130
原创 POJ 2449 Remmarguts' Date (dijkstra + A*)
Remmarguts' Date(点击查看题目)Time Limit:4000MS Memory Limit:65536K Total Submissions:41070 Accepted:11295 Description"Good man never makes girls wait or breaks...
2019-07-23 23:15:27
148
原创 HDU 1688 Sightseeing (最短路径数+次最短路经数)
Sightseeing(点击查看题目)Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionTour operator Your Personal Holiday organises guid...
2019-07-23 17:20:35
195
原创 关于二维数组 dp[a][i] 比 dp[i][a] 运行时间更短的说明
问题描述不知道各位有没有这样的经历:用dis[i][j] 表示点 i 和点 j 的距离,计算有关图的题目时候,若有一个循环如下:for (int j = 1; j <= n;j++){ dis[j][id] ++;}这段代码没有实际意义,表示的是不断更新dp数组第一维度的下标,可是,有时候这样写会得到TLE的结果,但是当我们把代码换成下面这段后,就AC了。for ...
2019-07-23 11:45:33
170
原创 codeforces 687C (动态规划)The Values You Can Make
The Values You Can MakeDescription(点击查看原题)Pari wants to buy an expensive chocolate from Arya. She hasncoins, the value of thei-th coin isci. The price of the chocolate isk, so P...
2019-07-21 15:22:57
534
原创 HDU 5188 Gift Hunting (01背包)
DescriptionAs one of the most powerful brushes in the world, zhx usually takes part in all kinds of contests.One day, zhx takes part in an contest. He found the contest very easy for him.There are...
2019-07-19 19:05:52
147
原创 HDU 3449 Consumer (有依赖的背包问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3449DescriptionFJ is going to do some shopping, and before that, he needs some boxes to carry the different kinds of stuff he is going to buy. Each...
2019-07-19 16:00:31
261
原创 codeforces 787D Legacy (线段树)
题目链接:http://codeforces.com/problemset/problem/787/DDescriptionRick and his co-workers have made a new radioactive formula and a lot of bad guys are after them. So Rick wants to give his legacy t...
2019-07-19 11:24:33
548
2
原创 HDU 3333 线段树 离线处理
Turing TreeTime Limit: 6000/3000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7869Accepted Submission(s): 2862Problem Descri...
2019-07-16 17:20:58
161
原创 RMQ(一维+二维)附例题 POJ 3264,POJ 2019
代码功能众所周之,求区间最值对于ACMer来说,是必须掌握的,为此我将之贴一下,注解也比较详细,方便查阅。这段代码能够求一段连续的数在任意区间的最值。代码区(一维+详细说明)#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#inclu...
2019-07-13 16:40:18
194
原创 CF 343A Rational Resistance
A. Rational ResistanceDescriptionMad scientist Mike is building a time machine in his spare time. To finish the w...
2019-07-10 08:55:59
153
原创 Codeforces Round #564 (A-C)
A题题目链接:http://codeforces.com/contest/1173/problem/A题目分析这个题目很简单的,看懂题目就A了的那种。有三种投票,分别记为 x ,y, z , 其中 x 表示正票,y表示负票,z表示不确定的票(可能全是正票,也可能全是负票),那么输出为 "+" 的情况就是 x > y + z ,同样输出为 "-"的情况就是 y >...
2019-06-08 11:06:04
127
原创 HDU - 2196 Computer 树形DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2196题意有一颗树,结点之间存在一定长度的边,求树上每一点到树上其他点的最远距离。题目分析刚写这个题目的时候我想着用了一下dfs,这样就可以得到每一个结点借助其子结点所能到达的最远距离,但是如果这个结点的最远距离需要经过其父节点才可以到达的话,这样就行不通了,所以还需要求出每个结点...
2019-06-04 18:57:02
143
原创 POJ - 3659 Cell Phone Network (树形DP && 最小支配集)
题目链接:http://poj.org/problem?id=3659题目分析题意:给出一棵树,需要在这棵树的结点上安装通信装备,每个通信装备可以覆盖当前结点和所有和这个结点直接相连的结点,问安装最少多少个通信装备可以覆盖整棵树。这个题目可以说是树形DP的题目,也可以是最小支配集的题目,我们用下列变量记录数据1)dp [ u ] [ 0 ] 表示在结点 u 不安装设备,但父结...
2019-06-04 14:05:27
200
原创 POJ - 2342 Anniversary party (树形DP)
题目链接:http://poj.org/problem?id=2342题目分析题意:有 n 个人去参加派对,如果人 x 去了,那么 x 的直系上司和直属员工都不会去。而且每个人都有一个欢乐值,问如何安排参加派对的人,使得总欢乐值最大,并求出最大欢乐值。很明显的树形DP,我们用 dp [i] [0] 表示不选取结点 i 的情况下,以 i 为根结点的树的最大值,dp [i] [1]...
2019-06-03 18:13:23
144
转载 多重背包+优先队列优化法(转载)
转载来源作者:o_O链接:https://www.acwing.com/solution/acwing/content/1537/#comment_1436来源:AcWing关于理解yxc大神的代码的一些笔记(https://www.bilibili.com/video/av33930433/?p=2)C++ 代码#include<iostream>#incl...
2019-05-31 08:52:30
424
原创 CodeForces 864E Fire (记录路径的01背包)
题目链接:http://codeforces.com/problemset/problem/864/E题目分析这个题目也是比较明显的01背包了,我们只需要考虑是否选择某一物品即可,把时间 t [ i ]当作重量,p [ i ] 当作价值, d [ i ] 当作最大枚举重量即可,不过,我们平时是从最大重量(一般为总重)开始向前枚举背包容量,在这里,我们为了使某一物品选择具有合法性,所...
2019-05-30 21:10:59
166
原创 POJ - 2823 Sliding Window 单调队列
题目链接:http://poj.org/problem?id=2823题目分析单调队列问题的经典例题,题意:有一串数,编号为 1- n , 问从 1 开始,求当前位置及其后共k个数中的最大值和最小值,每次位置向后移动一位,如图:n = 8 , k = 3, v[] = { 1, 3 , -1 , -3 , 5 , 3 , 6 , 7 }解题思路:首先,这个题目肯...
2019-05-28 16:49:15
113
原创 谈一下自己对动态规划的理解
谈一下自己对动态规划的理解 做过了不少的DP题,发现了一个规律,那就是打表!找出所有满足条件的答案,不过这种枚举和一般的暴力可不一样,暴力求解的时候是每次从最初的状态开始枚举所有答案,这样一般都会造成多个数据被重复计算...
2019-05-27 21:57:56
460
原创 codeforces 1096D Easy Problem
题目链接:http://codeforces.com/contest/1096/problem/D题目分析这个题是我从别人那里学的方法,在此记录一下我对这个题目的解题方法的理解。题目要求:给定一个字符串,可以删除任意个字符,且删除某一个字符,有与之对应的消耗,问如何用最少的消耗使得这个字符串中不会出现 hard 。看到这个题目,第一想法就是删除所有的 h, a , r ,...
2019-05-25 13:22:52
232
原创 codeforces 983B XOR-pyramid
题目链接:http://codeforces.com/problemset/problem/983/B题目分析以上给出了 f ( ai, ai+1, ai+2,ai+3.... aj)的计算方法,要求在[i, j] 的中 f 的最大值 , 也就是说需要比较所有的f ,比如比较 f ( ai, ai+1, ai+2) 和 f ( ai, ai+1) 等等。那...
2019-05-25 10:45:49
153
原创 HRBUST 1818 石子合并问题--直线版
Description一条直线上摆放着一行共n堆的石子。现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆石子数记为该次合并的得分。请编辑计算出将n堆石子合并成一堆的最小得分和将n堆石子合并成一堆的最大得分。Input输入有多组测试数据。每组第一行为n(n<=100),表示有n堆石子。二行为n个用空格隔开的整数,依次表示这n堆石子的石子数量a...
2019-05-24 21:28:24
314
原创 HDU 4745 Two Rabbits
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4745题目分析这个题目乍一看觉得很麻烦,不过仔细读题就会发现一个重要的条件:两个兔子不会相互穿过,也就是说,两个兔子始终在一个环里面走;而且在任意时刻,两个兔子所在的位置的权值一样,那么我们设想一下两个兔子都从终点出发,看他们最远可以走多少步,这样等价于两个兔子从任意位置出发最后聚集于同一...
2019-05-24 11:37:42
276
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人