bzoj1070题解
摘要:【解题思路】 考虑拆点,得到一个二分图:左边点<i,j>表示第i个技师按顺序第j辆修的车,右边点k表示第k个车主,连接左右的边表示第k个车主可能成为第i个技师的第j个客户。 因为是二分图,所以直接跑KM即可,复杂度O(n3m);或者考虑费用流,左图都和源点连边,右图都和汇点连边,容费均为1,跑个流即
阅读全文
bzoj1061题解
摘要:【解题思路】 设类型i的志愿者,即第Si天~第Ti天工作的志愿者,共招募xi个,于是有不等式组Σxj≥Ai(Sj≤i≤Tj)。 这样,题目就变成了求一组满足一次不等式组的xi,使ΣCixi最小,即标准的线性规划形式。 本人比较懒。。并不想建图跑费用流之类的。。于是写了单纯形。。复杂度O(松)。 【参
阅读全文
bzoj1059题解
摘要:【解题思路】 因为只要验证可行性,所以考虑行和考虑列是等价的,故我们只考虑行的交换操作。 这样,拆一波点,把每一行拆成两个点,左边为原交换行,右边为目标交换行,原问题等价于能否对这个二分图进行完全匹配,题中给定邻接矩阵即为二分图的邻接矩阵。 于是直接匈牙利一波,复杂度O(n3)。 【参考代码】 1
阅读全文
bzoj1053题解
摘要:【题意分析】 本题中,x被称为反质数,当且仅当没有任意一个严格小于x的正整数的约数个数大于x的约数个数。求不超过N的最大反质数。 【解题思路】 数据范围中最大的N=2*109。 首先可以证明,不超过N的反质数不会拥有9个以上的不同质因数。因为2*3*5*7*11*13*17*19*23*29=646
阅读全文
bzoj1051题解
摘要:【题意分析】 给你一张有向图,求有多少个点,满足以其他任意一点为起点都能到达该点。 【解题思路】 如果这张有向图不连通,则一定没有点能被其他所有点到达,答案为0。 然后先用tarjan缩一波强连通分量,因为每个强连通分量中任意两点能相互到达,所以整体可以看成一个点。 因为已经保证图的连通性,所以只要
阅读全文