zoukankan      html  css  js  c++  java
  • 跳石头|河中跳房子|NOIP2015提高组T4|二分法

    提交地址:http://codevs.cn/problem/4768/

    题目:

     题意:自己看

    思路:

    1.读入各个石头数据

    2.直接二分答案:

    枚举一个石头i和一个石头j,要求i和j之间的距离为mid,然后删去i到j之间的石头,再将i到j之间的石头数加到ans里

    然后把ans和m比较一下

    然后就那么搞……

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<algorithm>
     5 #include<cmath>
     6 using namespace std;
     7 int main()
     8 {
     9     int L,a[50050],ans;
    10     int n,m,i,j,l,r,mid,k;
    11     scanf("%d %d %d",&L,&n,&m);
    12     for (i=1; i<=n; i++) scanf("%d",&a[i]);
    13     l=0;r=L+1;
    14     a[0]=0;a[n+1]=L;
    15     while (l+1<r)
    16     {
    17         ans=0;
    18         mid=(l+r)/2;
    19         i=0;
    20         while (i<=n)
    21         {
    22             j=i+1;
    23             while (j<=n+1 && a[j]-a[i]<mid) j++;
    24             ans+=j-i-1;
    25             i=j;
    26         }
    27         if (ans<=m) l=mid;
    28         else r=mid;
    29     }
    30     printf("%d",l);
    31     return 0;
    32 }
    跳石头

    小计:

    累计任务真的做的好慢啊……一月多拖到现在,是不是要开新坑给自己找找压力和动力啊…?

    不喜欢把一道题目单发题解…感觉自己太弱了…

    喵 喵 喵

  • 相关阅读:
    CSS边框
    各大网站注册的用处(个人看法)
    20121011 外边距
    20120921碎碎念
    20121011 CSS一
    20120919碎碎念
    CSS 文本装饰属性
    外边距合并
    EverBox开发笔记1
    “Core Data”中的“dynamic implementation”
  • 原文地址:https://www.cnblogs.com/AlenaNuna/p/6501854.html
Copyright © 2011-2022 走看看