题意:有一个N行M列的正整数矩阵,输入N个前1~N行所有元素之和,以及M个前1~M列所有元素之和。要求找一个满足这些条件,并且矩阵中的元素都是1~20之间的正整数的矩阵。输入保证有解,而且1≤N,M≤20。 解法:这题的图转换得极妙!(*^▽^*) 我们可以发现找到的矩阵需要满足3个条件:1.N行M ...
分类:
其他好文 时间:
2016-11-10 09:36:08
阅读次数:
205
Description 有 \(n\) 个技能,每次可以通过一个巫师,将一个技能转化成另一个技能,问最有最多有多少不同的技能. Sol 网络流. 先说说我一开始非常 naive 的建图,将技能拆点,中间加一列巫师, \(S\) 向初始技能连边容量为个数,对应点之间连边容量为 \(INF\),然后从拆 ...
分类:
其他好文 时间:
2016-11-04 17:14:56
阅读次数:
173
题目大意:有向图里10个点,点与点之间距离不超过9,问从1刚好走过T距离到达n的方案数。 当时看到这题就想到了某道奶牛题(戳我)。这两道题的区别就是奶牛题问的是走T条边,这道题是每条边都有一个边权求走过T边权的方案数。。。所以可以看成奶牛题相当于这一题里的边权为1的情况。 首先边权为1就把奶牛题的f ...
分类:
其他好文 时间:
2016-10-23 14:25:05
阅读次数:
209
每个点可以由a[i],走边 两种形式到达。于是拆点,在右边直连汇点,和连图中的边,从而表达了“或”的含义。 ...
分类:
其他好文 时间:
2016-09-30 01:10:33
阅读次数:
172
链接:http://vjudge.net/problem/UVA-1658 分析:把2到v-1的每个节点i拆成i和i'两个结点,中间连一条容量为1,费用为0的边,然后求1到v的流量为2的最小费用流即可。 ...
分类:
其他好文 时间:
2016-09-25 12:05:00
阅读次数:
159
比较简单的题了。 只需从左上角到右下角找两条路就可以了。 因为每个点只能走一次,所以拆点,限制流量为1。 因为求的是最大值,所以权值取反求最小值。 因为第一个点和最后一个点经过两次,只算一次,最后要减去。 ps:数组还是开大点好。。。。不知道什么时候就SB了。。。 注意汇点可能不是最后一个点(模板的 ...
分类:
其他好文 时间:
2016-09-14 20:29:43
阅读次数:
206
因为每个点只能经过一次 所以考虑拆点 这题有坑,有重边。。 KM算法 把一个点拆成入点和出点 入点在X部,出点在Y步。 如果u,v之间有路径,就在X部的u点连接Y部的v点 求完美匹配。 当完美匹配的时候,每个点都有一个入度和一个出度,可知成环。 因为完美匹配求得是最大匹配 记得把每条边权值取相反数 ...
分类:
其他好文 时间:
2016-09-13 01:25:34
阅读次数:
160
传送门:地铁 思路:拆点,最短路;拆点比较复杂,所以对边进行最短路,spfa会tle,所以改用Dijkstra(优先队列优化) 模板 ...
分类:
其他好文 时间:
2016-09-10 23:39:54
阅读次数:
237
Ombrophobic Bovines Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 18205 Accepted: 3960 Description FJ's cows really hate getting wet so m ...
分类:
其他好文 时间:
2016-09-02 21:39:27
阅读次数:
130
题目大概说有n个城市和m条航线,每条航线都是从某一时刻某一城市出发在某一时刻到达某一城市,且各条航线都有最多人数的限制。现在已知出发城市和目的地城市以及一个最终的时刻,问最多有多少人能在最终时刻前到达目的地。 这题自然会去想把城市看成点,航线看成边。这样的话城市需要按照时间拆点24*60*100=1 ...
分类:
其他好文 时间:
2016-08-05 19:28:16
阅读次数:
155