CodeForces 题目乱做
是个补题记录。
1419
除了 F 场上都过了。
CF1419A Digit Game
这题好多人 FST 啊……
考虑如果串长为奇数那么最后操作的肯定是第一个人,串长为偶数的最后操作的肯定是第二个,而且两个人的操作互相独立。
所以如果最后一个操作的是第一个人而且存在一个奇数位置上的数是奇数的话那么第一个人肯定赢,否则第二个人肯定赢。
最后一个操作的是第二个人的话同理。
CF1419B Stairs
很明显只有当 \(n=2^k-1\) 的时候 \(n\) 级的阶梯才会是好的,然后从小到大枚举一下就好了。
CF1419C Killjoy
注意到答案只有可能为 \(0,1,2\)。
答案为 \(0\) 的话很好判断,答案为 \(1\) 的话有两种情况:
存在至少一个人与病毒的 rt 相同。那么这些人在第一场比赛之前就会被感染,于是只需要让那些没被感染的全部调成与病毒 rt 一样,被感染的那些随便改就行了。
所有人的 rt 的平均值等于病毒的 rt。直接将所有人的改成病毒的 rt 就行。
其他情况答案为 \(2\),也即先操作两个人使得一个人的 rt 被改成与病毒的相同,然后第二次比赛变成上面的情形 1。
CF1419D1 Sage's Birthday (easy version)
肯定是先排序然后均分成前后两组,然后前面的和后面的轮着填即可。
注意到前面的每个值一定小于后面的每个值,所以前面的最多只会有一个数不会被贡献到。
CF1419D2 Sage's Birthday (hard version)
还是先排个序然后轮着放,放完了之后要重新算一遍答案。
CF1419E Decryption
注意到只有当 \(n\) 为两个不同质数的积的时候答案才可能为 \(1\),否则答案为 \(0\)。
否则设 \(n=p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_n^{\alpha_n}\),那么可以这么构造一个环:
首先将 \(p_1,p_2,\cdots,p_n\) 顺时针排列,然后在每个 \(p_i\) 和 \(p_{i+1}\) 中间插入 \(p_ip_{i+1}\),剩下没有被选中的因子就放到最小质因子右边就好了。
代码和题解给出的构造方案稍微有点不同。
CF1419F Rain of Fire
1418
这场根本没打。
CF1418A Buying Torches
每一次交易木棍可以白嫖 \(x-1\) 个,需要白嫖的木棍至少是 \(yk+k-1\) 个,随便算就行。
代码有点迫害 syk 小鸽鸽向。
CF1418B Negative Prefixes
贪心很显然,将所有没被锁的数拿出来从大到小排序在一个一个塞回去就好了。
CF1418C Mortal Kombat Tower
不会贪心,只能 DP。
设 \(f_i\) 为打到了第 \(i\) 个,最后一个是自己打的的答案,\(g_i\) 为打到了第 \(i\) 个,最后一个是朋友打的答案,那么有如下转移:
\]
和
\]
然后注意一下初值就好了。
CF1418D Trash Problem
1420
赛场上只做到 D。
CF1420A Cubes Sorting
会冒泡排序的都知道这个 \(\frac{n(n-1)}{2}\) 是理论的交换次数上界,然而这个上界只有在 \(a_i>a_{i+1}\) 的时候才会取到。
CF1420B Rock and Lever
打个表可以发现 \(a\&b\geq a\oplus b\) 只有当 \(a\) 和 \(b\) 的二进制位数一样才会成立。
所以按照二进制位开个桶然后从前往后扫一遍就好了。
CF1420C1 Pokémon Army (easy version)
这个题没有交换操作所以可以 DP。
设 \(f_i\) 表示已经取了奇数个数,最后一个取的是 \(i\) 位置上的和 \(g_i\) 表示已经取了偶数个数,最后一个取的是 \(i\) 位置上的。可以很容易写出转移方程:
\]
和
\]
在 DP 的过程中同时维护 \(f\) 和 \(g\) 的前缀最大值就可以了,还是要注意一下初值。所给代码中的 \(f\) 和 \(g\) 表示前缀最大值。
CF1420C2 Pokémon Army (hard version)
CF1420D Rescue Nibel!
CF1420E Battle Lemmings
1426
没打,赛后打了一下,大概是 70min 左右切了 6 个题。
CodeForces 题目乱做的更多相关文章
- BZOJ 题目乱做
记录一点在 BZOJ 上做的题. 众所周知原 BZOJ 炸掉了,于是跑去了 HydroOJ 的 BZOJ 域上面做. 目录 P1001 [Beijing2006]狼抓兔子 P1002 [FJOI200 ...
- jzyz 题库 题目选做
题库中也有很多我想不出来的模拟赛的题目.做还是必要的.做自己的题目 时间很紧 想想自己的文化课 我又没有那么强 我必须得刷. LINK:水题一道 发现是一道计数题 计数题拿高分的才是王者,但是 计数题 ...
- 2017国家集训队作业Atcoder题目试做
2017国家集训队作业Atcoder题目试做 虽然远没有达到这个水平,但是据说Atcoder思维难度大,代码难度小,适合我这种不会打字的选手,所以试着做一做 不知道能做几题啊 在完全自己做出来的题前面 ...
- CF 题目选做
写省选的题目对noip没什么大用 关键是 细节题或者是思考题比较重要 练思维自然是CF比较好了 把我见到的比较好的CF题放上来刷一刷. LINK:Complete the projects 就是说一个 ...
- 一道codeforces题目引发的差分学习
Codeforces Round #688 (Div. 2) 题目:B. Suffix Operations 题意:给定一个长为n的数组a,你可以进行两种操作:1).后缀+1; 2)后缀-1: ...
- 基尔霍夫矩阵题目泛做(AD第二轮)
题目1: SPOJ 2832 题目大意: 求一个矩阵行列式模一个数P后的值.p不一定是质数. 算法讨论: 因为有除法而且p不一定是质数,不一定有逆元,所以我们用辗转相除法. #include < ...
- 后缀自动机/回文自动机/AC自动机/序列自动机----各种自动机(自冻鸡) 题目泛做
题目1 BZOJ 3676 APIO2014 回文串 算法讨论: cnt表示回文自动机上每个结点回文串出现的次数.这是回文自动机的定义考查题. #include <cstdlib> #in ...
- FFT与多项式、生成函数题目泛做
题目1 COGS 很强的乘法问题 高精度乘法用FFT加速 #include <cstdlib> #include <iostream> #include <algorit ...
- 二维计算几何基础题目泛做(SYX第一轮)
题目1: POJ 2318 TOYS 题目大意: 给一个有n个挡板的盒子,从左到右空格编号为0...n.有好多玩具,问每个玩具在哪个空格里面. 算法讨论: 直接叉积判断就可以.注意在盒子的边界上面也算 ...
随机推荐
- Android Handler MessageQueue Looper 消息机制原理
提到Android里的消息机制,便会提到Message.Handler.Looper.MessageQueue这四个类,我先简单介绍以下这4个类 之间的爱恨情仇. Message 消息的封装类,里边存 ...
- 040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程
040 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 02 while循环的执行流程 本文知识点:while循环的执行流程 三种循环结构中的第一种--wh ...
- Java知识系统回顾整理01基础03变量05变量命名规则
一.命名规则 变量命名只能使用字母 .数字. $. _ 变量第一个字符 只能使用: 字母. $. _ 变量第一个字符 不能使用数字 注:_ 是下划线,不是-减号或者-- 破折号 int a= 5; i ...
- Ubuntu18.04修改apt-get源
1)备份源文件: sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 2)查看版本信息 如是Linux Mint等Ubuntu衍生版,执行: ...
- vue中,使用 es6的 ` 符号给字符串之间换行
我这里分功能是点击"复制范围",就相当于复制图上的坐标点一样的数据和格式: "复制功能"的代码如下: copyPoints() { const vm = thi ...
- VMware ESXi 客户端连接控制台时,提示“VMRC 控制台连接已断开...正在尝试重新连接”的解决方法
故障描述: 通过 VMware vSphere Client 连接到安装 VMware ESXi 虚拟环境的主机时,当启动其中的虚拟机后,无法连接到控制台. 选择"控制台"时,控制 ...
- C#与sql进行图片存取
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Da ...
- 教你两步快速使用华为HMS沙盒(沙箱)测试
沙盒(沙箱)测试允许在开发者在接入华为应用内支付IAP联调过程中无需真实支付即可完成端到端的测试. 第一步:添加测试账号 在AppGallery Connect中的"用户与访问"添 ...
- 多测师讲解接口测试 _接口测试思路_高级讲师肖sir
- 【idea&spring mvc】搭建简易的spring mvc项目(基于maven)!
一.创建项目 1.打开idea,file--new--project 2.按照步骤①②③④操作 3.输入包名,并点击下一步 4.选择下载包的maven的setting.xml配置路径和包的存放地,然后 ...