CF803D 题解
正解:一道二分大水题!
A:为什么我得不到满分?
B : 评测的系统不一样啊!
A : 蛤?
正常情况下我们日常练习均使用的是windows系统,在windows下,string 本身是可以存储'\0'字符,'\0'字符只是char 数组的结束符。如果是一个字符一个字符赋值,string 是可以直接输出空字符的。
而在linux的情况下(比如OI或一些oj),string 和char[]是一个德行,根本就存不了’\0',此字符也作为string 的结束符。
所以说:在Linux下,读取换行一定要用两遍getchar(),否则:
(本来应该)------->
(结果)(前提是linux评测的)
#include <bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;
int k,len;
char s[];
int ans;
int bo[];
int nxt[];
int check(int x)
{
if(x==) return ;
register int u=+x;
register int num=;
memset(bo,,sizeof(bo));
while(u<=len){
register int tmp=nxt[u];
while(bo[tmp]&&tmp!=){
tmp=nxt[tmp];
}
if(tmp==){
return ;
}
else{
bo[tmp]=;
++num;
u=tmp+ ;
if(num>k) return ;
}
u+=x;
}
return ;
}
void erfen(int l,int r)
{
while(l!=r)
{
int midd=(l+r)>>;
if(check(midd)) r=midd;
else l=midd+;
}
ans=l;
}
int main ()
{
cin>>k;
k--;
getchar();
//getchar(); //如果用linux评测就把该注释删掉 ,保留两个getchar()
int num=;
while()
{
char ch=getchar();
if(ch=='\n') break;
s[++num]=ch;
}
len=strlen(s+);
int pre=;
for(register int i=;i<=len;i++){
if(s[i]==' ') s[i]='-';
nxt[i]=pre;
if(s[i]=='-'){
pre=i;
}
}
erfen(,len);
printf("%d",ans);
}
CF803D 题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
随机推荐
- MAC电脑修改Terminal以及vim高亮显示
1. Terminal高亮显示 编辑~/.bash_profile文件,在末尾增加两行: export CLICOLOR= export LSCOLORS=exfxcxdxcxegedabagacad ...
- idea上MyBatis第一个例子
接着上面创建的maven项目来. 1.java目录下创建cn.happy.entity包 2.idea下创建数据库连接 配置连接参数 3.把数据库表变成实体类 导入成功,改一下包名就可以用了 4.新建 ...
- kubernetes实战篇之helm示例yaml文件文件详细介绍
系列目录 前面完整示例里,我们主要讲解helm打包,部署,升级,回退等功能,关于这里面的文件只是简单介绍,这一节我们详细介绍一下这里面的文件,以方便我们参照创建自己的helm chart. Helm ...
- java内存管理机制剖析(一)
最近利用工作之余学习研究了一下java的内存管理机制,在这里记录总结一下. 1-1.java内存区域 当java程序运行时,java虚拟机会将内存划分为若干个不同的数据区域,这些内存区域创建和销毁的时 ...
- 跟我学SpringCloud | 第七篇:Spring Cloud Config 配置中心高可用和refresh
SpringCloud系列教程 | 第七篇:Spring Cloud Config 配置中心高可用和refresh Springboot: 2.1.6.RELEASE SpringCloud: Gre ...
- Java基本数据类型之间转换
一.自动类型转换 转换的过程自动发生规则:小——>大byte->short->int->long->float->double char类型识别为int,可以转成i ...
- 并发编程-concurrent指南-交换机Exchanger
java.util.concurrent包中的Exchanger类可用于两个线程之间交换信息.可简单地将Exchanger对象理解为一个包含两个格子的容器,通过exchanger方法可以向两个格子中填 ...
- kafka入门(一)简介
1 什么是kafk Apache kafka是消息中间件的一种,在开始学习之前,先简单的解释一下什么是消息中间件. 举个例子,生产者消费者,生产者生产鸡蛋,消费者消费鸡蛋,生产者生产一个鸡蛋,消费者就 ...
- Java连接MYSQL进行操作(增,删,改)
连接数据库,并用表格输出数据 创建insex.jsp <table border="1" width="80%" align='center'> & ...
- vue集成百度富文本编辑器
1.前期工作,访问百度富文本官网下载相应的百度富文本文件,根据后端用的技术下载相应的版本,建议下载最新版UTF-8版 (有图有真相,看图) https://ueditor.baidu.com/webs ...