P6397 [COI2008] GLASNICI

题目描述

        一条直线上有 𝑛 个信使,将他们按照从左至右的顺序以 1 至 𝑛 编号。换句话说,设 𝑖 号信使的的坐标为 𝑑𝑖​,则对于 1≤𝑖<𝑛, 𝑑𝑖≤𝑑𝑖+1​。

    信使传递一条消息的方法如下:

  • 在任意时刻(不一定是整数时刻),任一信使(无论是否已知消息)都可以自由选择向左移动或者向右移动或者原地不动。其移动的速度为每秒 1 单位长度。
  • 当两个信使相距不超过一给定实数 𝑘 时,双方可以进行消息传递,也即如果两人中有一人已知该消息,则两人都知道了该消息。消息传递是瞬间发生的,不消耗时间。

现在 1 号信使得到了一条消息,请求出最小的让所有信使都得到该消息的用时。

分析

        题解区中的大佬貌似基本上用的都是二分,所以来写一篇(可能会被hack的)贪心

        首先考虑只有2个人的时候,显然是两个人同时往中间走,到距离为k的时候停下最优。                  当人数增加的时候,由于每个人相互之间不会影响,所以前面的人向前移动传递消息,就可以看做把整个系列向前移动,对后续传递是不会又影响的。

        但通过观察样例2,不难发现,存在前一个信使往前移动,且后一个不动的情况下依然可以满足距离小于k的情况。此时,后一个信使就可以在满足距离小于k的条件下向后移动,这样可以缩小该信使与他的下一个之间的距离,一定不会更劣。

        所以整个传递的过程就是一个线性,不断往后推的过程

                【能 HACK 掉的大佬请私我】

Code

        

#include<bits/stdc++.h>
using namespace std;
int n;
double k,x,t,d[100005];
int main()
{
 	scanf("%lf%d",&k,&n);
 	for(int i=1;i<=n;i++) scanf("%lf",d+i);
 	if(n==1) { cout<<0; return 0; }
 	t=max(0.0,(d[2]-d[1]-k)/2.0); d[2]-=t;
 	for(int i=3;i<=n;i++)
 	{
 		if(d[i-1]+k>=d[i]) { d[i]=min(d[i-1]+k,d[i]+t); continue; }
 		if(d[i-1]+k+t>=d[i]) { d[i]=d[i-1]+k; continue; }
 		d[i]-=t; x=(d[i]-d[i-1]-k)/2.0,d[i]-=x,t+=x;
	}
	printf("%.4lf",t);
	return 0;
}

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: rsq,是一种统计量,用于衡量变量之间的相关性程度。rsq取值范围为0到1,越接近1则说明变量之间的相关性越强。 period,指时间周期。在时间序列分析中,period用来描述数据中波动重复的时间间隔,如一个月、一季度、一年等。 scale,表示尺度或比例。在数据分析中,scale用于描述不同数据的比例关系,并可用于对数据进行同比分析。 coi,是小波分析中的一个术语,用于描述不同尺度的小波系数之间的交错情况。COI越小,则说明小波分析的结果越可靠和精确。 sig95,表示显著性水平为95%。当sig95小于等于0.05时,说明两个变量之间的差异具有统计学显著性,即这两个变量之间的差异不是由于随机变化所致,而是由于真实的原因所致。 ### 回答2: rsq、period、scale、coi、sig95都是与时频分析相关的术语。 rsq是指相关系数,用于衡量变量之间的线性相关程度,通常取值在0到1之间,越接近1则相关程度越高。 period是指周期,是一种重复的模式或运动,它可以是时间、空间等方面的。在时频分析中,周期用于描述信号重复出现的间隔时间。 scale是指尺度,用于描述信号的空间或频率范围。在时频分析中,尺度通常与小波分析相关。 coi是指不确定性区间,是一种用于描述信号分析结果的不确定性的方法,它与信号的尺度和频率有关。 sig95是指显著性水平,指的是信号的某些特征是否达到了统计学上的显著性水平。通常,sig95取值在0到1之间,越接近1,则表明信号的特征越显著。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值