摘要: 题意 有个项目需要 \(N\) 天才能完成,其中第 \(i\) 天至少需要 \(A_i\) 个人。 一共有 \(M\) 类志愿者可以招募。其中第 \(i\) 类可以从第 \(S_i\) 天工作到第 \(T_i\) 天,招募费用是每人 \(C_i\) 元。 求能招募足够的志愿者的最少费用。 数据保证一 阅读全文
posted @ 2021-02-18 23:15 pbc的成长之路 阅读(77) 评论(0) 推荐(0)
摘要: 题意 一个餐厅在相继的 \(N\) 天里,每天需用的餐巾数不尽相同。假设第 \(i\) 天需要 \(r_i\) 块餐巾 (\(i=1,2,\dots,N\))。 餐厅可以购买新的餐巾,每块餐巾的费用为 \(p\) 分;或者把旧餐巾送到快洗部,洗一块需 \(m\) 天,其费用为 \(f\) 分;或者送 阅读全文
posted @ 2021-02-18 22:00 pbc的成长之路 阅读(82) 评论(0) 推荐(0)
摘要: 题意 在一个$N*N$的矩形网格中,每个格子里都写着一个非负整数。 可以从左上角到右下角安排$K$条路线,每一步只能往下或往右,沿途经过的格子中的整数会被取走。 若多条路线重复经过一个格子,只取一次。求能取得的整数的和最大是多少。 思路 这道题与数字梯形那道题的第三问很像,区别在于数字梯形是$m$个 阅读全文
posted @ 2021-02-18 21:02 pbc的成长之路 阅读(181) 评论(0) 推荐(0)
摘要: 题意 思路 第一问 这$m$条路径中,每个点只能使用$1$次,每条边也只能使用$1$次,获益为经过点的点权和。 这里的费用不是边的费用,而是点的费用,因此可以采用拆点的技巧,即拆成一个入点和一个出点,入点与出点连边,容量是$1$(因为每个点只能使用一次),费用是点权。 设立虚拟源点$S$,与第一行的 阅读全文
posted @ 2021-02-18 20:00 pbc的成长之路 阅读(64) 评论(0) 推荐(0)
摘要: 题意 有 \(n\) 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量$a_i$不等。 如何用最少搬运量可以使 \(n\) 个仓库的库存数量相同。搬运货物时,只能在相邻的仓库之间搬运。 数据保证一定有解。 思路 这道题与运输问题有一些相似点。可以将这些仓库分成两类,一类是比最终数量多的仓库,另一 阅读全文
posted @ 2021-02-18 19:46 pbc的成长之路 阅读(66) 评论(0) 推荐(0)
摘要: 题意 有 \(m\) 个仓库和 \(n\) 个零售商店。第 \(i\) 个仓库有 \(a_i\) 个单位的货物;第 \(j\) 个零售商店需要 \(b_j\) 个单位的货物。货物供需平衡,即$\sum_^m a_i = \sum_^nb_j$。 从第 \(i\) 个仓库运送每单位货物到第 \(j\) 阅读全文
posted @ 2021-02-18 19:30 pbc的成长之路 阅读(189) 评论(0) 推荐(0)
摘要: 题意 有 \(n\) 件工作要分配给 \(n\) 个人做。 第 \(i\) 个人做第 \(j\) 件工作产生的效益为 \(c_{ij}\)。 试设计一个将 \(n\) 件工作分配给 \(n\) 个人做的分配方案。 对于给定的 \(n\) 件工作和 \(n\) 个人,计算最优分配方案和最差分配方案。 阅读全文
posted @ 2021-02-18 11:01 pbc的成长之路 阅读(273) 评论(0) 推荐(0)
摘要: #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <queue> using namespace std; const int N = 5010, M = 100010, in 阅读全文
posted @ 2021-02-18 09:55 pbc的成长之路 阅读(39) 评论(0) 推荐(0)
摘要: 题意 给定一张无向图,求最少去掉多少个点,可以使图不连通。点数$N \leq 50$ 思路 这里引用李煜东《算法竞赛进阶指南》给出的方法。 若无向图不连通,则图中必有两个点不连通,但这两个点是未知的。因此可以枚举源点$S$和汇点$T$,然后求去掉多少个点可以使得$S$和$T$不连通。答案为各次中的最 阅读全文
posted @ 2021-02-18 09:30 pbc的成长之路 阅读(90) 评论(0) 推荐(0)