zoukankan      html  css  js  c++  java
  • codeforce645C_尺取法

    题目链接:http://codeforces.com/problemset/problem/645/C

    题意:n个房间,0表示空房间,1表示住了人。一个农夫带着k头牛来入住,牛也是要一头一间 = =   问下农夫离最远的牛最近的距离是多少

    被自己误导了, 答案并不是在最短的k+1个房间的情况下求的

     1 #include <algorithm>
     2 #include <iostream>
     3 #include <cstdlib>
     4 #include <cstring>
     5 #include <cstdio>
     6 #include <vector>
     7 #include <cmath>
     8 #include <queue>
     9 #include <set>
    10 #include <map>
    11 #define INF 0x3f3f3f3f
    12 using namespace std;
    13 typedef long long LL;
    14 
    15 char s[100010];
    16 int main()
    17 {
    18     int n, k, i, j;
    19     scanf("%d %d", &n, &k);
    20     scanf("%s", (s + 1));
    21     int l, num = 0, len, ll, rr, len2;
    22     for(i = 1; i <= n; i++)
    23         if(s[i] == '0'){
    24             l = i;
    25             num = 1;
    26             break;
    27         }
    28     int res = INF;
    29     for(j = i + 1; j <= n; j++)
    30     {
    31         if(s[j] == '0')
    32         {
    33             num++;
    34             if(num == k + 1)
    35             {
    36                 num--;
    37                 int mid = (l + j) / 2;
    38                 while(s[mid] != '0') mid++;
    39                 rr = mid;
    40                 mid = (l + j) / 2;
    41                 while(s[mid] != '0') mid--; 
    42                 ll = mid;
    43                 len = max(ll - l, j - ll);
    44                 len2 = max(rr - l, j - rr);
    45                 len = min(len, len2);
    46                 res = min(len, res);
    47                 for(int l1 = l + 1; l1 <= n; l1++)
    48                     if(s[l1] == '0'){
    49                         l = l1;
    50                         break;
    51                     }
    52             }
    53         }
    54     }
    55     printf("%d
    ", res);
    56     return 0;
    57 }
    View Code
  • 相关阅读:
    go语言的特殊变量 iota
    JS设计模式(三) 数据访问对象模式
    SSM之整合Redis
    JS设计模式(二) 惰性模式
    Ubuntu 安装 SQL Server
    JS设计模式(一) 单例模式
    JavaScript 面向对象编程
    SSM之框架整合
    Java实现CORS跨域请求
    数据库记录删除方式
  • 原文地址:https://www.cnblogs.com/luomi/p/5708975.html
Copyright © 2011-2022 走看看