码迷,mamicode.com
首页 > 其他好文 > 详细

跳石头|河中跳房子|NOIP2015提高组T4|二分法

时间:2017-03-04 17:36:48      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:.com   sed   ios   提高   string   任务   数据   while   code   

 

提交地址: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 }
跳石头

 

小计:

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

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

喵 喵 喵

跳石头|河中跳房子|NOIP2015提高组T4|二分法

标签:.com   sed   ios   提高   string   任务   数据   while   code   

原文地址:http://www.cnblogs.com/AlenaNuna/p/6501854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!