是个补题记录。

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\) 个,最后一个是朋友打的答案,那么有如下转移:

\[f_i=\min(g_{i-1},g_{i-2})
\]

\[g_i=\min(f_{i-1}+a_i,f_{i-2}+a_{i-1}+a_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\) 位置上的。可以很容易写出转移方程:

\[f_i=\min\limits_{i\leq k<i}(g_k+x_i)
\]

\[g_i=\min\limits_{i\leq k<i}(f_k-x_i)
\]

在 DP 的过程中同时维护 \(f\) 和 \(g\) 的前缀最大值就可以了,还是要注意一下初值。所给代码中的 \(f\) 和 \(g\) 表示前缀最大值。

代码

CF1420C2 Pokémon Army (hard version)

题解

CF1420D Rescue Nibel!

题解

CF1420E Battle Lemmings

题解

1426

没打,赛后打了一下,大概是 70min 左右切了 6 个题。

CodeForces 题目乱做的更多相关文章

  1. BZOJ 题目乱做

    记录一点在 BZOJ 上做的题. 众所周知原 BZOJ 炸掉了,于是跑去了 HydroOJ 的 BZOJ 域上面做. 目录 P1001 [Beijing2006]狼抓兔子 P1002 [FJOI200 ...

  2. jzyz 题库 题目选做

    题库中也有很多我想不出来的模拟赛的题目.做还是必要的.做自己的题目 时间很紧 想想自己的文化课 我又没有那么强 我必须得刷. LINK:水题一道 发现是一道计数题 计数题拿高分的才是王者,但是 计数题 ...

  3. 2017国家集训队作业Atcoder题目试做

    2017国家集训队作业Atcoder题目试做 虽然远没有达到这个水平,但是据说Atcoder思维难度大,代码难度小,适合我这种不会打字的选手,所以试着做一做 不知道能做几题啊 在完全自己做出来的题前面 ...

  4. CF 题目选做

    写省选的题目对noip没什么大用 关键是 细节题或者是思考题比较重要 练思维自然是CF比较好了 把我见到的比较好的CF题放上来刷一刷. LINK:Complete the projects 就是说一个 ...

  5. 一道codeforces题目引发的差分学习

    Codeforces Round #688 (Div. 2) 题目:B. Suffix Operations 题意:给定一个长为n的数组a,你可以进行两种操作:1).后缀+1;     2)后缀-1: ...

  6. 基尔霍夫矩阵题目泛做(AD第二轮)

    题目1: SPOJ 2832 题目大意: 求一个矩阵行列式模一个数P后的值.p不一定是质数. 算法讨论: 因为有除法而且p不一定是质数,不一定有逆元,所以我们用辗转相除法. #include < ...

  7. 后缀自动机/回文自动机/AC自动机/序列自动机----各种自动机(自冻鸡) 题目泛做

    题目1 BZOJ 3676 APIO2014 回文串 算法讨论: cnt表示回文自动机上每个结点回文串出现的次数.这是回文自动机的定义考查题. #include <cstdlib> #in ...

  8. FFT与多项式、生成函数题目泛做

    题目1 COGS 很强的乘法问题 高精度乘法用FFT加速 #include <cstdlib> #include <iostream> #include <algorit ...

  9. 二维计算几何基础题目泛做(SYX第一轮)

    题目1: POJ 2318 TOYS 题目大意: 给一个有n个挡板的盒子,从左到右空格编号为0...n.有好多玩具,问每个玩具在哪个空格里面. 算法讨论: 直接叉积判断就可以.注意在盒子的边界上面也算 ...

随机推荐

  1. Cesium系统学习整理(一)

    (一)Cesium的概念定义 Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎.Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的 ...

  2. Tomcat 8.5中获取客户端真实IP及协议

    获取客户端真实IP ServletRequest接口提供了getRemoteAddr方法用于获取客户端IP,但是当客户端通过代理服务器访问后端服务器的时候,服务器调用getRemoteAddr方法会返 ...

  3. MySQL触发器初试:当A表插入新记录,自动在B表中插入相同ID的记录

    今天第一次用MySQL的触发器,怕忘了,赶紧写篇博客记录一下. 废话不说,先上语法: 1 CREATE TRIGGER trigger_name 2 { BEFORE | AFTER } { INSE ...

  4. windbg分析dump-解决mscorwks不匹配

    目录 前言 什么是mscorwks 什么是SOS 什么是mscordacwks 上述错误是什么意思? 什么时候会出现该错误 如何修复错误 符号文件目录规则 相关资料 前言 在使用.net的生产环境时, ...

  5. Sequence(Poj2442)

    Sequence(Poj2442) 题意: 有m个数列,每个数列n个值,每个序列中选取一个值可以组成n^m种不同的序列,求前n小的序列和. Input 12 31 2 32 2 3 Output 3 ...

  6. 一种基于均值不等式的Listwise损失函数

    一种基于均值不等式的Listwise损失函数 1 前言 1.1 Learning to Rank 简介 Learning to Rank (LTR) , 也被叫做排序学习, 是搜索中的重要技术, 其目 ...

  7. 引用类型之Array(二)

    操作方法 concat( ) concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 语法 arrayObject.concat(arrayX,a ...

  8. .net网站自动化部署-致两年前的遗留的问题

    又到一年国庆,终于有了难得的几天空闲,计划陪陪媳妇娃子,再把最近阅读的几本相关书总结梳理下.当然,计划总是美好的,于时接到了一个老朋友电话.大意是他搞了一个.net小网站,部署了4个节点,每次更新程序 ...

  9. MYSQL 50 基础题 (转载)

    MYSQL 50 基础题 (转载) 前言:最近在强化MYSQL 能力 答案在(也是转载处) https://www.cnblogs.com/kangxinxin/p/11585935.html 下面是 ...

  10. h2database在springboot中的使用

    h2为轻量级数据库,使用特别方便,它可以不使用数据库服务器,直接嵌入到java程序中.可以配置持久化,同样也可以不持久化(数据在内存中)进程结束后,数据就释放,用做测试和演示特别方便.自带后台管理,非 ...