bzoj1863
白书上的题目
这里唯一要说一下的就是,二分答案不难想到,怎么构造答案的合理性非常值得注意
var a,b,d:array[..] of longint;
n,l,r,m,ans,i:longint; function max(a,b:longint):longint;
begin
if a>b then exit(a) else exit(b);
end; function min(a,b:longint):longint;
begin
if a>b then exit(b) else exit(a);
end; function check(k:longint):boolean;
var x,y,i:longint;
begin
x:=a[];
y:=k-a[];
b[]:=x;
d[]:=;
for i:= to n do
if i mod = then
begin
d[i]:=min(y-d[i-],a[i]);
b[i]:=a[i]-d[i];
end
else begin
b[i]:=min(x-b[i-],a[i]);
d[i]:=a[i]-b[i];
end;
if b[n]= then exit(true) else exit(false);
end; begin
readln(n);
for i:= to n do
read(a[i]);
if n= then
begin
writeln(a[]);
halt;
end;
a[n+]:=a[];
for i:= to n do
l:=max(l,a[i]+a[i+]);
if n mod = then writeln(l)
else begin
for i:= to n do
r:=max(r,a[i]*);
ans:=r;
while l<=r do
begin
m:=(l+r) shr ;
if check(m) then
begin
ans:=m;
r:=m-;
end
else l:=m+;
end;
writeln(ans);
end;
end.
bzoj1863的更多相关文章
- 【BZOJ1863】[Zjoi2006]trouble 皇帝的烦恼 二分+DP
[BZOJ1863][Zjoi2006]trouble 皇帝的烦恼 Description 经过多年的杀戮,秦皇终于统一了中国.为了抵御外来的侵略,他准备在国土边境安置n名将军.不幸的是这n名将军羽翼 ...
- 【BZOJ-1863】trouble 皇帝的烦恼 二分 + DP
1863: [Zjoi2006]trouble 皇帝的烦恼 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 559 Solved: 295[Submit] ...
- bzoj1863: [Zjoi2006]trouble 皇帝的烦恼
白书原题.l边界又设错啦.一般都是错这里吧.注意为什么这里不能是l=0.(只是为了判断第一个和最后一个 #include<cstdio> #include<cstring> # ...
- [bzoj1863]皇帝的烦恼
二分枚举答案,假设是ans,考虑判定答案从前往后计算,算出每一个将军与第一个将军最少和最多有多少个相同的奖牌,贪心转移即可 1 #include<bits/stdc++.h> 2 usin ...
- [转载]hzwer的bzoj题单
counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ120 ...
- BZOJ题目(持续更新)
bzoj1009:kmp想法+递推+矩阵快速幂.很好的想法,考虑用长串去kmp匹配短串,dp[i][j]表示匹配指针分别指在i.j位置时候,前i位母字符串一共有多少种可能性,那么dp[i][j]=Σd ...
- BZOJ刷题列表【转载于hzwer】
沿着黄学长的步伐~~ 红色为已刷,黑色为未刷,看我多久能搞完吧... Update on 7.26 :之前咕了好久...(足见博主的flag是多么emmm......)这几天开始会抽时间刷的,每天几道 ...
随机推荐
- replace()、replaceFirst()和replaceAll()的区别
1.replace() String str= "mesquite in your cellar" str.replace('e', 'o') returns "mosq ...
- 码表 Unicode GBK UTF8 示例
Unicode的编码形式与对应的字符串相互转换 /** * Unicode的编码形式与对应的字符串相互转换 * @author 白乾涛 */ public class UnicodeUtils ...
- 解决Visual Studio 找不到报表控件、rdlc中文乱码
找回报表控件 运行安装程序中的 ..\packages\Reporting Services\RVAddon.msi 工具栏,右键选择ReportViewer,注意选择的版本 如果不能编辑报表文件(. ...
- ideadpad-安装win7
今天帮一个同学的朋友安装win7, 竟然安不上,很久没有出现安不上系统了, 后来发现他的笔记本是新的类型,预先注意事项为: 1,启动的时候,使用 Fn+F2进入 BIOS. 2,将Boot中的Boot ...
- Linux中一些目录名称的含义
挖Linux中的古老缩略语[2005-06-22 15:23][Nigel McFarlane][TechTarget] Unix已经有35年历史了.许多人认为它开始于中世纪,这个中世纪是相对于计算机 ...
- HTML网页图片滚动代码
<!--下面是向上滚动代码--> <div id=butong_net_top style=overflow:hidden;height:100;width:90;> < ...
- 关于Java中的选择排序法和冒泡排序法
一,这种方法是直接传入一个数组进行排序(选择排序法) public static void selectSort(int arr[]){ for (int i = 0; i < arr.leng ...
- OpenCV Tricks[OpenCV 笔记3]
官方例程 事例程序位于opencv-3.1.0/samples/cpp/ 目录下,可以通过编译整个工程,编译所有的Sample Code 显示当前使用的OpenCV版本 CV_VERSION为标识当前 ...
- JS类型、值和变量 笔记
非数字 JavaScript中的非数字值有一点特殊.他们和任何值都不相等,包括和本身也不相等. NaN == NaN => false NaN != NaN => true isNaN(N ...
- 学渣也要搞 laravel(3)—— HTTP控制器
1. laravel 控制器在app/Http/Controllers/ 下,你会看到里面有一个Controller.php ,之后我们创建的控制器都是继承这个总控制器的.创建控制器只需要在这里面添加 ...