自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不要錯過才珍惜

Don't want to cherish after you have lost it.

  • 博客(59)
  • 资源 (3)
  • 收藏
  • 关注

原创 HDU 3335 Divisibility(DLX求最多重复覆盖)

题目地址 题意:告诉你n个数,问你最多可以得到多少个数,当你选择了这个数的时候,可以与他构成整除关系的数就不能选了。 思路:我们构造一个矩阵,我们枚举每对数,当这两个数满足整除关系的时候就让第i行第j列和第j行第i列的值置为1,这样的话就表示一个选了就不能选了。

2017-09-29 00:28:30 441

原创 HDU 3529 Bomberman - Just Search!(DLX重复覆盖)

题目地址 题意:就是和泡泡堂游戏一样,你这个游戏就是要把所有可以炸的墙全部炸掉,问你最少要用多少个炸弹。(‘#’为可以炸掉的墙,‘.’为可以放炸弹的地方,‘*’是不可破坏的墙,整个地图的四周全部是不可破坏的墙) 思路:我们可以创建一个这样的矩阵,每个行是可以放置炸弹的每个位置,每一列为每个可以炸的墙的编号。然后求一边DLX重复覆盖就好了,这样就能求出最少要用多少个炸弹就可以把所有可以炸的墙全部炸

2017-09-28 23:03:15 314

原创 HDU 2828 Lamp(DLX重复覆盖)

题目地址 题意:你有n盏灯和m个开关,每个灯的亮灭可以取决与多个开关只要满足应该灯就可以亮了。然后有n行,每行代表这个灯可以取决与t个开关的开关,问能不能让全部灯亮,如果可以输出每个开关的开与关。 思路:我们可以把这个模型转化为一个(2*m)*(n)的矩阵。为什么呢?我们可以把每个开关拆成2行,一行代表这个开关是关的,另一个代表这个开关是开的。然后我们就可以把这个矩阵通过灯与开关的限制条件搞成一

2017-09-27 19:26:30 299

原创 HDU 3498 whosyourdaddy(Dancing_Links重复覆盖)

题目地址 题意:给你n个城市,m条道路,每次摧毁一个城市会附带把与它直接连接的城市的摧毁,一个城市可以重复摧毁(如果不能重复就是精确覆盖了),问你最少摧毁多少个城市能把所有城市摧毁。 思路:我们可以构造一个n*n,每列代表这个城市有没有摧毁,每行代表这个城市摧毁了会导致哪些城市摧毁。然后我们跑一边DLX重复覆盖就好了。 重复覆盖:因为在行的集合中精确覆盖只能每一列选一个1所以在选择的时候我们可

2017-09-26 09:23:16 289

原创 HDU 3663 Power Stations(Dancing_Links精确覆盖)

题目地址 题意:有n个城市,告诉你m条路,每个城市都有自己的发电厂,每个发电厂能给与该城市直接相连的城市供电,每个城市的发电厂都有自己的工作周期,我们只能在工作区间中选择一段工作区间来进行工作,(如1~5,不能选择1~2和4~5,只能选择工作区间内的一个连续区间,问能不能找到一个工作表,使得每天每个城市都有且仅有一所发电厂给该城市供电。

2017-09-24 09:29:48 276

原创 HDU 3715 Go Deeper(二分+2-SAT总结)

题目地址 题意:给你一个递归函数如下(转成C语言):void go(int dep, int n, int m) { if (dep < m && x[a[dep]] + x[b[dep]] != c[dep]) { go(dep + 1, n, m); }}问你个构造一个x数组,使得他的递归层数最多,最多为多少。

2017-09-21 19:04:12 397

原创 HDU 4115 Eliminate the Conflict(简单2-SAT)

题目地址 题意:Bob和Alice玩剪刀石头布,一共要玩n轮,但是Bob要出什么Alice都知道,然后告诉你一些限制格式如下:a b flag,如果flag为0,则Alice第a次和b次出的拳必须相同,如果flag为1,则Alice第a次和b次出的拳必须不相同。问Alice在这些条件下能不能每轮都赢Bob。 思路:其实很简单的就可以想到,因为Alice不能输,所以Alice只有两种选择分别是赢和

2017-09-21 13:17:14 305

原创 HDU 1816 Get Luffy Out *(2-SAT+二分)

题目地址 题意:给你n串钥匙,每串钥匙有2把不同编号的钥匙,有一栋m层楼高的房子,每层有2个门,告诉你每个门要的钥匙,可能不同的门有相同的扼钥匙,但是一把钥匙打开了一个门,开完以后就会消失,问你最多能上几层。 思路:一看就是两判性的问题,两判性的问题解决方法就是2-SAT(说了不知道多少遍了),建图就老老实实建,判断一下他的限制关系:把每个钥匙拆成两个点(一个为选这把钥匙,一个为不选),然后二选

2017-09-20 23:05:51 258

原创 HDU 1815 Building roads(二分+2-SAT)

题目地址 题意:给你n个农场,S1场地以及S2场地的坐标,要求每个农场要不与S1连,要不就与S2连,并且每个农场之间的连接距离(曼哈顿距离)的最大值最小,现在告诉你a条不可连接限制,表明两个农场不能和同一个场地连接,又给出b种连接限制,表明两个农场要和同一个场地连接。 思路:我们进行二分枚举最大距离,然后来用2-SAT来判断这个距离的可行性,这里的思想与HDU 3622 Bomb Game的思想

2017-09-20 14:42:50 442

原创 HDU 3622 Bomb Game(2-SAT+二分)

题目地址 题意:给你n组炸弹,每组有2个炸弹告诉你两个炸弹的坐标,让你在每一组中选择一个炸弹放置,有以下要求每一组有且仅选一个炸弹。每个炸弹的爆炸范围相同不能存在炸弹有重复炸到的地方求出最大的爆炸范围半径。 思路:二分枚举爆炸范围的直径(因为后面判断炸弹是不是有重复炸到的地方要用直径去算),然后按照要求去找到每个炸弹之间选择的限制条件,当第i组炸弹的第一个炸弹与第j组炸弹的第一个炸弹的距

2017-09-19 15:35:54 427

原创 HDU 6215 Brute Force Sorting(伪双向链表删边)

题目地址 题意:Beerus想把一个序列排序,但是他不会排序,他只会删除一些点(如果一个数比前一个数小或者比后一个字符大就要把这个字符删掉),为了让最后得到得串是有序的,或者是空字符串。问最后剩下的序列是什么? 思路:因为要与前一个后一个去比较,但是又要进行删除操作,那么很自然的就可以想到用双向链表去实现,但是双向链表要每次都要把空间给释放掉,要不然就会爆内存了,这样的话我们可以用结构体数组去代

2017-09-19 00:48:46 600

原创 HDU 6208 The Dominator of Strings(String查找)

题目地址 题意:给你n个字符串,问其中有没有一个字符串,他包含了全部的字符串,相当于所有字符串是其中一个字符串的子串。 思路:这个题目我是抱着试一试的心态去交的,居然发现连string的find函数都能过,这就让我特别惊讶了,言归正传,我们可以发现那个母串一定是最长的那一个,因为一定要是全部字符串的母串,然后对于长度相同的呢,那就要这些字符串完全相同,只有这样才能满足那个条件,然后其他字符串就直

2017-09-18 09:20:05 1037

原创 HDU 6216 A Cubic number and A Cubic Number(思维)

题目地址 题意:给你一个素数num,求有没有两个立方数的差是这个素数。 思路:只有两个相邻的立方数的差是素数,所以我们枚举出每一个差,记录在数组里面,然后通过二分查找,看看能不能查到这个数就好了。

2017-09-17 23:37:08 466

原创 HDU 6214 Smallest Minimum Cut(最小割的最少割边数)

题目地址 题意:给你应该网络图,然后告诉你一些边的流量,让你求出最少需要割去多少流量才能让S点和T点不连通,当有多最小割路径的时候,选择条数最小的一个。 思路:参考我原来的博客:传送门HDU3987,上面有这个的两种解法,但是第二种写法会超时,应该是我代码写丑了,或者是卡常了。

2017-09-17 23:26:44 616

原创 HDU 6213 Chinese Zodiac(水题,模拟)

题目地址 题意:就是告诉你今年是什么生肖的年,然后问过了多少年是后面那个生肖的年。如果是相同生肖就是12年,一轮。 思路:直接模拟就好了,用map映射字符串为1-12年,然后直接算就好了。

2017-09-17 23:05:47 448

原创 HDU 6206 Apple(高精度浮点数)

题目地址 题意:告诉你四个点,求最后一个点在不在前三个点围成的圆上。 思路:三个点连成的形状是一个三角形,那那个圆就是这个三角形的外接圆,那圆心应该就是在三角形的外心上,给定三角形三个顶点的坐标,如何求三角形的外心的坐标呢?我在网上找到的公式: 给定a(x1,y1) b(x2,y2) c(x3,y3)求外接圆心坐标O(x,y) 1. 首先,外接圆的圆心是三角形三条边的垂直平分线的交点,

2017-09-17 22:55:12 891

原创 HDU 1824 Let's go home(2-SAT)

题目地址 题意:中文没什么好说的,就是有一点题意需要通过样例才知道,题目中的两名队员是可以包括队长的,只是当队长留下来的话,其他两个人可以留下也可以回家,并不是二选一一定要做什么,也可以全部留下,这是我之前没搞清楚的地方 思路:这道题让我更好的理解了2-SAT算法的建图以及解决方法,如果还不懂2-SAT的话可以看我另一篇博客:传送门,那里有资料和我对这个算法的一些理解。原来我是没有很好的理解建图

2017-09-17 11:32:42 369

原创 HDU 3062 Party(2-SAT模板)

题目地址 题意:中国人不需要解释中文吧,不会就是小学语文没学好,(* ̄rǒ ̄) 思路:这道题就是裸的2-SAT问题,我也用这道题来对这个题目进行理解的,推荐一篇PPT《由对称性解2-SAT问题》,我看到别人都是用这个入门的,并且这个是真的讲的好。但是大家的博客都是用这个博客给出的样例去讲的,我就结合这道题来谈谈我对这个算法的理解吧。

2017-09-17 09:22:35 385

原创 hdu3472 HS BDC (混合图的欧拉链路)

题目地址 题意:给你一些单词,这些单词有一部分是可以翻转的(1),然后问你能不能把这些单词连成一条链。 思路:这个一看就是问混合图中存不存在欧拉链路的问题,对于求欧拉链路和之前我们求欧拉回路有什么区别呢?其实没有多大的区别,我们把欧拉链路的起点终点连起来就不是一个欧拉回路了吗。所以大体和求欧拉回路没什么区别。如果混合图不连通,或者连通,但是入度或者出度为奇数的点多于2个,那么显然不会有欧拉路径。

2017-09-15 01:24:50 259

原创 HDU 1956 Sightseeing tour(混合图欧拉回路)

题目地址 题意:有个城市的董事会要在这个城市建巴士观光旅游,为了让旅游的人可以看到这个城市的所有角落。那就要让这个城市的每条街道都被访问一次,并且最后要回到最初的起点。每个街道有单行道(1)和双行道(0)之分,观光车必须要遵守交通规则。问在这些条件下能不能建成这个观光旅游。 思路:就是一道裸的混合图求有没有欧拉回路的问题。所以我们来讲下混合图怎么来求欧拉路径的。

2017-09-14 14:17:19 350

原创 HDU 2894 DeBruijin (欧拉回路)

题意:中文不解释思路:第一个输出无疑就是2^n,然后复杂的就是输出序列,下图就是一个n为3的时候的情况,因为每次都要旋转一位,我们可以把这个抽象成一个节点个数为2^(n-1)的图,对应2^(n-1)个n-1位二进制数,当前的节点代表的是二进制数字为k,他要连向代表数(k<<1)&(1<<n-1)的节点,和代表数(k<<1)&(1<<n-1)+1的节点,这样的话就把整个图变成了一个欧拉图,然后从0号点开始dfs寻找一

2017-09-13 17:06:47 281

原创 HDU 3018 Ant Trip(欧拉路的条数)

题目地址 题意:告诉你一个无向图,问你要一笔画多少次才能把所有边都画一遍,且每条边仅画一遍。 思路:如果你还没有理解或者不知道欧拉图的概念的话,可以看我的另一篇博客:传送门,那里详细的讲了有向图无向图的欧拉图的概念。言归正传,这题其实也是一道裸的欧拉链路的题目,他其实一笔画就是要找到边能全部连起来,然后我们就会发现有以下几种情况:

2017-09-13 13:44:07 249

原创 HDU 1878 欧拉回路(概念)

题目地址 题意:中文 思路:裸的欧拉回路,把下面的概念看懂就好了。然后我们用并查集判断一下是不是连通的就好了。 欧拉通路::图连通,并且通过图中每条边且只通过一次。 欧拉回路:图连通,并且通过图中每条边且只通过一次。 无向图是否具有欧拉通路或回路的判定: 欧拉通路:图连通,并且图中只有0个或2个度为奇数的节点 欧拉回路:图连通,并且图中所有节点度均为偶数 有向图

2017-09-13 00:52:51 334

原创 HDU 3414 Tour Route(竞赛图的哈密顿回路)

题目地址 题意:给出一个n阶的竞赛图,找出一个哈密顿回路,如果有输出路径,否则输出-1。 思路:按照竞赛图的性质竞赛图一定是存在哈密顿路径的,所以我们遍历每个点为起点的哈密顿路径,再判断是不是首尾相连,如果是直接输出路径就好了。 补充:1、竞赛图:就是一个把所有的边从有向边转化为无向边,之后这个图是完全图。2、哈密顿路径:通过图中的每一个节点一次并且仅一次的路径。

2017-09-12 09:26:23 751

原创 HDU 6201 transaction transaction transaction(SPFA模板)

题目地址 题意:每个城市有不同的书的价钱,你要从一个城市进书,到另一个城市卖书,每两个有路相邻的城市需要打的士,价格是每公里一块钱,问你最多能赚多少钱。(只能买一本去卖) 思路:用一个超级源点连一个单向边到每个城市,代表的买书的代价,然后每条路建双向边,代价是车费,然后我们从超级源点跑一边最短路,这样我们就得到了到每个城市卖书的最小代价,然后我们再与当地的书价相减,求出最大的利益。

2017-09-11 13:47:54 198

原创 HDU 6198 number number number(规律+矩阵快速幂)

题目地址 题意:在斐波那契数列中找到k个数,让这几个数相加的得到的数不是说斐波那契数列数列里面的数。 思路:打表就能发现,这个数是斐波那契第2*k+3项-1,所以直接矩阵快速幂解决就好了。

2017-09-11 11:19:02 236

原创 HDU 6197 array array array(最长上升或下降子序列)

题目地址 题意:给你一个长度为n的序列,你可以删除m个元素,使得这个序列变成一个单调上升或下降序列。 思路:就是求最长上升或下降子序列长度是不是大于n-k。 推荐一个理解nlogn时间复杂度的最长上升子序列的模板传送门。

2017-09-11 01:14:30 931 3

原创 HDU 6205 card card card

题目地址 题意:给你n堆牌,原本每一堆的所有牌(a[i]张)默认向下,每次从第一堆开始,将固定个数的牌(b[i]张)翻上,然后下一堆继续,直到没有足够的牌翻上,然后你可以获得当前已经操作过的堆的所有牌。最初你可以调整堆的顺序,把第一堆放到最后一堆(逆时针旋转),你可以重复这个操作,问你要重复多少次这个操作,才能获得最多的牌。

2017-09-11 00:41:40 528

原创 HDU 6195 cable cable cable

题目地址 题意:给你n个屏幕,以及m个信号源,想让一个屏幕播放一种信号源需要一根电缆,然后让你在n个屏幕中选m个屏幕,使得每个屏幕播放的是不同的信号源,问最少要多少根电缆才能达成这个条件。 思路:我们想要达成这个条件,就是让其中m个屏幕对应m个信号源,每个用一根电缆连接,剩下的因为要满足要求,所以要每个屏幕都要与每个信号源相连,所以剩下的每个屏幕要m个电缆。

2017-09-11 00:26:14 347

原创 HDU 5772 String problem(一个诡异的建图)

题目地址 题意:给你一个长度为n的只有0~9字符的字符串,要你挑出一些字符来组成一个新的字符串,然后挑选每个字符的代价是 然后呢,能得到的价值是(substr是新串,id[i]是原串的位置)就是求和,规则看下图。 思路:这个我还是搞得不太清楚,看到别人发的博客中放了官方题解,我就看了下,然后慢慢理解,但是建图就十分经典了,就是要理解点的划分的问题,官方题解讲的很详细了,我就不多说了。

2017-09-10 11:12:22 299

原创 HDU 3996 Gold Mine(最大权闭合图)

题目地址 题意:题意还是蛮复杂的,但是好好分析起来就好了,先告诉你有T组样例,然后每个样例里面有n个区域(n<=100),然后呢?每个区域里面都有m个金矿(m<=25)(其实我觉得直接看金矿就好了,标号就设为 i*26+j),然后告诉你每个金矿要花掉的钱以及能赚到的钱,以及与多少个金矿有关系,然后c行就是有关系金矿的区域号以及区域里面第几个金矿了(按之前的公式算就好了)。问最大的收益是多少?

2017-09-09 01:01:59 353

原创 HDU 3061 Battle(最大权闭合图)

题目地址这里写链接内容 题意:不用说明了吧,中文。 思路:一个很明显的最大权闭合图,建图方法也是经典的最大权闭合图的建图方法,感觉没有什么特色,看建图方法可以戳这里。有一个难懂的地方就是明明是 最后M行 每行2个数字 a,b,代表相应城池的编号。表示攻占b之后才可以攻占a。为什么是a->b建边,不应该是b->a建吗?你这样想,是不是当a攻占了的话是不是b肯定已经被攻占了,但是b被攻占了的话

2017-09-09 00:22:16 293

原创 HDU 3917 Road constructions(最大权闭合图)

题目地址 题意:有n个工程,m个公司,给出每个公司所有项目的税收,再给出k条两两工程的关系,以及政府补助和哪个公司能得到这个补助。问政府的最大盈利是多少。 思路:这个就是因为可以转化为最大权闭合图来解,所以政府能的到的最大价值=总税收-(没有入标的税收+要付出的补助)。这个最大权闭合图的建图方法感觉有点固定(如下图) 转自最小割模型在信息学竞赛中的应用这篇论文。可以到我的资源那里下这篇论文

2017-09-08 17:42:01 336

原创 Codeforces 846 D Monitor(类似求面积的前缀和)

题目地址 题意:你有一个n*m的屏幕,有q个像素点会长time[i]的时间后变为坏点,当屏幕中有一个k*k的矩阵里面都是坏点的话,这块屏幕就坏了。问最少什么时间以后屏幕就坏了(PS:记住是坏了,而不是没坏),如果不存在坏的就输出-1。 思路:二分经过了多少时间后屏幕坏了,但是怎么找到这个k*k的矩阵呢?我们通过面积计算以及前缀和的思想,如果这个点在这个时间会坏就把mapp[i][j]赋为1,表明

2017-09-08 12:22:15 383

原创 Codeforces 854 D Jury Meeting(前缀和后缀)

题目地址 题意:从1~n的城市的领导要去0号城市开会,一定要全部到齐了才能开始开会,会议要开k天,给你一个每个航班的飞机票,问最小的花费是多少,如果有领导不能来或者不能走会都不能开,只能输出-1。 思路:我们通过前缀和后缀的思想,把每个时间开会和散会的代价算出来,这就是类似于前缀和的思想,当该天没有算出来,就继承前一天的代价。这样我们就能得到一个表表明了所有天数开会和散会的代价,这样最后枚举一下

2017-09-08 00:00:34 493

原创 Codeforces 846 C Four Segments(前缀和+枚举)

题目地址 题意:给你一个序列,定义一种运算sum(a,b)=num[a]+…+num[b-1],注意sum(a,a)=0。让你求出最大的res=sum(0, delim0) - sum(delim0, delim1) + sum(delim1, delim2) - sum(delim2, n) 时的delim0,delim1,delim2。 思路:用前缀和去节省每一次求区间和的时间,因为当a,b

2017-09-07 12:42:53 808

原创 Codeforces 854 C Planning(优先队列+贪心)

题目地址 题意:有个机场他因为某些原因只能在时间k以后进行起飞,起飞的顺序是可以调的,只有一个限制就是不能延误之后的时间比正常起飞的时间好要早,每个航班没延误1分钟就要多花费ki块钱,问最小的花费。 思路:贪心的思想,每次选要花费最小的,然后对于限制条件的维护就是让大于m的在过来这个时间后再往里面添加。e

2017-09-06 23:41:56 1001

原创 Codeforces 854 B Maxim Buys an Apartment

题目地址 题意:告诉你一个小区,里面有n间房子,只有有邻居的房子才能是好房子,现在告诉你有m间房子卖出去了,但是不知道房子的位置。让你求出好房子的最大数量和最小数量。 思路:最好的情况只有当n - m > m * 2时他才可能会有房子不是好房子(看下图),如果小于的话那剩下的房子都是好房子。最坏的情况就是全部靠边站,那就是1了。有两种情况需要特判,应该是房子全部卖出去了(n==m)或者没有房子卖

2017-09-06 23:10:57 491

原创 Codeforces 854 A Fraction

题目地址 题意:有个人要算出一个不可约分数的值,但是他一不小心吧除号打成了加号得到了一个n,让你求出最大的不可约分数a/b(a+b==n) 思路:因为a+b==n,但是a!=b所以a/b想最大,只能a和b越接近越好,所以从那个值开始出发,a–,b++直到gcd(a,b)==1说明他们是不可约分数就输出。

2017-09-06 22:55:34 489

原创 Codeforces 846 B MAth Show

题目地址 题意:你要运行n次大程序,每个大程序里面有m个小程序,运行程序不用管顺序,可以随意运行,只要每个小程序运行不超过n次就好了。每运行完一个小程序你可以加1分,运行完一个大程序可以附加1分。问在t的时间内,最大的分数是多少? 思路:因为数据范围比较小,所以直接暴力就好了,O(n^2)的算法。先给每个小程序的耗时排序,每次枚举完整运行多少个大程序,先把这些算完,然后剩下的就让最短时间的小程序

2017-09-06 19:55:21 509

最小割模型在信息学竞赛中的应用

最小割模型在信息学竞赛中的应用,找到的一篇写的蛮好的论文,上传给大家,你们也可以到百度上去搜,那里都有。

2017-09-08

最大流最小割

最大流最小割百度文库讲解

2017-08-24

树的基本概念及性质(下载的一篇讲的蛮好的博客html页面)

树的基本概念及性质

2017-08-21

空空如也

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

TA关注的人

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