zoukankan      html  css  js  c++  java
  • HDU 4004 The Frog's Games(二分)

    题目链接

    题意理解的有些问题。

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 #define LL __int64
     7 LL p[501001];
     8 int n;
     9 int judge(int x,int m)
    10 {
    11     int pre = 0,num = 0,i;
    12     for(i = 0;i <= n;i ++)
    13     {
    14         if(p[i] - pre <= x)
    15         ;
    16         else
    17         {
    18             num ++;
    19             pre = p[i-1];
    20         }
    21     }
    22     if(num + 1 > m)
    23     return 0;
    24     else
    25     return 1;
    26 }
    27 int main()
    28 {
    29     int m,i,l;
    30     LL str,mid,end,minz;
    31     while(scanf("%d%d%d",&l,&n,&m)!=EOF)
    32     {
    33         for(i = 0; i < n; i ++)
    34             scanf("%I64d",&p[i]);
    35         sort(p,p+n);
    36         if(n == 0||m == 1)
    37         {
    38             printf("%d
    ",l);
    39             continue;
    40         }
    41         p[n] = l;
    42         minz = p[0];
    43         for(i = 0;i < n;i ++)
    44         {
    45             minz = max(minz,p[i+1]-p[i]);
    46         }
    47         str = minz;end = l;
    48         while(str < end)
    49         {
    50             mid = (str+end)/2;
    51             if(judge(mid,m) == 0)
    52             str = mid + 1;
    53             else
    54             end = mid;
    55         }
    56         printf("%I64d
    ",str);
    57     }
    58     return 0;
    59 }
  • 相关阅读:
    从头认识java-2.6 逗号操作符
    JavaScript基础知识
    特性选择器
    文本缩进
    如何使图片与导航栏对齐
    如何使用CSS选择器应用于子元素
    图像
    布局
    列表,表格和表单
    盒子
  • 原文地址:https://www.cnblogs.com/naix-x/p/3407060.html
Copyright © 2011-2022 走看看