摘要:
题目大意:有m个仓库和n个商店。第i个仓库有 $a_{i}$ 货物,第j个商店需要$b_{j}$个货物。从第i个仓库运送每单位货物到第j个商店的费用为$c_{i,j}$。求出最小费用和最大费用 题解:费用流,最大费用的时候把价钱和答案都取反 卡点:1.数组开小 C++ Code: 阅读全文
摘要:
题目大意:给定一张有向图,每条边都有一个容量C和一个扩容费用W。这里扩容费用是指将容量扩大1所需的费用。 求: 1.在不扩容的情况下,1到N的最大流; 2.将1到N的最大流增加K所需的最小费用。 题解:先跑最大流,在残余网络上跑费用流 卡点:无 C++ Code: 阅读全文
摘要:
题目大意:给你一个n*m的网格图,有三种边,横的,纵的和斜的,要你求出它的最小割 题解:网络流 卡点:1.无向图,反向弧容量应和正向弧相同 C++ Code: 阅读全文
摘要:
题目大意:有n个女生,n个男生,每次一男一女跳舞。同一队只会跳一次。每个男孩最多只愿意和k个不喜欢的女孩跳舞,女孩同理。问舞会最多能有几首舞曲? 题解:二分跳了多少次舞,每次重建图,建超级原点和汇点,每个人拆点成喜欢和不喜欢两个点,之间连边,容量为mid。最后看流量与预计流量是否相同 卡点:1.超级 阅读全文
摘要:
题目大意:有n1本书,n2本练习册和n3个答案,然后又一些条件,说明某本答案可能和某本书对应,某本练习册可能和某本书对应,求最多有多少本完整的书(有书,练习册,答案) 题解:网络流,对应就连边,然后考虑一本书可能有多条边相连导致答案变大,就把书拆成两个点,边权为1 卡点:1.前向星cnt初值为0,就 阅读全文
摘要:
题目大意:有一个n*m的矩阵,每个格子一个高度,第一行可以放蓄水站,可以向四周比这格高度小的格子送水。问可不可以让第n行都有水,若可以输出最少建几个蓄水站,否则输出最少有几个格子没有水 题解:对于每个格子处理出它可以到的最左端和最右段,因为如果有解,可覆盖的区间连续,所以记忆化搜索。最后线段覆盖就好 阅读全文
摘要:
题目大意:有一些同样长的木棍,被切割成几段(长$\leqslant$50)。给出每段小木棍的长度,找出原始木棍的最小可能长度。 题解:dfs C++ Code: 阅读全文
摘要:
题目大意:有n个袜子,m个询问,每个询问给一个区间[L,R],问他有多大的概率抽到两只颜色相同的袜子题解:离线,按l所在块为第一关键字,r为第二关键字排序,然后莫队 C++ Code: 阅读全文
摘要:
题目大意:一组数,分别表示地平线的高度变化。高度值为整数,相邻高度用直线连接。找出并统计有多少个可能积水的低洼地?(首尾都为0) 题解:求出其中都多少个不严格下降子段和不严格上升子段所夹的位置,即为答案 C++ Code: 阅读全文
摘要:
题目大意:给你一个无权无向图,要你求出1到其他所有节点的最短路的条数 题解:bfs,每次查到一个节点就把该节点的ans值加上它父节点的ans值 C++ Code: 阅读全文
摘要:
题目大意:给你一个图,要你求出其中1->n路径中乘积最小的一条路 题解:用$log_2$把乘法变成加法,然后记录每个点的前驱,最后求出答案 C++ Code: 阅读全文
摘要:
T1:FUNGHI(1s,32M,50pts)得分:50 题意:给你8个数组成一个环,要你求出其中连续的4个数,让它们的和最大 题解:暴力求出每一连续4个数之和,比较一下就好 标签:模拟 C++ Code: T2:ZMIJA(1s,32M,80pts)得分:80 题意:给你一个n*m的矩阵,有一条蛇 阅读全文
摘要:
题目大意:区间静态最大值 题解:ST表,zkw线段树 ST表: st[i][j]存[i,i+$j^{2}$-1]的最大值,查询时把区间分成两个长度相同的小区间(可重复) ZKW线段树: 阅读全文
摘要:
题意:多组数据,当n为0时结束,每组数据表示有n个村子,m条路,求还需要建多少条路,使得所有的村子联通题解:用并查集求出有多少个联通块,然后求解 C++ Code: 阅读全文
摘要:
题意:在1~n中选不超过m个数,求其异或最大值 题解:经过找规律发现如果m为1,输出n,不然输出最小的不超过n的2^k-1 C++ Code: 阅读全文