自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

既然弱小,就只顾变强就是了

不想Wrong,就不要给Wrong找到理由;不后悔尝试,但愿每个尝试的结果都能Accept。

  • 博客(44)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 网路流24题

决心去做好每一道网络流24题,去理解最大流、最小费用流、最小割、……好好去体验吧,开题!开始按顺序来写了。太空飞行计划问题【网络流24题】【最小割】 这道题的精髓在于如果割哪个边,那么最后deep[]会停留在它前面的一个点,那么就可以知道被安排的是哪个点了。 还要强调一点,这个时候千万不能使用判断边的流量和容量来看,只能去判断割点的位置,不然一定会出现偏大或者偏小的情...

2019-03-18 17:02:22 409

原创 Dinic算法学至大佬,学以致用【挂上相应的题目】

这个巨佬讲的超级厉害,学起来很快,还有优化的说呢Dinic算法(研究总结,网络流)网络流是信息学竞赛中的常见类型,笔者刚学习了最大流Dinic算法,简单记录一下网络流基本概念什么是网络流在一个有向图上选择一个源点,一个汇点,每一条边上都有一个流量上限(以下称为容量),即经过这条边的流量不能超过这个上界,同时,除源点和汇点外,所有点的入流和出流都相等,而源点只有流出的流,汇点只有...

2019-03-12 19:31:08 587 3

原创 汽车加油行驶问题【网络流24题】【SPFA】

题目链接未优化前的样子,优化后可快三倍 一开始是想跑BFS()去做,但是后来发现,可以避免这样的重复进入队列中,于是,就想着优化BFS,就变成了SPFA,优化的量级还是可观的,至少在我校OJ上变成了RANK1。(才不给你们看我的User名称呢……略略略)其实也可以看作网络流: 就是单位流来做,但是没必要,建单位流的边去跑最段路,岂不是直接SPFA会更好些呢。#in...

2019-03-30 16:03:04 172

原创 汽车加油行驶问题【网络流24题】【可以使用BFS】

题目链接 这道题虽然说是网络流24题中的一题,但是我的第一想法确实去用BFS()跑一个最小的花费,但是由于加油的钱、向后走的钱、开设一个新的加油站的钱是不固定的,所以,我们需要进行相应的判断,跑所有可以达到终点的值去比较大小。#include <iostream>#include <cstdio>#include <cmath>#include...

2019-03-30 15:13:28 449

原创 火星探险问题【网络流24题】【最大流最小费用】

题目链接 处理好东西与南北的关系,然后分别建立单位流的负权价值边和INF流的0价值边,当然,遇到那些不可建边的点还要判断一下,总而言之,跟深海机器人问题解题思路差不多。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <...

2019-03-29 22:36:06 160

原创 深海机器人问题【网络流24题】【最大流最小费用】

题目链接 这道题的建边倒是不难,但是要想到的是要去建一个从一点到另一点一个流量为INF但是费用为0的边,而有价值的边的时候,我们建立的边就是流量为1,并且费用为负价值的边。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include &l...

2019-03-29 09:08:43 228

原创 骑士共存问题【网络流24题】【最大流最小割+最大独立集】

题目链接 关于这一道题,我联想到的解法是之前做的方格取数问题,都是用到了一样的思路,我们还是一样将点分为两种类型,目的在于区分能相互攻击的分在两边,一边保证了同奇偶,就是为了保证各侧的骑士们都是可以和平共处的骑士们,因为走的图是“日”,所以,保证同奇偶即可。 我们同样的,从偶数点去匹配对应的奇数点,让它们互相冲突的只能存在一个,也就是去计算最多的骑士可以保留的个数。相互冲突的话,只能留...

2019-03-27 20:29:56 461

原创 分配问题【网络流24题】【最大流最小费用+最大费用】

题目链接 模板题,直接建边,然后跑最大流最小费用。可以看一下代码。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#include <algorithm>#include &lt...

2019-03-26 22:08:52 235

原创 运输问题【网络流24题】【最大流最小费用+最大费用】

题目链接 一道简单的模板题了,在跑最大费用的时候得去考虑将每条边赋为负值,然后再跑最小费用才行。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#include <algorithm&g...

2019-03-26 19:59:14 512

原创 负载平衡问题【网络流24题】【最大流最小费用】

题目链接 注意题意:环形——不然怎么也算不明白为什么样例是那样的…… 发现这道题竟然是一道费用流,是因为移动每一个货物可以看成是挪动一次代价为1,这样子想就可以建边了,从源点出发到每个节点是每个节点的拥有数,而每个节点到汇点的容量是那个平均数。然后对于每个相邻的节点连接上边并且单位流的代价是1。#include <iostream>#include <cst...

2019-03-26 18:47:04 303

原创 数字梯形问题【网络流24题】【最大流最小费用求最大费用】

题目链接这个题目链接就比较水了,具体下面会说 这道题的题意倒是很好理解,但是怎么建边思索了我几天,于是有了这样子的想法。 先是解决怎么处理最大费用的问题,看过网上的一些博主写的,直接利用SPFA去跑最大费用,在洛谷这个平台提交的话会一直WA在第2组,后来我尝试着换种写法于是才过,那么这第二组到底是什么个情况呢?这组数据就是卡了直接跑最大费用的情况,所以,我们得换着处理这个问题,不妨...

2019-03-26 09:14:47 201

原创 软件补丁问题【网络流24题】【最短路+状态压缩】

题目链接 不知道为什么一道我看起来是spfa跑最段路的题目会放在网络流这个板块上面,毕竟N≤20,那么最多也就是1e6左右的点的状态,那么直接就是去跑一个最段路岂不是也可以,我们从满状态(全都是病毒)向0状态(病毒都修复完了)去跑,然后去取最段路即可,如果最后终点的值还是INF,那么就是说明它还是没有跑到终点的办法。#include <iostream>#include ...

2019-03-23 21:26:29 109

原创 餐巾计划问题【网络流24题】【最大流最小费用】

题目链接 一道普通的最大流最小费用的题,我们需要考虑的是这样的情况:第i天的旧餐巾我们该怎么处理?我们知道可以退后m天去快洗,然后在第i+m天再次使用它花费f元,另外的方法就是在推后n天去慢洗,花费的s元,但是我们要是遇到刚好那天在这段区间内的怎么办,我们不如就加上一组无条件推后一天的情况。 那么,我们可以这么去建边,从源点开始,连上一天流量为当天使用的旧餐巾的数目的边,再连上一天流量...

2019-03-23 09:56:20 185

原创 方格取数问题【网络流24题】【最大流+最小割+点覆盖模型】

题目链接另外一个提交链接 这道题要是不看别的博主的说明的话,根本就想不到,用到了所谓的点覆盖模型,点覆盖模型的略微解释:两相邻点只能取其中一点,存在着这样的限制的取点方法就是了。 那么,我们该如何去解?看了大牛的博客,然后模拟了一下,才知道大致应该怎么做,当然,思维的确好好,我们将点分为黑白点,其中,黑点的周围都是白点,同样的,白点的周围的点都是黑点,我们利用这样的方式来解这个问题...

2019-03-22 14:04:29 487

原创 试题库问题【网络流24题】【最大流Dinic】

题目链接 还是挺好的一道题,但是可能我写题的顺序缘故,并不觉得这道题会比之前的题难,既然最后答案要判断是否为M,那么就是问的是最大流的值是否为M,这样子只需要考虑的是最大流的值即可了,我们接下去判断,怎么建边就是个问题了,一共有K个点是所谓 的出题的每个种类的要求的点,然后还有N个是所有的题目的点,然后根据每道题的范围,在对题目种类连接上一条容量为1的边,然后再通过K个点与汇点链接上容量为其...

2019-03-21 21:56:25 204

原创 最长不下降子序列问题【网络流24题】【最大流+LIS+思路】

题目链接【数据太水了,的确是水,换个平台吧】这个平台的数据要多的多……被Hack了,我再改(题意有差!!!还是没被Hack掉)这道题坦白的说,有在猜测的成分,然后猜出来的过程…… RP爆发! 真的,基本上不是想出来,而是猜了可能性,然后再去特判一下就过了,挺神奇的不是吗? 一开始用LIS(dp[])去先得到最长不下降子序列的长度,然后我们以它为基础去接下去判断(2)、(3)问的...

2019-03-20 21:35:03 329

原创 圆桌问题【网络流24题】【最大流Dinic】

题目链接 为了让每个不同地方来的代表都分开来,所以我们要这么建边,从起点到每个代表都是建一条边权为人数的路径,然后再由代表出发,对每个餐桌建立边权为1的流,再由餐桌链接上汇点,此时的流是餐桌的容纳人数。#include <iostream>#include <cstdio>#include <cmath>#include <string&...

2019-03-20 19:41:42 177

原创 魔术球问题【网络流24题】【最大流Dinic+隐式图推理+拆点建边】

题目链接 这道题目当真是很好,我推了两天然后有了个这样的思路(期间BUG找了半天左右、思路大致也是想了半天)…… 呜呜呜,好难呐的说呢。 这里因为点只有50个,所以我用了一种新的思路来接近最大值(其实最后推完之后会发现,到N=50的时候,也就1300不到的),虽然我数组开的很大(因为我一开始是不确定大小的,保险起见,甚至还无限的逼近了时间复杂度),这道题的主心骨就是:最小边覆盖 =...

2019-03-20 17:25:51 113

原创 最小路径覆盖问题【网路流24题】【最大流+题意+建边思路】

题目链接 可以说是这道题的简化版了,这道题就是题意太难理解了,但是说的通俗易懂一些就是,我们最少用几条链,可以覆盖完所有的点? 那么,怎么建边呢,不如就是这样:我们建立这样的穷情况"S -> i"、"i + N -> T",然后若是遇到"i可以联通j的情况",我们这么建边"i -> j+N"这样子就可以了,可以自己画图就理解了呢。#include <ios...

2019-03-18 21:02:56 132

原创 太空飞行计划问题【网络流24题】【最小割】

题目链接 思路:很多人应该是不解为什么最后返回得到的不是那些正向边"S -&gt; 实验"有流量的边?为什么是那些所谓的还能够bfs()搜索下去到的节点,这就是反映出来的割点的关系了,一开始不懂,一直WA,都是因为直接输出了正向权大于0的那些实验的,然后再以这些实验去找寻对应的器材,但是这样做显然还是不符合的,我们可以考虑成,如果要选实验,那么显然就不能割实验,得去割器材,反之,如果割了实验...

2019-03-18 16:53:01 166

原创 Island Transport 【HDU - 4280】【最大流Dinic+当前弧优化】

题目链接 先给大家讲一下什么是当前弧优化,就是一个节点从后往前去减的时候,我们很多时候通过dfs()的方式已经榨干了这条路,但是如果下一次我们还是要从它开始寻的话岂不是去浪费时间,不如去记录下来我们压榨到了第几条边了,这样子会好得多了,至少从TLE变成了G++卡过去的AC了。 这道题本身是没有什么难度的建边的,但是却存在卡时间这样的操作,所以,我们是需要做出一些优化来操作的。——当前弧...

2019-03-16 22:36:03 193

原创 星际竞速 【HYSBZ - 1927】【最大流最小费用+建边思路】

BZOJ题目链接VJ题目链接此处打上提示:以后千万别忘了建反向的负边,WA了好多发了!!!牢记! 这道题的难点就在于建边了,期间WA了好多发,一开始想的是S-&gt;i-&gt;i+N-&gt;T,其中"i -&gt; i+N"是用来限流的。但是这样写完之后跑出来,发现永远测试样例跑出来都是201,完全就没有那些跳转的M条边。 那么,怎么办呢?我们还是要限流,但是换一种方式,我...

2019-03-16 17:02:16 171

原创 Farm Tour 【POJ - 2135】【最大流最小费用】

题目链接 这道题就是在说,我们需要跑一圈(不能经过相同的路径),问最小经历的权值是多少? 不过是建一次最大流最小费用,但是这道题有坑点,因为是无向边,所以建边不能简单的去建,要考虑很多的东西,我们可以这样子建边:a&lt;--&gt;b的边:a-&gt;b flow, cost;b-&gt;a flow, - cost;b-&gt;a flow, cost;a-&g...

2019-03-16 10:41:25 154

原创 Minimum Cost 【POJ - 2516】【最大流最小费用模板题】

题目链接 有N个商家它们需要货物源,还有M个货物供应商,N个商家需要K种物品,每种物品都有对应的需求量,M个商家每种物品都是对应的存货,然后再是K个N*M的矩阵表示了K个物品从供货商运送到商家的单位上的价钱,那么就是标准的最大流最小费用了,我们只需要建立这样的边,对于所有的供应商都与源点建立流的大小为拥有的个数的边、与商家建立无穷大的边并且边的代价是单位流的代价,然后再由商家出发到达汇点建立...

2019-03-15 22:56:22 210

原创 A Plug for UNIX 【POJ - 1087】【网络流Dinic】

题目链接 题意:这道题的题面确实是太长了,但是看了一下样例,再推就是这么个意思(看样例猜题意猜中系列),题意是这样的,有N个插座(可能有些用电器是没有已经提供的插座的,需要转接),但是每个列写出来的插座的个数只有一个,以及M个用电器它们都有对应的唯一的指定插座,还有K个转接方式,转接线可以无限次使用,要问的是最少有多少的用电器是没法供上电的。 思路:我们可以这么考虑,从源点给予每个插座...

2019-03-14 15:19:56 154

原创 Dining 【POJ - 3281】【网络流Dinic模板题】

题目链接 这一道题就是要理解网络流的思想,然后去做到限流即可,因为牛的数量只有一头的,必须去做到限流才能继续跑。#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;cmath&gt;#include &lt;string&gt;#include &lt;cstring&gt;#include &lt;alg...

2019-03-13 19:55:14 220

原创 ACM Computer Factory 【POJ - 3436】【网络流Dinic+题意】

题目链接 题意还能再复杂一些嘛,当真没想到竟然是效率,还以为是几台机器的拼接来达到一台合适的机器……呜呜呜QAQ。 题意+思路:有N个机器人,他们可以将P种零件加工成新的P种零件,对于需要的P种零件,需要满足这样的条件,0必须不存在、1必须存在、2无所谓系列。然后,就可以把这P种零件加工成新的P种零件,那么不就是这样的不断的建立边,把始末位置对应上去,然后每个点和自己建立一条边,用来限...

2019-03-13 17:04:39 277

原创 Searching the String 【ZOJ - 3228】【AC自动机+last跳板优化时间】

题目链接 这次要求的有两个,分别是0、1,代表着的是可以重叠,以及不可以重叠的遍历到该单词的次数,可以重叠的很容易,遇到的时候,就直接加上就是了,但是不可以重叠的时候呢,就需要看到该单词它和上一次的状态出现的距离差了,看一下是否比这个单词长即可。 然后我看了一下这个,就想到需要不断的向前fail,但是由于可能fail的无效次数太多,所以就用了last跳板,但是最后发现只优化了100+m...

2019-03-11 22:15:34 305

原创 Ring 【HDU - 2296】【AC自动机+静态+DP】

题目链接之前写的题解报告,第二次写了,多了些理解了——能再多给点AC吗?不止是题目…… 有段时间没有去碰AC自动机了,于是乎写了这道题(其实是放松一下心态之用的,最近好多的大起大落……QAQ) 无非就是在这道题的时候,注意一下,重叠也是有效的,所以要考虑到重合的情况,也就是下推fail指针的时候,要去注意重叠的部分,向上加就是了。 然后就是一个DP[长度][状态(自动机...

2019-03-11 17:11:53 168

原创 Fountains 【CodeForces - 799C】【线段树】

题目链接 这道题一开始让我懵了好一会,原来是要恰好两座喷泉才可以计算最优解的说。 有如下N个方案,每个方案有那么些值,譬如说按照输入顺序分别是:美观度、价格、货币的种类。我们要求的是这样子的情况,我们有两种货币各自C、D个,求的是以手上的钱,最多的美观度的和是多少? 那么,不如就直接去求,因为货币数量最多达到1e5,所以,我们可以直接用线段树的方式来解这道题,区间上是该种货币的价...

2019-03-11 15:32:53 145

原创 Cloud Computing 【CodeForces - 1070C】【线段树+思维】

题目链接 题意:有这样连续的N天,每一天为了公司的运营,需要消耗的是K个CPU核心零件,我们有M个生产厂家,他们分别有这样的规则:在[l, r]这几天里工作,每天能捣鼓出最多C个零件,每个零件的售价是P元,问的是这N天最少需要消耗的金钱总数。 思路:遇到这样的天数问题,又有多个条件,想到的就是利用差分的思想来存,在第L天的时候存入,第R+1天的时候取出,然后,我们可以看到价值的上限是1...

2019-03-10 17:32:04 206

原创 Present 【CodeForces - 460C】【线段树+二分答案】

题目链接 这道题问的就是有N朵花,可以浇水M天,每天可以浇连续区间长度为W的水,问花的最小值的最大情况是多少? 不妨去二分答案这样的最小值,然后为了节约时间,可以利用线段树来更新,时间复杂度就下降到了O(N * log(INT_MAX)*logN)可以行。 具体代码是这样的:#include &lt;iostream&gt;#include &lt;cstdio&gt;...

2019-03-09 21:26:53 210

原创 Glass Carving 【CodeForces - 527C】【线段树】

题目链接 求的是在这个W*H的长方形中,每次有这样的一个操作,在某一行、列划一条细线,分割出几个矩形块,问的是最大的矩形块的面积。 一道线段树的题,这里我们需要开两个来做,分别存放横竖的连续性,因为横竖的连续性相互之间是不影响的,然后就是线段树连续的一道基本题了。#include &lt;iostream&gt;#include &lt;cstdio&gt;#include ...

2019-03-09 17:51:45 214

原创 Maze 2D 【CodeForces - 413E】【线段树+状态转移思维】

题目链接 这道题不能直接用dp[][]等方式来寄存数据,所以得想办法去进行优化,于是乎,就是想到了线段树的优化作用,我们可以这样子去推一个状态转移,如图:最后拍照下来的图像是反的…… QAQ…… 但就是这样的一个意思,我们可以这样去推状态方程,然后记录在线段树上面即可。 具体可以参考一下代码。#include &lt;iostream&gt;#inclu...

2019-03-08 21:59:39 325

原创 Level up 【HDU - 3954】【线段树+思维】

题目链接 不错的题呀,好几发才过,一开始的时候,我的想法是去查询是否整个区间都达到了等级K,然后都达到了等级K之后就是直接都不断的往上涨就是了——结局肯定是TLE,都不需要多想(但是我还是尝试了一发!)。 那么接下去怎么进行优化呢?上面的这个做法说明出了一个问题就是存在了过程中会有很高的复杂度,就是我们要去优化的是在每个等级时候的状态,不要看到就直接更新到叶子节点。于是乎就变成了怎样去...

2019-03-08 15:56:48 133

原创 Propagating tree 【CodeForces - 383C】【线段树+树链剖分】

题目链接题意:有一颗 N 个节点的树,树根编号为 1。树的每个节点有一个权值 A_i,树上有 N-1 条边 (u_i, v_i)。现在,你要对这棵树进行 Q 次 下列操作之一。操作1:选定一个节点 x,将其权值加上 val,将其儿子的权值减去 val,将其儿子的儿子的权值加上 val … 加减操作会在叶节点完成后终止。操作2:询问节点 x 的点权。思路: 既然有这样的更...

2019-03-06 21:06:38 230

原创 Bash and a Tough Math Puzzle 【CodeForces - 914D】【线段树】

题目链接 有两种操作:1、询问[l, r]区间内改变一个数,是否可以将它的gcd()的值变成x;2、将i位置上的值改变成y。 然后怎么去处理gcd(),因为可以改变一个,那么线段树去查询这个区间最少要改变的数的个数不就可以了。#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;cmath&gt;#...

2019-03-06 19:02:59 217

原创 Xenia and Bit Operations 【CodeForces - 339D】【线段树+位运算】

题目链接 这道题难理解也就在于题意了,题目要求的是对于原来的这个数(一共(1&lt;&lt;N)个数)进行两两之间先或运算再亦或运算,因为数的个数刚好是2^N次,所以直接就是一个完全二叉树,直接线段树的做法即可了。 每个查询会改变某一点的值,然后输出整个的答案。#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &...

2019-03-06 13:30:10 269

原创 Circular RMQ 【CodeForces - 52C】【线段树+区间更新水题】

题目链接 实际是一道线段树的模板题,就是区间更新变成两头更新而已了,多更新一次。#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;cmath&gt;#include &lt;string&gt;#include &lt;cstring&gt;#include &lt;algorithm&gt;#incl...

2019-03-05 21:42:58 266

原创 Points 【CodeForces - 19D】【线段树+思维+离散化】

题目链接 好题!至少在线段树上面又有了新的想法。 一开始的做法是写了Splay树,然后答案就是找合法后继,但是时间复杂度略高(TLE在第30组)——后面有相应的代码附上(想看的可以看一下哦,当作学习Splay还是不错的),之后就是一直在不断的进行优化,然后过程之中,想到了既然要维护二维图上符合这个条件的下一个节点,不妨就去离散化,然后去寻找这样的符合条件的节点。 这么应该怎么去写...

2019-03-05 21:15:59 171

74LS90的功能表.doc

74LS90的简介。功能以及其引脚的作用。包括其作用,对应的功能表,74LS90为中规模TTL集成计数器,可实现二分频、五分频和十分频等功能,它由一个二进制计数器和一个五进制计数器构成。

2019-05-10

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

TA关注的人

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