LOJ2758 年轮蛋糕】的更多相关文章

JOI 君马上要和妹妹 JOI 子和 JOI 美一起吃小吃.今天的小吃是他们三个人都很喜欢的年轮蛋糕. 年轮蛋糕是像下图一样呈圆筒形的蛋糕.为了把蛋糕分给三个人,JOI 君必须沿着半径方向切 3 刀,从而把蛋糕分成三块.然而,由于年轮蛋糕硬得像实木一样,要让刀切进去并不简单.因此,这个年轮蛋糕上事先准备了 N 个切口,而 JOI 君只能在有切口的位置下刀.切口按顺时针顺序编号为 1到 N,对于 1≤i≤N−1,第 i 个切口和第 i+1个切口之间部分的大小是 Ai.第 N 个切口和第 1个切口之…
题面 一看到求“最小值的最大值”这种问题,就能想到二分了. 二分答案,然后我们要把一圈分成三块,使这三块的大小都$\geq mid$.做法是把环展开成2倍长度的链,先钦定一个起点,然后根据前缀和再二分一下前两块的最小大小(注意前两块要连着),第三块用一圈的大小减去前两块的大小即可得到.如果第三块的大小$\geq mid$就返回$true$,提高答案范围:否则返回$false$,降低答案范围. 这样就能卡着最优情况下最小那一块的最大值从而得出答案了. 上面这种做法是$O(n*log_n*log_a…
$sql = sprintf("UPDATE file SET mimetype=null,title=null,size=null,protected=null WHERE id=%d",$f->id);…
This is a 玄学 exam A.年轮蛋糕 最小的最大,二分首选 断环为链,check(x),x为答案,然后将每个大于x的子区间记录下来 如果有大于3个的话,那么x就可以是答案 那么·,在优化下来,二分里套个下二分,查长度右端点 时间复杂度:O(log(10^13)^3*n) 但是AC了 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using nam…
代码自己去LOJ看 JOI2013 彩灯 把序列划分成若干极长交替列,那么最优的方案一定是将一个极长交替列翻转使得连续的三个极长交替列合成一个.计算相邻三个极长交替列长度的最大值即可. 搭乘IOI火车 DP:\(f_{i,j}\)表示两个串的起点分别在\(i,j\)位置最长的拼接长度,转移就先放一个'I',再放一个'O'看能够转移到哪些位置. 现代豪宅 把起点.终点和所有有开关的点建两个点分别表示南北和东西方向,\(x\)相同.\(y\)相邻的两个点南北方向连距离的边,\(y\)相同.\(x\)…