• bzoj1863


    白书上的题目

    这里唯一要说一下的就是,二分答案不难想到,怎么构造答案的合理性非常值得注意

     1 var a,b,d:array[0..20010] of longint;
     2     n,l,r,m,ans,i:longint;
     3 
     4 function max(a,b:longint):longint;
     5   begin
     6     if a>b then exit(a) else exit(b);
     7   end;
     8 
     9 function min(a,b:longint):longint;
    10   begin
    11     if a>b then exit(b) else exit(a);
    12   end;
    13 
    14 function check(k:longint):boolean;
    15   var x,y,i:longint;
    16   begin
    17     x:=a[1];
    18     y:=k-a[1];
    19     b[1]:=x;
    20     d[1]:=0;
    21     for i:=2 to n do
    22       if i mod 2=1 then
    23       begin
    24         d[i]:=min(y-d[i-1],a[i]);
    25         b[i]:=a[i]-d[i];
    26       end
    27       else begin
    28         b[i]:=min(x-b[i-1],a[i]);
    29         d[i]:=a[i]-b[i];
    30       end;
    31     if b[n]=0 then exit(true) else exit(false);
    32   end;
    33 
    34 begin
    35   readln(n);
    36   for i:=1 to n do
    37     read(a[i]);
    38   if n=1 then
    39   begin
    40     writeln(a[1]);
    41     halt;
    42   end;
    43   a[n+1]:=a[1];
    44   for i:=1 to n do
    45     l:=max(l,a[i]+a[i+1]);
    46   if n mod 2=0 then writeln(l)
    47   else begin
    48     for i:=1 to n do
    49       r:=max(r,a[i]*3);
    50     ans:=r;
    51     while l<=r do
    52     begin
    53       m:=(l+r) shr 1;
    54       if check(m) then
    55       begin
    56         ans:=m;
    57         r:=m-1;
    58       end
    59       else l:=m+1;
    60     end;
    61     writeln(ans);
    62   end;
    63 end.
    View Code
  • 相关阅读:
    spring boot的actuator
    mongo的用户角色配置
    spring boot使用AOP统一处理web请求
    (原)luarocks install 提示 failed fetching manifest
    (原)ubuntu中安装kate
    (原+转)Ubuntu16.04软件中心闪退及wifi消失
    (原)torch使用caffe时,提示CUDNN_STATUS_EXECUTION_FAILED
    (原)torch中微调某层参数
    (原)torch的apply函数
    (原)torch的训练过程
  • 原文地址:https://www.cnblogs.com/phile/p/4473125.html
Copyright © 2020-2023  润新知