随笔分类 -  图论

摘要:【题意】: 有N个人,M个仓库,每个人需要物品,个数都等于共同的K,仓库中有对应的K件物品的数量,随后给K个N*M矩阵(小写k, n, m表示K,N,M对应的子集),表明m个仓库到第n个人的位置运送k物品的花费,求 满足所有人的订单要求所需要的花费,如果不能满足所有人则输出-1 【思路】: 我的思路 阅读全文
posted @ 2019-10-14 14:54 CoffeeCati 阅读(149) 评论(0) 推荐(0)
摘要:论文出处:最小割模型在信息学竞赛终的应用 阅读全文
posted @ 2019-10-12 19:43 CoffeeCati 阅读(160) 评论(0) 推荐(0)
摘要:【题目链接】 【思路】: 涉及到树上区间修改操作,所以使用树链剖分,涉及到区间查询,所以使用线段树。 update操作时,就正常操作,难点在于query操作的计数。 因为树链剖分的dfs序只能保证一条重链上的dfn[]连续,不能使得任意两点之间简单路径上的dfn[]连续,所以当x往上跳到fa[top 阅读全文
posted @ 2019-07-23 11:02 CoffeeCati 阅读(161) 评论(0) 推荐(0)
摘要:【题意】: 有N个结点M条边的图,有Q次操作,每次操作在点x, y之间加一条边,加完E(x, y)后还有几个桥(割边),每次操作会累积,影响下一次操作。 【思路】: 先用Tarjan求出一开始总的桥的数量,然后求边双联通分量并记录每个结点v所属的连通分量号c[v],之后进行缩点,将每个双联通分量作为 阅读全文
posted @ 2019-07-12 16:43 CoffeeCati 阅读(190) 评论(0) 推荐(0)
摘要:乍一看题意比较麻烦,好像要删点求联通性,但其实是相当于求以某一个节点为根时,他的所有后代(儿子,儿子的儿子等等)的儿子的总和最大。 两边dfs即可,第一遍dfs随便找一个点为根,求出每个节点的儿子数siz[],第二遍dfs以每个点作为根更新ans。 这里注意:如果u为根,u是v的父亲,且此时u后代的 阅读全文
posted @ 2019-07-10 16:38 CoffeeCati 阅读(221) 评论(0) 推荐(0)
摘要:【题意】: 有N个房间,M条有向边,问能否毫无顾虑的随机选两个点x, y,使从①x到达y,或者,②从y到达x,一定至少有一条成立。注意是或者,不是且。 【思路】: 先考虑,x->y或者y->x是什么意思,如果是且的话就简单了,就直接判断整个图是不是强联通图即可,但是这道题是或,那么可以随手画出一个D 阅读全文
posted @ 2019-07-10 15:18 CoffeeCati 阅读(189) 评论(0) 推荐(0)
摘要:题意: 有n个圆,每个圆的中心和半径和一个频率都给定,只有一个频率最高的789为紫色,只有一个最低的400为红色,规则如下: 1.当两个圆严格相交时,且人是从红色到紫色的方向运动时可以由低频率向高频率移动 2.当两个圆严格相交时,且人是从紫色到红色的方向运动时可以由高频率向低频率运动 3.除了红色的 阅读全文
posted @ 2019-07-06 17:39 CoffeeCati 阅读(179) 评论(0) 推荐(0)
摘要:【题意】: 有N个人,M个星球,给N*M矩阵,(i, j)为1代表i可以到j星球,0代表不能,问是否能把所有人转移走。 【思路】: N的范围为1e6,如果让每个人与星球连边一定TLE,再根据矩阵每一行只有0,1可以进行状压,把相同状态idx的人合并到数组siz[idx], 在扫描状态,与符合条件的星 阅读全文
posted @ 2019-06-16 16:34 CoffeeCati 阅读(161) 评论(0) 推荐(0)
摘要:【题意】: 有一个烤箱,烤箱在一个时刻最多考M个肉串,N个顾客,每个顾客有属性s,n,e,t s是来的时间,n是想要的肉串数量,e是最晚离开的时间,t是烤的时间(几分熟)。 顾客的烤肉可以分开烤,比如一串烤肉烤的时间是t,那么分成t分就可以在1的时间内烤完。问能否满足所有的顾客。 很像HDU3527 阅读全文
posted @ 2019-06-11 17:34 CoffeeCati 阅读(234) 评论(0) 推荐(0)
摘要:这道题一定要写一下,卡了好久。 题意: 有黑白两种方格,最上边一行和最左边一列一定是黑色,然后其余的地方有可能是黑色,有可能是白色,和白色相邻的黑色方格里有数字(1个或2个), 现在要求在白色方格里填1~9中的一个数字,使得一个黑色方格下边的数字 = sigma(该黑色方格下边白色方格数字) 这个s 阅读全文
posted @ 2019-06-09 00:49 CoffeeCati 阅读(210) 评论(0) 推荐(0)
摘要:题意: 给两个n*m大小的图,第一个图上都是数字(0-3),每个数字代表一开时该坐标(i, j)上的柱子在第几次跳跃之后倒塌,0代表该位置上没有柱子,蜥蜴不能走没有柱子的地方; 第二个图由两种符号'L'和'.'组成,'L'代表此处有一个lizard(蜥蜴),'.'代表没有蜥蜴。在同一时刻, 每个点上 阅读全文
posted @ 2019-06-06 00:51 CoffeeCati 阅读(163) 评论(0) 推荐(0)
摘要:题意: 有N个任务M个机器,给每个任务i完成所花费的时间Pi且每个任务要在第Si天后开始,在第Ei天前结束,保证任务在(S,E)之间一定能完成。 每个机器在一天里只能运行一个任务,一个任务可以在中途更换机器继续执行,问有没有一种安排时间的方式使得全部任务都完成。 (第一时间看不出来是最大流啊!!) 阅读全文
posted @ 2019-06-04 16:38 CoffeeCati 阅读(250) 评论(0) 推荐(0)
摘要:第一道最小割的题目啊,还不是很熟悉,慢慢消化吧。 学习这种建图的方式和题解链接https://blog.csdn.net/blackjack_/article/details/73607561 题解我就不写了,暂时还讲不出来。。。 阅读全文
posted @ 2019-06-01 15:59 CoffeeCati 阅读(151) 评论(0) 推荐(0)
摘要:题意:表面乍一看output是输出最小值,但仔细研究可以发现,这个最小值是从点1到所有点所花时间的最小值,其实是访问这些节点中的最大值,因为只有访问了最长时间的那个点才算访问了所有点。所以求最短路之后求最大值。 阅读全文
posted @ 2019-05-30 00:51 CoffeeCati 阅读(314) 评论(0) 推荐(0)
摘要:题意:给m条路(S,E,T)代表点S、E之间双向边权重为T,紧接着给W个虫洞(S,E,T)代表S到E的有向边可以回到T秒前即权重为-T,问能不能通过虫洞看到看到初始的自己,即能不能回到初始点所在的时间点之前,即求是否存在负环。 代码细节就不多赘述了,spfa 阅读全文
posted @ 2019-05-30 00:01 CoffeeCati 阅读(138) 评论(0) 推荐(0)
摘要:题意:有m个货币交换点,每个点只能有两种货币的互相交换,且要给佣金,给定一开始的货币类型和货币数量,问若干次交换后能否让钱增加。 思路:spfa求最长路,判断是否存在正环,如果存在则钱可以在环中一直增加,最后的钱肯定也是增加的。 阅读全文
posted @ 2019-05-28 13:13 CoffeeCati 阅读(285) 评论(0) 推荐(0)
摘要:非常感谢kuangbin专题啊,这道题一开始模拟邻接表做的,反向边不好处理,邻接矩阵的话舒服多了。 题意:给n头牛和m条有向边,每头牛1~n编号,求所有牛中到x编号去的最短路+回来的最短路的最大值。 阅读全文
posted @ 2019-05-27 18:52 CoffeeCati 阅读(136) 评论(0) 推荐(0)
摘要:题意: 求1到n路径上最大的最小值。 原因:样例输入 1 3 3 1 2 3 1 3 4 2 3 5 1-2最多可以运输3,2-3可最多以运输5,但是2的来源只有3,所以路径1-2-3上能运输的量为3 1-3可以运输4,所以结果就是4。 可以很明显的看出一条路径上能够运输的最大值与该路径上最小的边相 阅读全文
posted @ 2019-05-24 13:17 CoffeeCati 阅读(357) 评论(0) 推荐(0)
摘要:这道题最后没过,估计是痛失省一了,现在来补一下,当时思路是对的应该是代码出了问题导致样例没过最后nc的除了2,一直WA 题意: 给一张联通图,有两个导航系统,其中一个系统认为第i条边的权值是Pi,另一个系统认为是Qi(给定Pi和Qi),然后每个导航系统对于每条边i有个判定 其中一个是hero(vi) 阅读全文
posted @ 2019-05-23 15:31 CoffeeCati 阅读(1324) 评论(0) 推荐(0)
摘要:思路: 最小生成树是瓶颈生成树,瓶颈生成树满足最大边最小。 数据量较小,所以只需要通过Kruskal,将边按权值从小到大排序,枚举最小边求最小生成树,时间复杂度为O( nm(logm) ) 阅读全文
posted @ 2019-05-22 15:16 CoffeeCati 阅读(285) 评论(0) 推荐(0)