首页 > 其他分享 >ARC117F Gateau

ARC117F Gateau

时间:2023-06-16 20:13:25浏览次数:26  
标签:ARC117F le times Gateau cases 2N

题意

有一个 \(2N\) 个位置的圆,每个位置可以放任意多个物品(可以不放)。有 \(2N\) 条要求,形如第 \(i \sim i+N-1\) 范围内的位置上总共至少有 \(A_i\) 个物品(\(0\le i<2N\),其中第 \(j(j\ge 2N)\) 号位置其实是 \(j-2N\) 号)。问放置的物品总数至少为多少。

\(1\le N\le 1.5\times 10^5,1\le A_i\le 5\times 10^8\)。

题解

首先断环为链。随后考虑前缀和。那么很容易表述前一半的限制,显然是一个差分约束不等式。后半部分怎么办呢?可以考虑整体减掉中间那段。可是不知道总和!没关系,答案显然具有可二分性,直接把总和枚举出来。于是我们得到这些限制(第 \(i\) 个位置放了 \(B_i\) 个物品, \(S_i = \sum\limits_{j=0}^{i-1}B_j\),枚举出的总和为 \(K\)):

\[\begin{cases} S_i &\le S_{i+N} - A_i& &(0\le i\le N - 1)\\ S_{i+N} &\le S_i + K - A_{i+N}& &(0\le i\le N - 1)\\ S_i &\le S_{i+1}& &(0\le i < 2N - 1)\\ S_{2N-1} &\le S_0 + K\\ \end{cases} \]

于是你把 \(S_{0 \sim 2N-1}\) 建出点来差分约束跑个 SPFA!自然是 T 飞了。考虑这个图的性质。你发现把 \(i\) 和 \(i+N\) 分成一层的话基本是个单向的结构,唯一有往回边的一个是 \(S_0\) 往 \(S_{2N-1}\),一个是 \(S_N\) 往 \(S_{N-1}\)。于是负环要么包含 \(0\),要么包含 \(S_N \to S_{N-1}\)。那么你从 \(0\) 开始跑最短路,以及从 \(N-1\) 开始跑最短路,检查它们附近的点最后的距离是否为非负即可。这个过程是不需要 SPFA 的,直接 DP 可以做到线性。

标签:ARC117F,le,times,Gateau,cases,2N
From: https://www.cnblogs.com/kyeecccccc/p/17486420.html

相关文章

  • AtCoder Regular Contest 117 F Gateau
    洛谷传送门AtCoder传送门差分约束算法:给出\(m\)个不等式形如\(x_{a_i}\lex_{b_i}+y_i\),求是否有解。考虑把不等式看成图上的三角不等式\(dis_v\ledis_u+d\),连边\((b_i,a_i,y_i)\),以\(x_i\)最大的位置跑最短路,如果图中有负环就无解。此时求出来的\(dis_i\)......
  • DelegateAuthenticationProvider not found after updating Microsoft Graph
    c#-DelegateAuthenticationProvidernotfoundafterupdatingMicrosoftGraph-StackOverflow回答msgraph-sdk-dotnet/upgrade-to-v5.mdatfeature/5.0·micros......