P1894セチの祈り

描述

在 Ninian 的花园里,有许多琼花,环绕着中间的凉亭。
有 N 片琼花,组成一个环。
Ninian 想在凉亭中发动 [セチの祈り] , 需要划分出三个区域的琼花,为了平均,要最大化面积最小的区域的面积。

划分区域:即用三刀把这个环分成三段,每段称之为一个区域。

题解:

就会这一题写一下题解吧。。。

如果不是环形的话,显然二分+O(n)判断就可以,因为满足单调性。

如果是环形,我们需要枚举起点,所以复杂度成了n*n*logn

但是我们考虑优化判断的时间复杂度,因为a是一个单调递增的数组,所以我们照样可以lower_bound下一段>当前二分值的区间。复杂度变为n*log2n

代码:

 1 #include<cstdio>
 2 #include<cstdlib>
 3 #include<cmath>
 4 #include<cstring>
 5 #include<algorithm>
 6 #include<iostream>
 7 #include<vector>
 8 #include<map>
 9 #include<set>
10 #include<queue>
11 #include<string>
12 #define inf 1000000000
13 #define maxn 200000+100
14 #define maxm 500+100
15 #define eps 1e-10
16 #define ll long long
17 #define pa pair<int,int>
18 #define for0(i,n) for(int i=0;i<=(n);i++)
19 #define for1(i,n) for(int i=1;i<=(n);i++)
20 #define for2(i,x,y) for(int i=(x);i<=(y);i++)
21 #define for3(i,x,y) for(int i=(x);i>=(y);i--)
22 #define mod 1000000007
23 using namespace std;
24 inline ll read()
25 {
26     ll x=0,f=1;char ch=getchar();
27     while(ch<‘0‘||ch>‘9‘){if(ch==‘-‘)f=-1;ch=getchar();}
28     while(ch>=‘0‘&&ch<=‘9‘){x=10*x+ch-‘0‘;ch=getchar();}
29     return x*f;
30 }
31 int n;
32 ll a[2*maxn];
33 inline bool check(ll x,int y)
34 {
35     int xx=lower_bound(a+y,a+y+n,a[y-1]+x)-a;
36     if(xx>=y+n)return 0;
37     int yy=lower_bound(a+xx+1,a+y+n,a[xx]+x)-a;
38     if(yy>=y+n)return 0;
39     return a[n+y-1]-a[yy]>=x;
40 }
41 int main()
42 {
43     freopen("input.txt","r",stdin);
44     freopen("output.txt","w",stdout);
45     n=read();ll sum=0;
46     for1(i,n)a[i]=a[n+i]=read(),sum+=a[i];
47     for1(i,n<<1)a[i]+=a[i-1];
48     ll ans=0;
49     for1(i,n)
50     {
51         if(!check(ans,i))continue;
52         ll l=ans,r=sum,mid;
53         while(l<=r)
54         {
55             mid=(l+r)>>1;
56             if(!check(mid,i))r=mid-1;else l=mid+1;
57         }
58         ans=max(ans,r);
59     }
60     printf("%lld\n",ans);
61     return 0;
62 }

时间: 2024-10-11 13:31:30

P1894セチの祈り的相关文章

祈言机长,我哋喺七点整嘅时候接到匿名

"停飞?接受纪律调查?我今日嘅飞行任务系三天前安排出嚟嘅,十二个钟之前,我都冇接到任何停飞嘅通知.突然间要调查我,唔该畀个合理嘅解释."靳祈言声如履一层薄冰,佢冷漠俊面冇任何情绪起伏,佢犀利嘅眼眸认真与行政经理对视住."靳祈言机长,我哋喺七点整嘅时候接到匿名举报封信.就凭举报信入面嘅相,我哋正祈言嘅质疑,都无视佢系太子爷嘅身 "靳祈言机长,方便话畀我哋嗰个女人嘅联系电话啊?我哋要同佢求证寻晚嘅事.仲有呀,你寻晚去酒吧揾边个?佢可以帮你作证吗?唔该你仔细谂清楚寻晚喺酒

如果畀祈言知个女人,搅到一屎窟嘅麻烦,跟

"温机长,查到咗嗰位叫云水漾嘅乘客嘅登机信息.佢已经乘坐七点五十分嘅航班走咗去意大利米兰,飞机已经走成两个钟喇."冇好气嘅,温良裕低咒一声.如果畀祈言知个女人,搅到一屎窟嘅麻烦,跟住又一走了之喇,佢肯定想弄死佢!祈言遇到咁一个极品女人,佢都真系惨嘅!霎时间间,温良裕帮靳祈言默哀三秒钟."温机长,仲要帮手呀?"靳南生去咗审讯室,佢喺靳祈言嘅对面坐低,审查官通气褪咗出去.量,按理,我哋可以结束调查放人喇.""祈言,你可以走喇." http:

洛谷P1894 [USACO4.2]完美的牛栏The Perfect Stall

P1894 [USACO4.2]完美的牛栏The Perfect Stall 题目描述 农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术.不幸的是,由于工程问题,每个牛栏都不一样.第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶.上个星期,农夫约翰刚刚收集到了奶牛们的爱好的信息(每头奶牛喜欢在哪些牛栏产奶).一个牛栏只能容纳一头奶牛,当然,一头奶牛只能在一个牛栏中产奶. 给出奶牛们的爱好的信息,计算最大分配方案. 输入输出

vijos 1894 セチの祈り

题面链接 (题面的背景可以说是非常做作了(来自文科生的嘲笑)) 背景 琼花飘落 彩蝶曼舞 又是一年春 满腹愁情 化作伤春酒 梧桐细雨 影影绰绰 残阳落 韶华飞逝 梦断都成空 描述 在 Ninian 的花园里,有许多琼花,环绕着中间的凉亭. 有 N 片琼花,组成一个环. Ninian 想在凉亭中发动 [セチの祈り] , 需要划分出三个区域的琼花,为了平均,要最大化面积最小的区域的面积. 划分区域:即用三刀把这个环分成三段,每段称之为一个区域. 格式 输入格式 第一行一个整数 N . 接下来 N 个

洛谷P1894 [USACO4.2]完美的牛栏The Perfect Stall(二分图)

P1894 [USACO4.2]完美的牛栏The Perfect Stall 题目描述 农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术.不幸的是,由于工程问题,每个牛栏都不一样.第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶.上个星期,农夫约翰刚刚收集到了奶牛们的爱好的信息(每头奶牛喜欢在哪些牛栏产奶).一个牛栏只能容纳一头奶牛,当然,一头奶牛只能在一个牛栏中产奶. 给出奶牛们的爱好的信息,计算最大分配方案. 输入输出

洛谷 P1894 [USACO4.2]完美的牛栏The Perfect Stall

P1894 [USACO4.2]完美的牛栏The Perfect Stall 题目描述 农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术.不幸的是,由于工程问题,每个牛栏都不一样.第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶.上个星期,农夫约翰刚刚收集到了奶牛们的爱好的信息(每头奶牛喜欢在哪些牛栏产奶).一个牛栏只能容纳一头奶牛,当然,一头奶牛只能在一个牛栏中产奶. 给出奶牛们的爱好的信息,计算最大分配方案. 输入输出

??---表示条件,后接祈使,劝诱,意志语句

+ ??, ???, ???, ???, ??? 1. ???? ???? ??? ? ?? ???. 2. ? ?? ? ??? ?? ?????? 3. ??? ?? ??? ?? ?????. 4. ??? ????? ??? ?????. 5. ???? ??? ?????. 接名词的时候, 前面加? ?? ????? ?? ?? ???. 和 ? 的区别: ?? 只能接表示意志的?, ???, 祈使句 ?? 和劝诱句??? 而 ?可以接任何句型: ??? ????? ?????= ??

2017年秋季学期软件工程第二次作业(陆祈祯)

一.源代码地址:https://github.com/lqzlqzlqz/-2 二. PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划     · Estimate · 估计这个任务需要多少时间  12x60  18x60 Development 开发     · Analysis · 需求分析 (包括学习新技术) 6x60 6x60 · Design Spec · 生成设计文档  60  60

P1894 [USACO4.2]完美的牛栏The Perfect Stall

题目描述 农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术.不幸的是,由于工程问题,每个牛栏都不一样.第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶.上个星期,农夫约翰刚刚收集到了奶牛们的爱好的信息(每头奶牛喜欢在哪些牛栏产奶).一个牛栏只能容纳一头奶牛,当然,一头奶牛只能在一个牛栏中产奶. 给出奶牛们的爱好的信息,计算最大分配方案. 输入输出格式 输入格式: 第一行 两个整数,N (0 <= N <= 200) 和