题目链接:P3853 [TJOI2007]路标设置

是个水二分,那你还\(WA\)。很简单,就是练了练和早上那题相似的题。

二分答案即可,复杂度\(O(Nlogl)\),可以通过本题。

不过,需要注意的是,若整除,\(cnt--\),否则和我一样成\(80pts\)。

\(Code\):

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int l,n,k,ans=0;
int a[1000005];
int judge(int x)
{
int cnt=0;
int last=0;
for(int i=0;i<=n+1;i++)
{
if(a[i]-last>x)
{
cnt+=(a[i]-last)/x;
if((a[i]-last)%x==0) cnt--;
}
last=a[i];
}
if(cnt>k) return 0;
else return 1;
}
int main()
{
//freopen("data.in","r",stdin);
//freopen("baoli.out","w",stdout);
scanf("%d%d%d",&l,&n,&k);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
int ll=1,rr=l;
a[n+1]=l;
while(ll<=rr)
{
int mid=(ll+rr)>>1;
if(judge(mid)) ans=mid,rr=mid-1;
else ll=mid+1;
}
printf("%d\n",ans);
return 0;
}

二分真神奇啊

解题报告:luogu P3853 [TJOI2007]路标设置的更多相关文章

  1. luogu P3853 [TJOI2007]路标设置 |二分

    题目背景 B市和T市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离.为了便于研究这个问题,我们把公路上相邻路标的最大距离定 ...

  2. 洛谷 P3853 [TJOI2007]路标设置

    路标设置 二分枚举"空旷指数", 做法与跳石头类似. #include <iostream> #include <cstdio> #include < ...

  3. P3853 [TJOI2007]路标设置

    传送门 思路: 类似于数列分段的二分查找答案.设目前的 mid 是一个最小的“空旷指数”,那么在 sum 数组(路标数组)里每两个相邻间的路标距离一定要小于等于目前的 mid , 如果大于,那就必须使 ...

  4. P3853 [TJOI2007]路标设置(二分答案)

    -------------------------------- 二分答案的典型题 --------------------------------- 注意一下check和输出就行 --------- ...

  5. 【洛谷P3853】 [TJOI2007]路标设置

    路标设置 题目链接 此题和跳石头很相似,都是二分答案,模拟判断是否可行 #include<iostream> #include<cstdio> using namespace ...

  6. [TJOI2007] 路标设置 - 二分答案,贪心

    考虑到答案满足可二分性,段内可以贪心,所以暴力二分即可 注意-1 详见代码(我这题都能写WA) #include <bits/stdc++.h> using namespace std; ...

  7. 洛谷 P3853 路标设置 解题报告

    P3853 路标设置 题目背景 B市和T市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离.为了便于研究这个问题,我们把公路 ...

  8. 洛谷 P3853 解题报告

    P3853 路标设置 题目背景 B市和T市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离.为了便于研究这个问题,我们把公路 ...

  9. LeetCode 2 Add Two Sum 解题报告

    LeetCode 2 Add Two Sum 解题报告 LeetCode第二题 Add Two Sum 首先我们看题目要求: You are given two linked lists repres ...

随机推荐

  1. springBoot+MybatisPlus数据库字段使用驼峰命名法时报错

    假如有个实体类: package com.jeff.entity; public class User { /** * 主键id */ private Integer id; /** * 登陆名 */ ...

  2. Linux下清空文件的3种方法

    1.echo -n > test.log #-n选项可以去掉空行 2.cat /dev/null > test.log 3.truncate -s 0 test.log

  3. 认识gets&read(buffer over flow is bof)

    gets不会检查输入的长度,从而有数据覆盖的风险,

  4. 使用jquery select2实现下拉框搜索功能

    由于公司后台系统下拉框数据量太多了,用户操作起来要不方便所以增加了下拉框里面一个搜索功能 1从官网下载jquery select2 下来 地址https://select2.github.io/ 2: ...

  5. 基于Qt 5.9.8,编译Qtxlsx

    1.源码下载地址:https://github.com/dbzhang800/QtXlsxWriter 2.下载并安装编译时需要的工具 Perl:https://www.perl.org/get.ht ...

  6. 科软-信息安全实验2-netfilter实验

    目录 一 前言 二 Talk is cheap, show me the code 三 前期准备 四 效果演示 五 遇到的问题&解决 六 参考资料 七 老师提供的代码 一 前言 文章不讲解理论 ...

  7. Python 爬取 北京市政府首都之窗信件列表-[数据处理]

    日期:2020.01.24 博客期:132 星期五 [代码说明,如果要使用此页代码,必须在本博客页面评论区给予说明] //博客总体说明 1.准备工作 2.爬取工作 3.数据处理(本期博客) 4.信息展 ...

  8. redis(笔记)

    ./redis-cli -a root 带密码链接 root 为我的密码del key 删除key keys * 查询 所有keyexist key key是否存在 成功返回1 失败Wie0 set ...

  9. redis之string数据类型常用方法总结

    目录 redis 字符串(string)[需要掌握] 特点 语法 redis 字符串(string)[需要掌握] 特点 一个键能存储512MB数据 string类型是二进制安全的,可以存储任何数据,比 ...

  10. C 语言入门第五章--循环结构和选择结构

    C语言中有三大结构,分别是顺序结构.选择结构和循环结构: 逻辑运算: 与运算: && 或运算:|| 非运算:! ==== #include<stdio.h> int mai ...