二分
&*^*&
这个作者很懒,什么都没留下…
展开
-
acm-(二分、贪心)2020ICPC·小米 网络选拔赛第二场 A.2020
传送门 考虑二分答案,假设答案为kkk,那么如何取check呢?我们可以从左到右贪心的选l1,l2,l3...lkl_1,l_2,l_3...l_kl1,l2,l3...lk代表左边最近的kkk个2的位置,然后对于每个2我们都贪心地选一个右边离它最近的位置的0进行配对,这些配对的0的位置分别是r1,r2,r3...rkr_1,r_2,r_3...r_kr1,r2,r3...rk,很显然满足l1<l2<...<lk,r1<r2<...rk,li<ril_1.原创 2020-11-01 07:32:10 · 241 阅读 · 0 评论 -
acm-(二分)2020ICPC·小米 网络选拔赛第一场 F.Design Problemset
传送门 考虑二分次数最大值,也就是答案。考虑如何check,对于第iii个物体而言,它在每次中一定至少被分配⌊a[i]x⌋\lfloor \frac {a[i]}{x}\rfloor⌊xa[i]⌋个,同时最终会剩下a[i]%xa[i]\%xa[i]%x个物品给我们灵活分配,现在设置一个变量div=∑i=1k⌊a[i]x⌋div=\sum_{i=1}^k\lfloor \frac {a[i]}{x}\rfloordiv=∑i=1k⌊xa[i]⌋,再设置一个变量res=∑i=1ka[i]%xres=\s.原创 2020-10-28 08:04:44 · 205 阅读 · 1 评论 -
acm-(并查集、二分、平面点)Codeforces Round #671 (Div. 2)F. Rain of Fire
传送门 本题主要是给定平面上n个点,你可以以任意点为起点沿着上下左右任意一个方向直线出发,只有遇到一个点的时候才能拐弯(或继续直走),然后问你走完所有点的时候途中经过相邻两点的最大距离最小是多少,不过题目还说可以在开始的时候插入一个点到平面上,保证所有给定的点都不重合。 这种最大量最小化的问题很容易与二分扯上联系,我们不妨二分最大距离x,看看能不能让路线中的相邻两点距离都小于等于x,也就是check函数要完成的功能。 首先容易发现如果a点能到达b点,b点能到达c点,那么a点一定能到达c点,这很符合连通块的.原创 2020-10-02 21:25:06 · 143 阅读 · 0 评论