cogs 942. [東方S3] 比那名居天子

二次联通门 : cogs 942. [東方S3] 比那名居天子

/*
    cogs 942. [東方S3] 比那名居天子

    二分水题

    二分所求区间长度
    判断后缩小范围即可
*/
#include <cstring>
#include <cstdio>

#define Max 1000000

void read (int &now)
{
    now = 0;
    register char word = getchar ();
    while (word < ‘0‘ || word > ‘9‘)
        word = getchar ();
    while (word >= ‘0‘ && word <= ‘9‘)
    {
        now = now * 10 + word - ‘0‘;
        word = getchar ();
    }
}

char line[Max];

int N, K;

bool Judge (int key)
{
    int Count = 0;
    for (register int i = 0; i < N; i ++)
        if (line[i] == ‘1‘)
        {
            i += key - 1;
            Count ++;
            if (Count > K)
                return false;
        }
    return true;
}

int main (int argc, char *argv[])
{
    freopen ("tenshi.in", "r", stdin);
    freopen ("tenshi.out", "w", stdout);

    read (N);
    read (K);

    scanf ("%s", line);

    int pos = 0;
    for (pos = 0; line[pos] == ‘0‘; pos ++);
    if (pos == N)
    {
        putchar (‘0‘);
        return 0;
    }

    register int Answer;
    for (register int l = 1, r = (N << 1), Mid; l <= r; )
    {
        Mid = l + r >> 1;
        if (Judge (Mid))
        {
            r = Mid - 1;
            Answer = Mid;
        }
        else
            l = Mid + 1;
    }

    printf ("%d", Answer);
    return 0;
}
时间: 2024-08-05 06:15:39

cogs 942. [東方S3] 比那名居天子的相关文章

cogs 944. [東方S3] 藤原妹红

二次联通门 : cogs 944. [東方S3] 藤原妹红 /* cogs 944. [東方S3] 藤原妹红 最小生成树 + 树形dp 首先对原图跑最下生成树 后建出一棵树 在树上进行dp 先走到叶子节点, 顺便处理出距离 最终回溯时更新答案 */ #include <algorithm> #include <cstdio> #define INF 1e30 void read (int &now) { register char word = getchar (); fo

cogs 2569. [東方] 博丽灵梦 梦想妙珠

二次联通门 : cogs 2569. [東方] 博丽灵梦 梦想妙珠 /* cogs 2569. [東方] 博丽灵梦 梦想妙珠 莫队水过.. 好久没一遍AC了.. 卡线上榜2333 */ #include <algorithm> #include <iostream> #include <cstdio> #include <cmath> char Buf[100000001], *buf = Buf; int BUF = 100000001; void rea

997. [東方S2] 射命丸文

997. [東方S2] 射命丸文 二维前缀和 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define maxn 2333 4 int n,m,r,c; 5 int num[maxn][maxn],f[maxn][maxn],ans; 6 char ch; 7 inline void read(int &now) 8 { 9 ch=getchar(); int f=1; now=0; 10 while(ch>'9'||c

全球域名商解析量22强:万网易名居五强 涨幅突出

IDC评述网(idcps.com)12月30日报道:根据DailyChanges公布的实时数据显示,截至2015年12月28日,在全球域名解析量22强比拼中,中国依旧有5家域名商入围,分别是中国万网.易名中国.DNSPod.爱名网.新网.环比上期12月21日,排名保持不变,其中仅新网域名解析量出现负增长,净减4,234个,降幅稳定.下面,请看IDC评述网整理的详细数据分析. (图1)全球域名解析商(国际域名)解析量排行榜TOP22分布图 通过图1,可知截至2015年12月28日,全球域名解析量2

明天补完

/* cogs 943. [東方S3] 铃仙?优昙华院?稻叶 概率dp 貌似做麻烦了 邻接矩阵和链式前向星都用上了... f[pos][i][j]表示 第i秒 在i点 上一个经过的点是j 方程: f[pos][i][j]=Σf[pos-1][j][k]*(__out[j]+1-(map[j][k]==1))+f[pos-1][i][j]*(__out[i]+1-(map[i][j]==1) 前面的求和考虑的是上一秒从其他的一个节点走过来 后面的考虑的是上一秒选择停留在原地 复杂度O(T * N^

对于有关东方的题目的整理。。

东方赛高 此为总贴 收录以东方project为背景的题目. 1. luogu P3345 [ZJOI2015]幻想乡战略游戏 动态点分治(暴力水过) 2. luogu P3344 [ZJOI2015]幻想乡WIFI搭建计划 3. luogu P3343 [ZJOI2015]地震后的幻想乡 4. luogu P3346 [ZJOI2015]诸神眷顾的幻想乡 5. luogu P3347 [ZJOI2015]醉熏熏的幻想乡 6. luogu P1726 上白泽慧音 求强连通分量, 输出最大强连通分量

&lt;东方梦符祭&gt; N1无尽30波终于通了

嘛也算是第一次通关 纪念一下 阵容:xjb搭的杂牌队 主C:古明绝恋 露米娅(真·R卡战神)比那名居天子 斯卡雷特 控制:琪露诺 蕾蒂 灵梦 挂件:小伞 纳兹琳 古明地觉 永江依玖 第一发就直接抽到了斯卡雷特 升到4星后守到前40波应该没什么问题 莉莉白开局 10波左右种的秋香子  15波左右抽到了第二个白 双四星白好爽 狗粮飞起 30波左右的时候弄出了5星鼠 这逼打钱是快啊 升级技能还加攻速 有钱之后就应该抽2500了, 前几次一直傻逼只抽500 抽不出sr和ssr好傻逼啊 最后搞了三个五星

.NET 中获取调用方法名

在写记录日志功能时,需要记录日志调用方所在的模块名.命名空间名.类名以及方法名,想到使用的是反射(涉及到反射请注意性能),但具体是哪一块儿还不了解,于是搜索,整理如下: 需要添加相应的命名空间: using System; using System.Diagnostics; using System.Reflection; 如果仅是获取当前方法名,可以使用如下代码: public static void WriteSysLog(int level, string content) { Metho

记一次“动态方法名”调用

接到需求,为APP提供数据调用接口,需要保证客户端请求路径不变(请求头中的方法版本信息可以根据需求进行调整). 最直观的想法是通过配置文件来完成. 例如在xml中,通过版本号,方法名,Service名来唯一定位需要执行的方法. 上述方法貌似可以解决问题.可是增加了很多无意义的重复劳动. 再想想,通过定义规范,注解,反射貌似也可以完成. 规范如下: 方法名+版本号,例如:findUser_1_0_1(String username); 在进行版本迭代的时候,对版本号进行调整.例如findUser_