又是一道思路特别清奇的题qwq...(瞪了一上午才发现O(1)的结论...差点还想用O(n)解决)

问题可以转化为是否能够由\(f_{1}=a\)通过\(\pm x \in[c,d]\)得到\(f_{n}=b\),于是考虑用数学方法解决

证明比较简单...就是...能想到这一点就很毒瘤了qwq...让我来随手拿一个样例举例qwq

输入样例2:4 7 6 4 5
输出样例2:NO

丝毫不想画图...太乱惹qwq

为了能看的更明白我还是画吧qwq(感谢GeoGebra)

注:横坐标表示框内数值,纵坐标表示编号(宽屏没办法qwq...看不清就保存图片放大...还是能看清楚一点的...实在不行下面会放坐标)

下面的图片可以在新的标签页中打开放大...经测试清晰度可以接受

做出上图后发现,绿色线段对应位置是可以到达的,此时问题转化为点\(B\)是否在某一条绿色线段(含端点)上

取所有线段中点后发现,在纵坐标为奇数时,所有线段中点到点\(A\)的横坐标距离为\(2k \times \frac{c+d}{2}(k \in N)\),在纵坐标为奇数时,所有线段中点到A的横坐标距离为\((2k+1) \times \frac{c+d}{2}(k \in N)\),位于\(y=k\)上的最远的线段中点到点\(A\)的横坐标距离为\((k-1) \times \frac{c+d}{2}\),且长度为\((k-1) \times (d-c)\),也即点\(B\)与点\(A\)的横坐标距离\(\leq (n-1) \times \frac{c+d}{2}\)且与位于\(y=n\)上某条线段的中点距离\(\leq \frac{(n-1) \times (d-c)}{2}\)时由\(A\)可以到达\(B\),所以只需要按照\(n\)的奇偶性分类\(O(1)\)计算结果即可.

全都是数学推导...感性理解一下就好

下面放代码$\downarrow \downarrow \downarrow $

#include<cstdio>//AT2665
#include<iostream>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<cstdlib> using namespace std; int n,a,b,c,d,delta,whole; double nxt,half=0.5,maxhalf,lft; int main(){
scanf("%d%d%d%d%d",&n,&a,&b,&c,&d);
nxt+=c+d;
nxt/=2;
half=nxt-c;
maxhalf=half*(n-1);
delta=abs(a-b);
if(delta>(n-1)*nxt+maxhalf){//超过最远距离
printf("NO\n");
return 0;
}
whole=(int)(delta/nxt);
lft=delta-nxt*whole;
if(n&1){//n%2==1
if(whole&1){
lft=nxt-lft;
if(lft<=maxhalf){
printf("YES\n");
return 0;
}
else{
printf("NO\n");
return 0;
}
}
else{
if(lft<=maxhalf){
printf("YES\n");
return 0;
}
else{
printf("NO\n");
return 0;
}
}
}
else{//n%2==0
if(whole&1){
if(lft<=maxhalf){
printf("YES\n");
return 0;
}
else{
printf("NO\n");
return 0;
}
}
else{
lft=nxt-lft;
if(lft<=maxhalf){
printf("YES\n");
return 0;
}
else{
printf("NO\n");
return 0;
}
}
}
return 0;
}

Atcoder | AT2665 【Moderate Differences】的更多相关文章

  1. Atcoder B - Moderate Differences

    http://agc017.contest.atcoder.jp/tasks/agc017_b B - Moderate Differences Time limit : 2sec / Memory ...

  2. 题解——ATCoder AtCoder Grand Contest 017 B - Moderate Differences(数学,构造)

    题面 B - Moderate Differences Time limit : 2sec / Memory limit : 256MB Score : 400 points Problem Stat ...

  3. 【赛时总结】◇赛时·VII◇ Atcoder ABC-106

    [赛时·VII] ABC-106 一条比赛时莫名其妙发了半个小时呆的菜鸡&咸鱼得到了自己应有的下场……279th. Rating:1103(+) 终于AK,一次通过…… ◇ 简单总结 ABC还 ...

  4. AtCoder Beginner Contest 116 C题 【题意:可以在任意区间【L,R】上加1,求通过最少加1次数得到题目给定的区间】】{思维好题}

    C - Grand Garden In a flower bed, there are NN flowers, numbered 1,2,......,N1,2,......,N. Initially ...

  5. 【linux命令】setterm控制终端属性命令(中英文)

    [linux命令]setterm控制终端属性命令(中英文) 2018年03月23日 17:13:44 阅读数:489 标签: linux 更多 个人分类: linux 摘自:https://blog. ...

  6. 【Spring实战】----开篇(包含系列目录链接)

    [Spring实战]----开篇(包含系列目录链接) 置顶2016年11月10日 11:12:56 阅读数:3617 终于还是要对Spring进行解剖,接下来Spring实战篇系列会以应用了Sprin ...

  7. G1垃圾收集器官方文档透彻解读【官方解读】

    在前几次中已经对G1的理论进行了一个比较详细的了解了,对于G1垃圾收集器最权威的解读肯定得上官网,当咱们将官网的理解透了,那基本上网上对于G1的说明其实最终都是来自于官网,所以接下来会详细来解读Ora ...

  8. 【MM系列】SAP MM模块-移动类型全部列表

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-移动类型全部列表 ...

  9. 【AR实验室】mulberryAR : ORBSLAM2+VVSION

    本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...

随机推荐

  1. YCSB报": No such file or directory"异常

    异常信息如下: 文件路径.权限都没有问题. 上网遍寻无果,安装流程与官网一致,开始怀疑是环境问题,后来用别人能用的YCSB复制到本地,却能正常运行. 后来修改了ycsb文件,加了个空格,保存退出,再运 ...

  2. 【问题解决方案】editplus中批量将ANSI转换为utf-8

    来自一个用editplus写java程序但是上传到GitHub里中文乱码的故事 大致步骤: editplus全部打开之后(打开为何种编码不重要): (全部打开是指在左下方的文件列表选中-->右击 ...

  3. PreparedStatement 与 Statement 的区别

    1. PreparedStatement 接口继承 Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象. 2.作为 ...

  4. Linux 下面 PG 的 uuid-ossp 包安装办法

    1. pgsql 安装 时报错, 如图示: 详细信息为: 执行SQL为: CREATE EXTENSION IF NOT EXISTS "uuid-ossp" 错误纤细信息为: C ...

  5. 【学亮开讲】Oracle内外连接查询20181119

    --内连接查询 --需求:查询显示业主编号.业主名称.业主类型名称 select os.id 业主编号,os.name 业主名称,ot.name 业主类型名称 from t_owners os,t_o ...

  6. 搞了一下午时间全浪费在这了,其实是自己拷贝了patch文件,导致tab变成了空格的错

    很老实的基于最新的kernel,源文件,修改了代码.通过diff -uNr --show-c-function dir1 dir2 > ipv6.patch制作了patch文件,准备代码上库构建 ...

  7. UDP反射DDoS攻击原理和防范

    东南大学:UDP反射DDoS攻击原理和防范 2015-04-17 中国教育网络 李刚 丁伟 反射攻击的防范措施 上述协议安装后由于有关服务默认处于开启状态,是其被利用的一个重要因素.因此,防范可以从配 ...

  8. spring 标签

    */ @Slf4j @Service public class RetryService { @Autowired private MqConfig mqConfig; /** * 如果网络连接失败, ...

  9. 虚拟机linux系统明明已经安装了ubuntu,但是每次重新进入就又是选择安装界面

    本文转载:https://blog.csdn.net/weixin_41522164/article/details/82814375

  10. 11/5/2018模拟 Problem C

    题面 题解 我有特殊的哈希技巧 以到下一个相同字符的距离为值哈希, 如果不存在或在串外, 就是 \(|T| + 1\). 加入一个新字符 \(S_i\) 时, 同时修改它上一次出现时的值, 由 \(| ...