摘要:
P5482 [JLOI2011] 不等式组 这道题比板子还是难不少,因为有大量的分类讨论。 看到题就可以考虑平衡树了。 \(ax+b>c\iff ax>c-b\),根据不等式乘除法的变号规则分类。 \(a>0\),不等号方向不变,\(x>\dfrac{c-b}{a}\)。 \(a<0\),不等号方向 阅读全文
摘要:
稳定的牛分配 考虑先二分答案。 然后我们可以枚举区间,比如答案是 3,那么区间可以是 [1,3],[2,4] 这样的。对于每个区间,建立区间对应的边跑网络流,所有情况下如果有一种情况是所有牛恰好都匹配成功则 check 成功。 code 阅读全文
摘要:
平方 题意 给定 \(n\) 个数,然后让你拟定一个长度为 \(n\) 的数组 \(t\),使得 \(t_i>1\),且满足对于任意的 \(a_i\times a_{i+1}\times t_i\times t_{i+1}\) 为完全平方数,求 \(\min\prod t_i\)。 \(1\le n 阅读全文
摘要:
分配问题 考虑到类似于飞行员配对问题,唯一区别就是多了一个费用,跑费用流即可。 注意最长路的求法就是最短路的边权全部变成负的,然后最后负回来。 code 阅读全文
摘要:
运输问题 将超级源和左边的点连 \(a_i\),右边的点和超级汇连 \(b_j\),中间并没有规定只能给多少货物,设为无穷大。 然后就类似于分配问题。 code 阅读全文
摘要:
数字梯形 考虑网络流拆点。 对于一个点不能多次到达的限制,可以将其拆为两个点,中间容量为 \(1\),权值为点的权值。然后由于点不重合那么边一定不重合,除了起点连下来的边容量为 \(1\),其他边容量只要大于 \(1\) 就可以了。 第二个限制,不需要拆点,将费用放到边上,然后注意虚拟源点容量为 \ 阅读全文
摘要:
旅程 考虑删边比较难做,于是倒过来加边。 首先先做一遍 Floyd,然后每次加一条边,用这一条来更新,类似于 Bellman-ford,如果更新 \(i,j\),用边 \((x,y)\),则可写作 \(dis_{i,j}=dis_{i,x}+dis_{y,j}+w_{i,j}\),也可以先更新所有点 阅读全文
摘要:
负载平衡问题 看看就算了,注意 \(X_i\) 的定义最后一项应该是 \(\sum \limits_{j=1}^{i} A_j\) 而不是 \(\sum \limits_{j=1}^{i-1}A_j\)。 code 阅读全文
摘要:
妹子 考虑到首先判断可以横平竖直的放进去的情况。 先让 \(a_1<b_1,a_2<b_2\),然后判断是否存在 \(a_1\le a_2 \and b_2\le b_2\or a_1\ge a_2 \and b_2\ge b_2\)。 否则,交换使得 \(a_1\le a_2\)。 如图所示。 然 阅读全文
摘要:
餐巾计划问题 先拆点,将每天拆成两个点,一个表示用完的旧餐巾①,一个表示需要的新餐巾②。 考虑几种边: 购买边,从起点往②点连 \(\inf,p\)。 快洗边,从前 \(m\) 天往②点连 \(\inf,p\)。 慢洗边,从前 \(n\) 天往②点连 \(\inf,f\)。 容量限制边 从②点往终点 阅读全文