J - Straight Master Gym - 101775J 差分
题意:纸牌顺子:连续的3张或连续的4张或连续的5张为顺子。手中的牌共有n个数字,每个数字是a[i]个,能不能把手中所有的牌都是属于顺子。
- 1 ≤ T ≤ 100.
- 1 ≤ N ≤ 2 × 105.
- 0 ≤ ai ≤ 109.
.
#include <bits/stdc++.h>
#define rep(i, a, b) for(int i = a; i <= b; i++)
#define ll long long
using namespace std;
const int maxn = 1e6;
const ll INF = 0x3f3f3f3f3f3f3f; ll a[maxn], b[maxn]; int main(){
ios::sync_with_stdio(false);
int t, k = 0;
cin >> t;
while(t--){
int n; cin >> n;
rep(i, 1, n){
cin >> a[i];
b[i] = a[i] - a[i-1];
}
b[n+1] = -a[n];
int tot = 0;
rep(i, 1, n+1){
if(b[i] >= 0) tot += b[i];
else {tot = 1; break;}
int pos = i+3;
if(pos > n+1) break;
if(b[pos] < 0) tot += b[pos], b[pos] = 0;
if(tot < 0) break;
}
printf("Case #%d: ", ++k);
if(tot) printf("No\n");
else printf("Yes\n");
}
return 0;
}
J - Straight Master Gym - 101775J 差分的更多相关文章
- 2017 ECL-FINAL J.Straight Master
题目链接:http://codeforces.com/gym/101775/problem/J 思路:序列差分一下,然后用得到的查分序列乱搞就可以了 注意差分序列第一项等于a[i],之后n-1项为ch ...
- Straight Master Gym-101775J (思维+差分)
题意:给出N种类的数量,求是否可以把N种牌按3-5张连续的顺子打出,顺子必须连续. 分析:相当于把这个序列分成若干长度为[3,5]的区间,当然其实分成若干段大于3的区间即可.因为大于5的区间又可以分拆 ...
- Straight Master (贪心)
题目如下:A straight is a poker hand containing five cards of sequential rank, not necessarily to be the ...
- Gym 101775J Straight Master(差分数组)题解
题意:给你n个高度,再给你1~n每种高度的数量,已知高度连续的3~5个能消去,问你所给的情况能否全部消去:例:n = 4,给出序列1 2 2 1表示高度1的1个,高度2的2个,高度3的2个,高度4的1 ...
- (原创)E - Straight Shot Gym - 101652R
解题思路:这道题的题意就是给你n,总距离X,速度v:以及n组数据:人行道的左端点和右端点,以及人行道的速度(竖直方向),如果从(0,0)到(X,0)的时间小于2X/v,则输出其时间,否则输出”Too ...
- 差分数组 and 树上差分
差分数组 定义 百度百科中的差分定义 //其实这完全和要讲的没关系 qwq 进去看了之后是不是觉得看不懂? 那我简单概括一下qwq 差分数组de定义:记录当前位置的数与上一位置的数的差值. 栗子 容易 ...
- 部署master节点组件
部署master节点组件 master节点的组件有:kube-apiserver,kube-scheduler,kube-controller-manager 大致安装步骤如下: # mkdir -p ...
- 强化学习之MountainCarContinuous(注册自己的gym环境)
目录 1. 问题概述 2. 环境 2.1 Observation & state 2.2 Actions 2.3 Reward 2.4 初始状态 2.5 终止状态- Episode Termi ...
- 【ACM程序设计】差分
差分 假设有一个数列,我们需要对数列中的一个区间加上或减去一个值,直接想到的便是对该区间进行一次循环逐项加减. 但是当请求的操作变得非常多的时候,每次请求都进行一次循环会很容易爆时间,因此我们引入了差 ...
- 2017 ACM-ICPC EC-Final ShangHai 东亚洲大陆-上海
比赛链接:传送门 Gym 101775A Chat Group(签到:待补) Gym 101775B Scapegoat(待补) Gym 101775C Traffic Light(贪心+思维) 思路 ...
随机推荐
- Windows使用cmd命令查看当前用户名
https://blog.csdn.net/qq_46068659/article/details/106037024 查看用户: net user 查看当前用户: whoami
- 编辑器(Editor) vs 集成开发环境(Integrated Development Environment,下文简称 IDE)
编辑器(Editor) vs 集成开发环境(Integrated Development Environment,下文简称 IDE) 经常看到一些程序员拿编辑器和 IDE 进行比较,诸如 Vim 比 ...
- 解决CentOS 7.x虚拟机无法上网的问题
参考地址:https://blog.csdn.net/weixin_43317914/article/details/124770393 1.关闭虚拟机 2.打开cmd,查看本机dns 3.打开虚拟机 ...
- sql server 01
1. 数据库管理系统(DateBase Management System )DBMS 是专门为管理数据库而设计的一个电脑软件系统 分为两种: (1)关系数据库:建立在关系模型基础上的数据库,比如 S ...
- web api appsettings.json 数据库连接
编辑AppSettings.Json "ConnectionStrings": { "DefaultConnection": "Data Source ...
- 使用angular/cli新建一个angular项目
1.打开cmd,进入你代码保存的文件夹,你想把新建的项目保存在哪个文件夹,即进入哪个文件夹: 我把文件放到这里: 然后,使用下面的命令创建项目: // ng new 项目名称,如下示例:创建名为 he ...
- python,数据类型和变量,数据类型和变量,集合,字符串拼接
可不可变: 可变:列表,字典 不可变:字符串,数字,元祖 访问顺序: 直接访问:数字 顺序访问:字符串,列表,元祖 映射:字典 存放元素个数 容器类型:列表,元祖,字典 原子:数字,字符串 集合 1. ...
- node报错解决办法
依次报错: Error: Cannot find module 'gifsicle' Syntax Error: Error: Cannot find module 'imagemin-gifsicl ...
- 【Linux】虚拟机CentOS 7 磁盘扩容
[Linux]虚拟机CentOS 7 磁盘扩容 在有些时候,自己或者公司开的虚拟机的磁盘在一开始的时候没规划好,或者有磁盘扩容的需求(其实在系统日常运维的时候这个需求时常出现),那么这个时候又该怎么处 ...
- jmeter学习-性能指标、jmeter初识
一:性能测试的指标 1. 并发/并发数/并发用户数 狭义的并发:同一时间做相同的一件事 广义的并发:同一时间做不同事情,混合场景,对服务器来说的并发 性能测试,先做简单的狭义并发,在做广义并发:先做单 ...