是个补题记录。

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. python3-day5

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  2. Android小部件Widget开发过程中的坑和总结

    @ 目录 概述 官方参考 效果图 AndroidManifest.xml Receiver Service Options res/xml/ widget_desktop_options.xml 常用 ...

  3. 一次性升级所有python包的靠谱并且简单的方法

    1.  用pip-review包pip install pip-review   #安装包pip-review --auto        #自动批量升级指令2.  编写代码import pipfro ...

  4. 这里有一份Java程序员的珍藏书单,请您注意查收

    前言 不要因为迷茫,而停止了脚下前进的路.给大家推荐一份Java程序员必看的书单,豆瓣评分都挺不错的,每一本都值得去读,都值得去收藏,加油呀 本文已经收录到github https://github. ...

  5. Python练习题 044:Project Euler 016:乘方结果各个数值之和

    本题来自 Project Euler 第16题:https://projecteuler.net/problem=16 ''' Project Euler 16: Power digit sum 2* ...

  6. LRC 滚动器 + Vue.js

    LRC 滚动展示VueJS cnblogs @ Orcim  最 近一直在学习尤大大的这个前端框架.Vue 无疑是一款极易上手的前端框架,因为官方的文档就是中文的,十分"本土化", ...

  7. Jmeter JDBC Request 使用详解

    本篇博文讲解以MySQL为例,搞懂JDBC Request中MySQL的使用方法,换成其它数据库, 如Oracle.PSQL也会很容易上手. 一.基本配置 1.首先我们先了解一下,不同数据库的驱动类和 ...

  8. 【3】Java面试-Servlet

    Servlet面试问题 Q1.什么是servlet? Java Servlet是服务器端技术,通过提供对动态响应和数据持久性的支持来扩展Web服务器的功能. javax.servlet和javax.s ...

  9. ORA-00001: unique constraint (string.string) violated 违反唯一约束条件(.)

    ORA-00001: unique constraint (string.string) violated   ORA-00001: 违反唯一约束条件(.) Cause: An UPDATE or I ...

  10. SpringBoot整合Mybatis 编译失败:找不到符号 程序包不存在

    问题描述:jpa不好用,转用mybatis,配置多数据源  但是配置后无法编译mvn clean install  dao层这些报错,找不到entity的包     问题解决:罪魁祸首:热部署的部分 ...