正解:网络流+二分 解题报告: 传送门$QwQ$ 和上一题有点儿像,,,?$QwQ$但是比上一题要有趣很多$QwQ$ 首先把大致思路捋下?依然是.二分出每个奶酪的开始和结束时间,然后check下最大流的流量和$\sum p$的大小.做完了.$over$ 然后详细考虑过程,发现难点就在构图了呗,就,怎么构图能满足题目给定的条件 先列出题目两个和普通网络流不同的点趴$QwQ$: 1)每个奶酪有特定的开始&结束时间 2)同一个时间段一个奶酪只能被一只老鼠吃 $umm$其实第一个条件还是相对来说比较好实…
首先考虑只满足第一个条件,二分答案,把过期时间加上mid之后的2n个时间离散,老鼠拆成每个时间的,第i个时间第j个老鼠为id[i][j],连接(s,i,p[i]),对于离散后时间(g[j-1]~g[j])在i奶酪的时间区间里的ij,连接(i,id,老鼠速度*时间段长),然后连(id,t,inf),判断合法就是dinic==sump 易证这样是满足第一个条件的,因为可以调整吃奶酪的老鼠的顺序来使其合法 然后看第二个条件,把老鼠速度从大到小排序并差分,把上个建图中的(i,id,老鼠速度*时间段长)改…
Luogu P2570 [ZJOI2010]贪吃的老鼠 题目描述 奶酪店里最近出现了\(m\)只老鼠!它们的目标就是把生产出来的所有奶酪都吃掉.奶酪店中一天会生产\(n\)块奶酪,其中第\(i\)块的大小为\(pi\),会在第\(ri\)秒被生产出来,并且必须在第\(di\)秒之前将它吃掉.第j只老鼠吃奶酪的速度为\(sj\),因此如果它单独吃完第i快奶酪所需的时间为\(pi/sj\).老鼠们吃奶酪的习惯很独特,具体来说: (1) 在任一时刻,一只老鼠最多可以吃一块奶酪: (2) 在任一时刻,一…
Luogu2570  [ZJOI2010]贪吃的老鼠 题面描述 https://www.luogu.org/problemnew/show/P2570 然后题意大概就是m只老鼠,然后吃n个奶酪,已知 每个奶酪体积为$p_i$ 每个奶酪原始保质期为$s_i到t_i$(在一个时间轴上的位置) 每只老鼠吃奶酪的速度为$v_i$ 要求 同一时刻老鼠不能被原谅(不能吃两块奶酪) 同一时刻奶酪不能原谅(不能被两只老鼠吃) 老鼠吃奶酪的时间可以为小数,且一个老鼠“一生”可以吃多块奶酪,一块奶酪“一生”可以多次…
---题面--- 题解: 这是一道强题emmmm,做法非常巧妙,,,我也是看了好久大佬题解才看明白一点 首先考虑没有限制的情况,即n个老鼠可以在同一时刻吃同一块奶酪 对各个时间段拆点,连奶酪 ---> 老鼠(反过来也是一样的,只不过不方便),相连的奶酪要符合时间段的限制, 相当于把老鼠拆成很多个小时刻,连向这个时刻它可以吃的奶酪,流量为它在这段时间内可以吃的奶酪总量, 限流可以在汇点到老鼠的路径上进行. 但这个并不能满足同一时刻一块奶酪只能被一个老鼠吃这个条件,因此我们对老鼠再拆点, 把每个老鼠…
传送门 →_→唯一一篇能看得懂的题解---->这里 很容易想到二分+网络流,然而并没有什么卵用--出题人的思路太神了-- 首先考虑如果一块奶酪在同一时间可以被多只老鼠吃的话,该如何建图.首先不难发现可以把时间离散化代表不同的时间段,然后把每只老鼠按对应的时间拆点.从源点向奶酪连边容量\(p[i]\),然后从奶酪向所有对应它这个时间段的拆出来的老鼠的点连边,容量为\(s[j]\times tim[i]\)(其中\(tim\)表示该段时间的长度),然后从每个老鼠的点向汇点也连这么长的边 然后发现在这…
题目描述 奶酪店里最近出现了m只老鼠!它们的目标就是把生产出来的所有奶酪都吃掉.奶酪店中一天会生产n块奶酪,其中第i块的大小为pi,会在第ri秒被生产出来,并且必须在第di秒之前将它吃掉.第j只老鼠吃奶酪的速度为sj,因此如果它单独吃完第i快奶酪所需的时间为pi/sj.老鼠们吃奶酪的习惯很独特,具体来说: (1) 在任一时刻,一只老鼠最多可以吃一块奶酪: (2) 在任一时刻,一块奶酪最多被一只老鼠吃. 由于奶酪的保质期常常很短,为了将它们全部吃掉,老鼠们需要使用一种神奇的魔法来延长奶酪的保质期.…
[BZOJ1458][洛谷4311]士兵占领(网络流) 题面 BZOJ权限题,洛谷真好 Description 有一个M * N的棋盘,有的格子是障碍.现在你要选择一些格子来放置一些士兵,一个格子里最多可以放置一个士兵,障碍格里不能放置士兵.我们称这些士兵占领了整个棋盘当满足第i行至少放置了Li个士兵, 第j列至少放置了Cj个士兵.现在你的任务是要求使用最少个数的士兵来占领整个棋盘. Input 第一行两个数M, N, K分别表示棋盘的行数,列数以及障碍的个数. 第二行有M个数表示Li. 第三行…
正解:网络流+二分 解题报告: 传送门$QwQ$ 其实我第一反应是费用流来着,,,但是仔细想了下发现我不会实现各个武器之间独立同时?而且攻击是连续的答案可能是小数嘛$QwQ$. 所以显然不是递推就二分呗$QwQ$.然后依然是因为小数的约束,所以最后选择的二分$QwQ$ $umm$然后就傻逼题了呗? $check$的话直接武器建一排点机器人建一排点,$S$和武器$i$连$B_{i}\cdot time$,机器人$j$和$T$连$A_{i}$,然后武器和能攻击的机器人之间连$inf$,欧克做完辣!…
题意:各一个地图,两点之间有若干条路,要在节点1和节点n之间行走t次(就是问1到n的路径数至少为t,每一条路径不能有重复),问所有路径里面最长的部分(这个题目特别强调,不是路径长度和,是路径中相邻两点的距离)最小是多少. 网络流+二分. 二分路径最长的一段,根据二分值构图. 构图方法: 如果两点路径长度小于x,则两点之间连接一条边,权值为1(如果已经连接了,权值加1). 最大流既是从1到n不重复的路径条数,判断是否大于规定的t条即可. 注意一下这题是无向图,两个方向的初始流量相等(有向图只有一个…