上一页 1 2 3 4 5 6 7 8 9 ··· 22 下一页
摘要: link 挺有意义的一道题,把最大权闭合子图和拓扑排序结合了起来。 问题可以分成两个部分。可以如此描述:每个点可以被攻击当且仅当所有可以保护它的点(认为右边的点也可以保护它)都被攻击,点有点权,求最大选择方案。把每个可以保护某个点的点作为这个点的后继,那么问题就成了选择这个点就一定要选择它的后继(反 阅读全文
posted @ 2022-07-17 17:36 Feyn618 阅读(15) 评论(0) 推荐(0) 编辑
摘要: link 对偶图的学习笔记。 首先这道题要求的是一个最小割,但数据范围太大写最小割会爆炸。于是按照题解中的天才思路考虑把平面内某个由点围成的区域看成一个点,然后这些点之间的连边可以和原图中的边一一对应,而且相交。选好源汇点之后就可以看成是在新图上跑一个最短路,因为这条路上每一条边都对应原图上一条边, 阅读全文
posted @ 2022-07-17 17:36 Feyn618 阅读(10) 评论(0) 推荐(0) 编辑
摘要: link 一道挺基础的最小割。 按照克鲁斯卡算法的流程,一条边被加入最小生成树当且仅当排名排在它前面的边无法构成一个合格的生成树,而且这条边可以连接两个联通块。于是问题就变成了小于那条边的所有边中最少去除多少条边就可以使得两个点属于两个联通快。于是就是最小割的板子了,可能在最大生成树中解法也是一样的 阅读全文
posted @ 2022-07-17 17:27 Feyn618 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 把板子挂在这里,以后要用下载即可。string转number似乎要手写一个函数来处理,但总比char数组来得方便些(某些情况下)。其它的没什么,重要的是如果读取答案一部分就可以判断答案正确也必须把所有内容全部读完,否则会直接返回wrong的讯息。 板子:download 阅读全文
posted @ 2022-07-17 14:17 Feyn618 阅读(29) 评论(0) 推荐(0) 编辑
摘要: sscanf是用来读取字符串中数字的一种简便方法,当然手写一个函数也可以,但有一个无法处理string的缺陷。用法如下: char w[10]="123"; int a; sscanf(w,"%d",&a);printf("%d\n",a); sscanf(w,"%2d",&a);printf("% 阅读全文
posted @ 2022-07-17 14:15 Feyn618 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 偶然得知了一个事,是什么易烊千玺、胡先煦等人可能存在特权考编的行为。本来这种事情应该见怪不怪,娱乐圈本来就乱,能有什么大不了的,什么堕胎代孕啥的违反人类道德底线的实行频出不穷,况且这种特权行为在这个世界上还少了吗。而且说实话个人对这两个演员没有什么坏印象,易烊千玺听说很多女生喜欢但我自己没有看过他出 阅读全文
posted @ 2022-07-16 21:36 Feyn618 阅读(14) 评论(0) 推荐(0) 编辑
摘要: link 洛谷上的板子被合并了。不是很妙。 直接说整体流程吧。第一步统计每个点出流量和入流量的差值,如果出的多就从源点向出点连边,否则就向汇点连边。然后原图上每条边都重新赋值为上下流量之差,跑最大流,如果源汇点都能流满说明存在可行流,需要注意的是要额外连一条从原汇点到原源点的无限边以维护流量的平衡。 阅读全文
posted @ 2022-07-16 16:19 Feyn618 阅读(88) 评论(0) 推荐(0) 编辑
摘要: link 比较基础的题目。 由于一个数只能被使用一次,考虑拆点,然后在可能转移的节点之间连边。由于所求的LIS长度一定,所以源点只能连 1 点,同时只有值为 LIS 的点才能连向汇点(其实这种情况两边卡死是很好做的,就怕它搞什么两边留空),这样跑出来的一定是特定长度的 LIS,跑最大流即可。对于第三 阅读全文
posted @ 2022-07-14 17:30 Feyn618 阅读(24) 评论(0) 推荐(0) 编辑
摘要: link 这道题的主要价值在于用到了一种重要的思想,即对费用提前计算。 假如这道题没有等待的时间,那么就是一个二分图最小匹配问题,用费用流跑一下即可。但它有等待时间,而每个人的等待时间和他前面的所有人是谁都有关系,这就造成了大大的困扰。于是考虑对费用提前计算,因为每个人使后来人等待的时间只和他后面的 阅读全文
posted @ 2022-07-14 16:31 Feyn618 阅读(19) 评论(0) 推荐(0) 编辑
摘要: link 个人感觉建模方式比较奇怪,之前还没有做到过这样建模的题目。大开眼界。 第一个问题是如何让流分身。假如一个流只服务一个节点那么直接上费用流,如果一个流只服务两个节点那么多半是二分图的方式建模,但这道题里它一个流服务很多节点,而且这些节点的集合有大大的交集,这意味着我们必须想新方式。想到让一个 阅读全文
posted @ 2022-07-14 16:22 Feyn618 阅读(49) 评论(0) 推荐(0) 编辑
摘要: link 极好的状压DP,提供了一种状压的写法。 令人难受的是这道题由于芯片可能会占据三行的空间,所以要用到三进制,而由于某些不可抗因素三进制是不能直接使用位运算来取出的。然后就考虑用 $f[i][j]$ 来代表第 i 行状态是 j 方案数。这样显然会超时,但一个显然的优化是每一行的合法状态是不多的 阅读全文
posted @ 2022-07-14 16:12 Feyn618 阅读(14) 评论(0) 推荐(0) 编辑
摘要: link 很巧妙的题。可以用上下界网络流来写但我不想。 正着推不是很好处理,因为正着那就是限定边的流量下界,还不如用上下界网络流呢。考虑反着来,先把每个不是障碍点的地方摆上士兵,可以计算出每一行和列的士兵人数,这样就可以找出每一行和列最多可以删除的士兵数量,这不就限定了流量的上界了吗。考虑每个流量都 阅读全文
posted @ 2022-07-14 16:04 Feyn618 阅读(10) 评论(0) 推荐(0) 编辑
摘要: link 一道可以认为是很简单的题目。 每次比赛所有孩子的总卡片数都会加二,所以考虑建立比赛节点和孩子节点,孩子节点连汇点上界是最后的卡片数(流量太多就是孩子赢得太多,那么多余的卡片去哪了呢?细思极恐),比赛节点连源点上界是二。然后就很简单了,跑完之后找出每个孩子在那些比赛中得到的卡片,然后剩下的卡 阅读全文
posted @ 2022-07-14 16:00 Feyn618 阅读(17) 评论(0) 推荐(0) 编辑
摘要: link 一道构造题,验证的过程用到了网络流。 数据范围不大,考虑枚举中心点是谁,然后就考虑暴力补齐中心点和周围点的边,补齐过程扫描一遍统计边数即可,注意需要的边数是 $2m-1$ ,导致我卡了一会。然后对于周围的点,由于每个点已经被强制夺去了一个出度和一个入度,那么每个点就还需要一个出边和一个入边 阅读全文
posted @ 2022-07-14 15:56 Feyn618 阅读(21) 评论(0) 推荐(0) 编辑
摘要: link 题目不难但是有坑点,详见我发的那个“警示后人”。 就是跑二分图最大匹配,对价值取反之后就变成了最小费用最大流的板子了,注意读题直接跑费用流即可。然而我这个蒟蒻还很是调了一会。 #include<bits/stdc++.h> //#define feyn #define int long l 阅读全文
posted @ 2022-07-14 15:50 Feyn618 阅读(21) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 22 下一页