传送门

题目别看错了,好像挺多人都读错了...

然后显然可以贪心,只有在需要用 $\text{magic crystals}$ 的时候才用

那么直接模拟即可

如果初始相邻两个突出的平台高度不连续那么我们显然可以直接从上面一步步操作到达下面的平台的上面一个位置

此时考虑如果我们直接操作,那么下面那个平台(设为 $x$)就会缩起来,然后就会掉到更下面的平台(设为 $y$)

如果当前和更下面的平台 $y$ 高度超过 $2$ 了,那么为了不摔死只能用一次 $\text{magic crystals}$

并且用在 $x$ 位置和用在 $x$ 下面一个位置(不是平台)都是一样的,那么直接用在 $x$ 位置就好了

如果和 $y$ 高度不超过 $2$ ,那么我们显然直接操作然后落到 $y$ 即可

这样一定是最优的,直接按着思路模拟,注意细节

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
typedef long long ll;
inline int read()
{
int x=,f=; char ch=getchar();
while(ch<''||ch>'') { if(ch=='-') f=-; ch=getchar(); }
while(ch>=''&&ch<='') { x=(x<<)+(x<<)+(ch^); ch=getchar(); }
return x*f;
}
const int N=2e5+;
int Q,n,m,a[N];
int main()
{
Q=read();
while(Q--)
{
n=read(),m=read();
for(int i=;i<=m;i++) a[i]=read();
int ans=;
for(int i=;i<=m;i++)
{
if(n<=a[i]) continue;
if(n!=a[i]+) n=a[i]+;
if(i<m)
{
if(a[i+]==a[i]-) n=a[i+];
else ans++,n=a[i];
continue;
}
if(n>) ans++;
break;
}
printf("%d\n",ans);
}
return ;
}

Codeforces 1238C. Standard Free2play的更多相关文章

  1. Educational Codeforces Round 74 (Rated for Div. 2) C. Standard Free2play

    链接: https://codeforces.com/contest/1238/problem/C 题意: You are playing a game where your character sh ...

  2. C. Standard Free2play --div

    https://codeforces.com/contest/1238/problem/C 题意:下台阶的时候只有一种方式,拉动当前台阶x的 level,然后当前的台阶关闭,调到下边的台阶x-1,如果 ...

  3. CodeForces 1238C(思维+贪心)

    题意 https://vjudge.net/problem/CodeForces-1238C 您现在正在玩一个游戏,您初始在一个高度 h 的悬崖 悬崖沿壁高度为 1-h 的这些位置均有平台,平台有两种 ...

  4. CF-1238 C.Standard Free2play

    题目大意: 有一个墙,高度为h,在每一个高度处都有一个踏板,有的踏板是隐藏着的,有的是伸出来的,小人站在h高度处(题目保证h高度处的踏板一定是伸出来的),这个小人每站到一个踏板上,就可以点一个开关,将 ...

  5. Educational Codeforces Round 74

    目录 Contest Info Solutions A. Prime Subtraction B. Kill 'Em All C. Standard Free2play D. AB-string E. ...

  6. Educational Codeforces Round 74 (Rated for Div. 2)

    传送门 A. Prime Subtraction 判断一下是否相差为\(1\)即可. B. Kill 'Em All 随便搞搞. C. Standard Free2play 题意: 现在有一个高度为\ ...

  7. Educational Codeforces Round 74 (Rated for Div. 2)【A,B,C【贪心】,D【正难则反的思想】】

    A. Prime Subtractiontime limit per test2 secondsmemory limit per test256 megabytesinputstandard inpu ...

  8. Educational Codeforces Round 74 (Rated for Div. 2)补题

    慢慢来. 题目册 题目 A B C D E F G 状态 √ √ √ √ × ∅ ∅ //√,×,∅ 想法 A. Prime Subtraction res tp A 题意:给定\(x,y(x> ...

  9. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

随机推荐

  1. mysql的count和sum使用条件表达式

    count函数条件不为null的时候显示结果.即使为false也也会显示结果. 可以是使用if条件或者case when语句.如果条件不为null即需要的结果. 使用count()函数实现条件统计的基 ...

  2. 对于join操作,MySQL它是咋做的?

    首先我们对于join操作,需要了解两个概念:驱动表和被驱动表.首先先给出两张表: CREATE TABLE `t2` ( `id` ) NOT NULL, `a` ) DEFAULT NULL, `b ...

  3. Netfilter 之 钩子函数与钩子点关系图

    概述 通过钩子点和优先级的代码追溯,得到如下对应关系图,图中横坐标为钩子点,纵坐标为优先级,每个钩子点上的钩子函数按照优先级排布: 详细分析 5个钩子点如下所示,在这个五个钩子点上的钩子函数按照上面的 ...

  4. python中list不能做索引

    先看python中内置的list不能作为字典的key. 可将list或者ndarray转化为tuple再做索引. list不能进行hash: import numpy as np a1 = np.ar ...

  5. Ubuntu配置ISCSI

      target端: 1.安装 iscsi target相关的软件 $ sudo apt-get install iscsitarget iscsitarget-source iscsitarget- ...

  6. Linux内核调试方法总结之sysrq

    sysrq [用途] Sysrq被称为”魔术组合键”, 是内建于Linux内核的调试工具.只要内核没有完全锁住,不管内核在做什么事情,使用这些组合键都可以搜集包括系统内存使用.CPU任务处理.进程运行 ...

  7. springBoot2.X---过滤器,监听器,拦截器

    过滤器,监听器,拦截器 一.画图理解 过滤器(filter),监听器(listener),拦截器(Interceptor). 通过两幅图我们可以理解拦截器和过滤器的特点 1.过滤器 过滤器是在请求进入 ...

  8. vsCoad设置代码自动换行

  9. <JavaScript>数组的sort()方法中比较函数是怎么工作的

    sort()函数比较时调用的是每个数组项的toString()方法,并非按数值大小进行比较,所以往往得不到我们想要的结果. 比如: ,,,,]; values.sort( ); alert(value ...

  10. nginx 反向代理实现负载均衡*理论

    Nginx负载均衡集群介绍 负载均衡集群提供了一种廉价,有效,透明的方法,来扩展网络设备和服务器的负载,带宽和吞吐量,同时加强了网络数据处理能力,提高了网络的灵活性和可用性. 搭建负载均衡服务的需求: ...