传送门

题意:

思路: 刚看到这个题其实是没什么思路,想过从前往后推或者从后往前推,但是都不是很可行。因为两边都有一个固定的挡板挡住,我们可以根据其中的一个算出来每个位置高度的范围,让后检查一下范围是否合法并且在最后一个位置是否在范围内即可。

//#pragma GCC optimize(2)
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<map>
#include<cmath>
#include<cctype>
#include<vector>
#include<set>
#include<queue>
#include<algorithm>
#include<sstream>
#include<ctime>
#include<cstdlib>
#define X first
#define Y second
#define L (u<<1)
#define R (u<<1|1)
#define pb push_back
#define mk make_pair
#define Mid (tr[u].l+tr[u].r>>1)
#define Len(u) (tr[u].r-tr[u].l+1)
#define random(a,b) ((a)+rand()%((b)-(a)+1))
#define db puts("---")
using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); }
//void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); }
//void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;const int N=1000010,mod=1e9+7,INF=0x3f3f3f3f;
const double eps=1e-6;int n,k;
int h[N];
vector<PII>v;bool check()
{//for(int i=0;i<v.size();i++) printf("*%d %d\n",v[i].X,v[i].Y);for(int i=1;i<(int)v.size();i++) if(v[i].X>v[i].Y) return false;int mi=h[n]+1,mx=h[n]+k+k-1;if(v.back().X>mx||v.back().Y<mi) return false;return true;
}int main()
{//  ios::sync_with_stdio(false);
//  cin.tie(0);int _; scanf("%d",&_);while(_--){scanf("%d%d",&n,&k); v.clear();for(int i=1;i<=n;i++) scanf("%d",&h[i]);v.pb({h[1]+k,h[1]+k});// min maxfor(int i=2;i<n;i++){PII pre=v[i-2];v.pb({max(pre.X-k+1,h[i]+k),min(pre.Y+k-1,h[i]+k+k-1)});}if(check()) puts("YES");else puts("NO");}return 0;
}
/**/

Educational Codeforces Round 101 (Rated for Div. 2) C. Building a Fence 思维取范围相关推荐

  1. Educational Codeforces Round 101 (Rated for Div. 2) D. Ceil Divisions(思维)

    给出数 n ,数组 a 为 {1,2,3,--n},最多有 n+5 次机会,将任意两个不相等的数做  ceil(x/y) 运算,使得最后的数组 a 只有一个 2,其余全为 1,给出运算次数具体的运算步 ...

  2. Educational Codeforces Round 73 (Rated for Div. 2) E. Game With String 思维博弈 好题(2500)

    传送门 文章目录 题意: 思路: 题意: 思路: 我们将每一段...拿出来看成若干段,将其分成以下四种情况: (1)len<b(1)len<b(1)len<b (2)b≤len< ...

  3. Educational Codeforces Round 101 (Rated for Div. 2) F. Power Sockets 哈希 + 乱搞

    传送门 题意: 给一个二进制串aaa,让后定义两个串相似为有至少一个相同位置相等.现在让你找一个字典序最小的长度为kkk的串使其与aaa中每个长度为kkk的字串相似. 思路: 首先我们知道所有可能的串 ...

  4. Educational Codeforces Round 101 (Rated for Div. 2) D. Ceil Divisions 思维 + 根号数

    传送门 题意: 给一个数组ai=ia_i=iai​=i,每次可以进行操作ax=⌈axay⌉a_x=\left \lceil \frac{a_x}{a_y} \right \rceilax​=⌈ay​a ...

  5. Educational Codeforces Round 96 (Rated for Div. 2) C. Numbers on Whiteboard///思维

    cf地址 题目大意:给一个数n,有1~n的数,每次现在两个数a,b,将这两个数去掉,然后添加一个(a+b)/2的数(向上取整),进行n-1次操作后,问你最后剩下的数最小是多少. 思路:最小的数必定为2 ...

  6. Educational Codeforces Round 126 (Rated for Div. 2)(A-E)

    A-Array Balancing 题意:给定两个数组a,b,a数组第i个数可以和b数组的第i个数交换,最终求 a1−a2|+|a2−a3|+⋯+|an−1−an||a1−a2|+|a2−a3|+⋯+ ...

  7. Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Educational Codeforces Round 114 (Rated for Div. 2) ...

  8. Educational Codeforces Round 106 (Rated for Div. 2)(A ~ E)题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 Educational Codeforces Round 106 (Rated for Div. ...

  9. Educational Codeforces Round 37 (Rated for Div. 2) 1

    Educational Codeforces Round 37 (Rated for Div. 2) A.Water The Garden 题意:Max想给花园浇水.花园可被视为长度为n的花园床,花园 ...

最新文章

  1. html中radio、checkbox选中状态研究(静下心来看,静下心来总结)
  2. php where循环,PHP-foreach循环,例如WHERE子句
  3. mysql数据库引擎介绍
  4. java+循环的时候用标签_java中循环标签的使用
  5. 初探swift语言的学习笔记六(ARC-自动引用计数,内存管理)
  6. boost::interprocess::ipcdetail::private_adaptive_node_pool用法的测试程序
  7. JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet
  8. WPF读写config配置文件
  9. ELK logstash的grok 自带的正则匹配、自定义正则 使用
  10. 配置paraview 服务器
  11. 机器学习模型太慢?来看看英特尔(R) 扩展加速 ⛵
  12. 计算机网络实验四协议分析心得,计算机网络原理实验_使用网络协议分析仪Wireshark...
  13. 环形10个树洞兔子c语言设计,[阅读打卡]I am a Bunny+提高孩子的欣赏能力我是一只小兔子,我的名字叫尼古拉斯 我住在一个树洞里面 在春天的时候,我喜欢看美丽的花儿,有...
  14. 厉害了,又一个资源神器
  15. web页面的性能优化以及SEO
  16. 2022年嵌入式就业居然还挺香的,村口小花每次看见我都微笑
  17. 一个完整的软件研发流程是怎样的?
  18. 一个古老软件工具的逆向重生
  19. 前端---HTML关于简易菜鸟教程网站首页制作
  20. upc 5212 Coins I

热门文章

  1. foreach循环符合就不往下走了_柴油发电机组冷却液循环故障解决方法
  2. 穿皮裤放屁,裤子会鼓吗?真相看这里!
  3. 太爽了!宅男醒来后,发现自己变成了……
  4. 970页绝版资料!初高中数学与竞赛知识点+方法技巧,由苏步青当顾问,众多一线名师共同编写!...
  5. 宝贝,我帮你清了购物车哦!
  6. TensorFlow的各种应用,你晓得不?
  7. 双十一,单身狗除了买买买,还能做什么?
  8. 一个人开始废掉的3种迹象
  9. php返回一个变量,PHP从另一个文件获取变量
  10. 中科大计算机博士毕业条件,中国科技大学博士和硕士研究生毕业要求.doc