解题报告:luogu P3853 [TJOI2007]路标设置
题目链接: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]路标设置的更多相关文章
- luogu P3853 [TJOI2007]路标设置 |二分
题目背景 B市和T市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离.为了便于研究这个问题,我们把公路上相邻路标的最大距离定 ...
- 洛谷 P3853 [TJOI2007]路标设置
路标设置 二分枚举"空旷指数", 做法与跳石头类似. #include <iostream> #include <cstdio> #include < ...
- P3853 [TJOI2007]路标设置
传送门 思路: 类似于数列分段的二分查找答案.设目前的 mid 是一个最小的“空旷指数”,那么在 sum 数组(路标数组)里每两个相邻间的路标距离一定要小于等于目前的 mid , 如果大于,那就必须使 ...
- P3853 [TJOI2007]路标设置(二分答案)
-------------------------------- 二分答案的典型题 --------------------------------- 注意一下check和输出就行 --------- ...
- 【洛谷P3853】 [TJOI2007]路标设置
路标设置 题目链接 此题和跳石头很相似,都是二分答案,模拟判断是否可行 #include<iostream> #include<cstdio> using namespace ...
- [TJOI2007] 路标设置 - 二分答案,贪心
考虑到答案满足可二分性,段内可以贪心,所以暴力二分即可 注意-1 详见代码(我这题都能写WA) #include <bits/stdc++.h> using namespace std; ...
- 洛谷 P3853 路标设置 解题报告
P3853 路标设置 题目背景 B市和T市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离.为了便于研究这个问题,我们把公路 ...
- 洛谷 P3853 解题报告
P3853 路标设置 题目背景 B市和T市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离.为了便于研究这个问题,我们把公路 ...
- LeetCode 2 Add Two Sum 解题报告
LeetCode 2 Add Two Sum 解题报告 LeetCode第二题 Add Two Sum 首先我们看题目要求: You are given two linked lists repres ...
随机推荐
- 如何查看NXP产品的供货计划?
大的半导体厂商一般会提供每个产品的生命周期计划,NXP的工业级IC一般供货10年,汽车级是15年,具体的时间可以在官网查询得到. 首先,打开NXP官网链接 产品长期供货计划,可以看到以下页面 接着,筛 ...
- Mybatis之foreach用法----List、Array、Map三种类型遍历
在mybatis的xml文件中构建动态sql语句时,经常会用到标签遍历查询条件.特此记录下不同情况下书写方式!-------仅供大家参考------ 1. foreach元素的属性 collectio ...
- oracle的concat、convert、listagg函数(字符串拼接和类型转换)
ORACLE几种常用的方法(2) 1.concat常见的用法 : 格式:concat(String1,String2) 说明:concat函数用于将两个字符串连接起来,形成一个单一的字符串 实例: s ...
- Python 文件和目录操作学习
文件与文件路径 文件有两个关键属性:文件名和路径. 路径指明了文件在计算机上的位置. 文件名中,最后一个句点之后的部分称为文件的"扩展名",它指出了文件的类型 目录也叫文件夹,文件 ...
- Linux centosVMware Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间
一.Nginx访问日志 vim /usr/local/nginx/conf/nginx.conf //搜索log_format 日至格式 改为davery格式 $remote_addr 客户端IP ...
- 「AT2021」キャンディーとN人の子供 / Children and Candies
前言 今天练习赛出了这道题,由于我太菜没有在考场上做出来. 翻了题解后,感觉题解讲的并不是十分直观,所以自己写一篇. 题目大意 太长了,不讲了. 数据范围: \(1\leq N\leq 400\) \ ...
- Eclipse配置maven和新建maven工程
1 安装配置Maven 1.1 下载Maven 从Apache网站 http://maven.apache.org/ 下载并且解压缩安装Apache Maven. Maven下载地址: http:/ ...
- js中每隔一段时间执行一次
window.setInterval("flushs()",1000);
- ecshop代码分析一(init.php文件)
ecshop代码分析一(init.php文件) 因为工作原因,需要对ecshop二次开发,顺便记录一下对ecshop源代码的一些分析: 首先是init.php文件,这个文件在ecshop每个页面都 ...
- 学习redis
https://blog.csdn.net/xiaoyiyz/article/details/60613165 https://bbs.csdn.net/topics/392277304 https: ...