B. Game of the Rows 解析(思維)
Codeforce 839 B. Game of the Rows 解析(思維)
今天我們來看看CF839B
題目連結
題目
有如下圖片所示的飛機座位\(n\)排,和\(k\)隊士兵,每隊數量不一定。
求是否可以每隊都坐上去並且沒有任何兩個士兵相鄰「並且」是不同隊的。
前言
思考時小心一點,記得座位有很多種捨棄方法
想法
注意到,在座位足夠的情況下,我們可以有三步驟的方法來捨去座位。
- 把中間的\(4\)個座位分成\(1,2\)人座位 (此步把可以得到的間隔都得到了)
- 把左右的2個2人座位隨便選一個(或者兩個都選)捨去一個座位,變成\(1\)人座位
- 把中間已經拆成\(1,2\)人座位的4個座位,再捨去一個,變成\(1,1\)人座位
(\(2.3.\)兩個步驟是在把\(2\)人座位換成\(1\)人座位,這樣才能方便等等的分配座位順利運行)
接著要把士兵一隊一隊分配進去。現在已經有\(1,2,4\)人座位的數量了,而這些座位都是分開的,那麼我們只要從最大的座位開始把士兵分配進去就好。
程式碼:
const int _n=1e4+10;
int t,tt,ttt,n,k,a[_n],sum=0,cnt[5];
main(void) {cin.tie(0);ios_base::sync_with_stdio(0);
cin>>n>>k;rep(i,0,k){cin>>a[i];sum+=a[i];} cnt[2]=2*n,cnt[4]=n;
t=min(n,8*n-sum); cnt[1]=t,cnt[2]+=t,cnt[4]-=t;
if(t==n){tt=min(2*n,8*n-n-sum); cnt[1]+=tt,cnt[2]-=tt;}
if(tt==2*n){ttt=min(n,8*n-n-n-n-sum); cnt[1]+=ttt,cnt[2]-=ttt;}
rep(i,0,k){
int f=min(cnt[4],a[i]/4);
cnt[4]-=f; a[i]-=4*f;
f=min(cnt[2],a[i]/2);
cnt[2]-=f; a[i]-=2*f;
f=min(cnt[1],a[i]);
cnt[1]-=f; a[i]-=f;
if(a[i]){cout<<"NO\n";return 0;}
}cout<<"YES\n";
return 0;
}
標頭、模板請點Submission看
Submission
B. Game of the Rows 解析(思維)的更多相关文章
- A. Arena of Greed 解析(思維)
Codeforce 1425 A. Arena of Greed 解析(思維) 今天我們來看看CF1425A 題目連結 題目 略,請直接看原題. 前言 明明是難度1400的題目,但總感覺不是很好寫阿, ...
- E. Almost Regular Bracket Sequence 解析(思維)
Codeforce 1095 E. Almost Regular Bracket Sequence 解析(思維) 今天我們來看看CF1095E 題目連結 題目 給你一個括號序列,求有幾個字元改括號方向 ...
- C2. Power Transmission (Hard Edition) 解析(思維、幾何)
Codeforce 1163 C2. Power Transmission (Hard Edition) 解析(思維.幾何) 今天我們來看看CF1163C2 題目連結 題目 給一堆點,每兩個點會造成一 ...
- F. Moving Points 解析(思維、離散化、BIT、前綴和)
Codeforce 1311 F. Moving Points 解析(思維.離散化.BIT.前綴和) 今天我們來看看CF1311F 題目連結 題目 略,請直接看原題. 前言 最近寫1900的題目更容易 ...
- B. Two Arrays 解析(思維)
Codeforce 1417 B. Two Arrays 解析(思維) 今天我們來看看CF1417B 題目連結 題目 略,請直接看原題. 前言 a @copyright petjelinux 版權所有 ...
- C. k-Amazing Numbers 解析(思維)
Codeforce 1417 C. k-Amazing Numbers 解析(思維) 今天我們來看看CF1417C 題目連結 題目 略,請直接看原題. 前言 我實作好慢... @copyright p ...
- D. Road to Post Office 解析(思維)
Codeforce 702 D. Road to Post Office 解析(思維) 今天我們來看看CF702D 題目連結 題目 略,請直接看原題. 前言 原本想說會不會也是要列式子解或者二分搜,沒 ...
- C. Bank Hacking 解析(思維)
Codeforce 796 C. Bank Hacking 解析(思維) 今天我們來看看CF796C 題目連結 題目 略,請直接看原題. 前言 @copyright petjelinux 版權所有 觀 ...
- B. Kay and Snowflake 解析(思維、DFS、DP、重心)
Codeforce 685 B. Kay and Snowflake 解析(思維.DFS.DP.重心) 今天我們來看看CF685B 題目連結 題目 給你一棵樹,要求你求出每棵子樹的重心. 前言 完全不 ...
随机推荐
- Java10新特性
局部变量的类型推断 这个功能减少与编写Java相关的冗长度,同时保持对静态类型安全性的承诺 使用举例 public static void main(String[] args) { // 使用var ...
- Ajax一目了然
1.ajax的概念 局部刷新技术.不是一门新技术,是多种技术的组合.是浏览器端的技术. 2.ajax的作用. 实现在当前结果页面中显示其他请求的响应内容 3.ajax的使用 ajax的基本流程 //创 ...
- IDEA环境配置里的一些error
1. idea添加edit configuration 没有tomcat图标 File->Setting->Build,Execution,Deployment-->Applicat ...
- MySQL中的临时表到底什么是?
Author:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@极客小俊,原创文章, B站技术分享 B站视频 : Bilibili.c ...
- 测试工具-XPath使用
XML有两种MIME类型,即application/xml和text/xml,在HTTP中,MIME Type类型被定义在Content-Type header中.我们经常也会看到接口返回数据类型为X ...
- 高并发场景-请求合并(一)SpringCloud中Hystrix请求合并
背景 在互联网的高并发场景下,请求会非常多,但是数据库连接池比较少,或者说需要减少CPU压力,减少处理逻辑的,需要把单个查询,用某些手段,改为批量查询多个后返回. 如:支付宝中,查询"个人信 ...
- 服务器备用远程-----Radmin客户端的操作指南(如何远程与传送文件)
一台服务器的寿命一般比较长可能会从几年到几十年,就会经历各个版本的更新与升级.再经过时间的历练后,可能windwos自带的远程连接有时候会拉胯,经常报错. 这时候就需要备选方案,有钱的单位会自己搭建堡 ...
- [HAOI 2017]八纵八横
线段树分治+线形基. 线段树分治是个锤子?? 以时间轴构建线段树,把每个环以"对线段树产生影响的时间区间"的形式加入线段树即可. #include<bits/stdc++.h ...
- H264裸码流I/P/B帧类型判别
花了两天时间做了个h264裸流nal类型和frame类型检测的工具,已上传至github,有需要的自行下载. 1.NAL类型检测 nal类型检测非常容易,对照下表即可容易判断类型. 较常用nal类型包 ...
- element Ui的级联选择器 任意一级选中下拉框自动关闭
封装成一个子组件 <template> <el-cascader v-model="value" clearable placeholder="请选择& ...