CF div2 996(A~D)
手速场,前三题偏简单,后三题偏难。赛时三题,C题做法麻烦了些导致过得不是很快,但最后打得也不是很差。
A
两只青蛙相邻时,可移动的青蛙一定输:直接把该青蛙挤到边缘即可。
而是否相邻可以直接用二者初始间距的奇偶性来判断,因为显然先后手和间距奇偶性的关系是保持不变的,所以间距为\(0\)时的先后手可以直接根据初始的先后手和间距来判断。
B
将所有\(a[i] - b[i]\)预处理出来,问题等价于:可给某个数加\(1\),其他数减1,最终是否可以让所有数都\(>=0\)。
显然最多只能有一个负数,否则其中的某两个负数永远无法协调。
而恰有一个负数时,只有当其他正数中的最小者\(>=\)该负数的绝对值时,才能确保二者最终都\(>=0\)。
按上述方法判断即可。
C
构造题硬被我做成了解方程题。。。
我的方法是设起点\(g[1][1]=x\),在代码中设方程利用了\(pair\)键值对\((a,b)\)来维护\(ax+b\)的两个系数,比如对于起点\(g[1][1]=x\),即为\(a=1,b=0\)。而且可以发现,沿着给定路径走到第\(i\)个点时,在前\(i-1\)个点上的数均已用\(ax+b\)表示的情况下,第\(i\)个点上的数也是可以直接用\(ax+b\)确定的。因此层层递推,最终路径上的所有点均可以用\(ax+b\)的形式唯一表示。
最后看每一行,每一列用\(ax+b\)形式表示出的总和,当有任意两个总和对应\(x\)的系数不相等时,\(x\)便可直接解出。若所有总和对应的\(x\)系数均相同,则\(x\)可取任意值(证明略)。
但这个做法实在太麻烦了,导致coding耗费了不少时间qwq...
D
一道不太好想的模拟题。
最开始时,第一只稻草人肯定要尽快移动到位置0,让乌鸦开始向右移动。
之后的情况仅需要考虑当前乌鸦的左右两侧最近的两个稻草人即可。
剩下的思路就是尽可能贪心地让乌鸦尽快移动,可以根据乌鸦当前的位置提前调整后面稻草人的位置,具体细节见代码注释(实在是懒得写详细思路了qwq...)
同时有个处理细节:由于可能出现移动\(0.5\)秒的情况,而最后让输出时间的\(2\)倍。为了便于模拟,直接将所有距离相关的量扩大\(2\)倍即可,这样模拟出的时间恰对应原时间的\(2\)倍,且模拟过程中不会出现小数。
CF div2 996(A~D)的更多相关文章
- UE4从零搭建CF游戏关卡(蓝图篇)
一 往关卡中放置物体 二 Static Mesh 和 BSP 从今天开始我们要建立一个类似CF游戏的场景,不写一句代码,纯蓝图实现. 三 英语学习 今天早上开会,经理说了一件让我震惊的事情,她说最近大 ...
- CF 214B Hometask(想法题)
题目链接: 传送门 Hometask Time Limit: 2 seconds Memory Limit: 256 megabytes Description Furik loves mat ...
- ProbS CF matlab源代码(二分系统)(原创作品,转载注明出处,谢谢!)
%ProbS clear all;%% 数据读入与预处理 data = load('E:\network_papers\u1.base');test = load('E:\network_papers ...
- CF 213A Game(拓扑排序)
传送门 Description Furik and Rubik love playing computer games. Furik has recently found a new game tha ...
- CF 338E Optimize! (线段树)
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove 出题人题解没看懂...囧. 然后看了下touris ...
- CF 983B XOR-pyramid(区间dp,异或)
CF 983B XOR-pyramid(区间dp,异或) 若有一个长度为m的数组b,定义函数f为: \(f(b) = \begin{cases} b[1] & \quad \text{if } ...
- CF 86D 莫队(卡常数)
CF 86D 莫队(卡常数) D. Powerful array time limit per test 5 seconds memory limit per test 256 megabytes i ...
- CF Round #600 (Div 2) 解题报告(A~E)
CF Round #600 (Div 2) 解题报告(A~E) A:Single Push 采用差分的思想,让\(b-a=c\),然后观察\(c\)序列是不是一个满足要求的序列 #include< ...
- 洛谷3月月赛div2 题解(模拟+数学+贪心+数学)
由于本人太蒻了,div1的没有参加,胡乱写了写div2的代码就赶过来了. T1 苏联人 题目背景 题目名称是吸引你点进来的. 这是一道正常的题,和苏联没有任何关系. 题目描述 你在打 EE Round ...
- CF 449D 题解(状压+容斥)
状压妙啊... 本题的主体思路:状压+容斥原理(或状压+数位dp) 记g[i]表示按位与后结果所有位上至少有i个1的方案数 那么根据容斥原理,ans=g[0]-g[1]+g[2]-g[3]+g[4]. ...
随机推荐
- 6 年 30k star,这个明星项目停止更新!
大家好,我是程序员鱼皮.就在昨天,GitHub 上一个知名的开源项目 Easy Excel 官宣停止更新,下面是官方原文: 公告中表示,Easy Excel 将进入维护模式,会进行 Bug 修复,但不 ...
- ESP8266 + L298N
L298N 知乎教程 L298N ESP8266 + L298N 连线 电机转的方向 电源引脚 VCC 外接直流电源引脚,电压范围在5~35V之间 GND GND是接地引脚,连接到电源负极 5V 驱动 ...
- 3.15 Linux复制文件和目录(cp命令)
cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能. cp 命令的基本格式如下: [root@localhost ~]# cp [选项] ...
- 题解:P6672 [清华集训2016] 你的生命已如风中残烛
题解:P6672 [清华集训2016] 你的生命已如风中残烛 标签 组合数学 分析 首先引入一个引理. Raney 引理 对于一个长度为 \(n\) 的序列 \(a\),如果 \(\sum\limit ...
- 干货分享:通用加解密函数(crypto),Air780E篇
一.加解密概述 加解密算法是保证数据安全的基础技术,无论是在数据传输.存储,还是用户身份验证中,都起着至关重要的作用.随着互联网的发展和信息安全威胁的增加,了解并掌握常用的加解密算法已经成为开发者和安 ...
- 从零开始:NetBox 4.1 Docker 部署和升级
前言 由于Netbox 官方的中文语言日渐完善,所以新出一个使用官方Docker源部署和升级的教程. Netbox 系列文章:https://songxwn.com/categories/NetBox ...
- elementUI 表格之表头合并
表头中有三个年份2018,2019和2020,每个年份下又有12个月份,后台返回的数据中每一个月份对应一个年份,类似下面这样 [{ year: '2018', month: '201801', }, ...
- xtrabackup脚本
xtrabackup是MySQL的一种物理备份工具,相对于mysqldump,备份和还原速度更快 , 我写了一份可以进行备份 + 还原的脚本 #!bin/bash all_bak_path=" ...
- canvas实例:绚丽小球
1.思路分析 监听页面尺寸变化(防抖),动态设置canvas大小 监听鼠标移动事件(节流),动态创建小球,小球包含大小,原点坐标,移动方向等信息,其内部方法支持移动和缩小 开启定时器,更新画布内容(清 ...
- 鸿蒙UI开发快速入门 —— part08: 组件状态管理之@Provide/@Consume装饰器
1.说在前面的话 在此之前,我们已经先后学习了三个装饰器:@State.@Props.@Link,它们的功能和使用场景分别是什么?暂停会议一下. 我们目前已经可以处理组件内状态(@State),也可以 ...