Codeforces Round #674 (Div. 3)
A
除一下就完了。
时间复杂度 \(O\left(t\right)\)。
B
分在对称线上的矩阵和不在对称线上的矩阵讨论。
时间复杂度 \(O\left(tn^2\right)\)。
C
肯定是先增加值再复制。根据小学就学过的结论,元素的值都等于元素个数时最优,或者在此基础上让值或个数增加 \(1\)。
时间复杂度 \(O\left(t\right)\)。
D
因为可以插入任意整数,而值域是有限的,所以插入一个数相当于将序列分成互不影响的两部分。
考虑从前往后插,插入相同次,显然最后插入位置越靠后越优。用个 map 记录一下即可。
时间复杂度 \(O\left(n\log n\right)\)。
E
第二问显然能赢就赢。
第一问的结论证明先鸽着。
时间复杂度 \(O\left(1\right)\)。
F
倒着扫,我们用 \(c_i,bc_i,abc_i,now_i\) 分别表示 \(i+1\sim n\) 位存在子序列 \(\texttt{c,bc,abc}\) 的个数和到第 \(i\) 位 \(\texttt?\) 的数量。
当 \(s_i\not=\texttt?\) 时:
\(\begin{cases}s_i=\texttt c\qquad c_i=c_{i-1}+3^{now_i}\\s_i=\texttt b\qquad bc_i=bc_{i-1}+c_{i-1}\\s_i=\texttt a\qquad abc_i=abc_{i-1}+bc_{i-1}\end{cases}\)
对于一个新的 \(\texttt c\),后面的每一个 \(\texttt?\) 都可以随便填。
对于一个新的 \(\texttt b\),后面必须存在 \(\texttt c\) 才能构成子序列 \(\texttt{bc}\)。
对于一个新的 \(\texttt a\),后面必须存在 \(\texttt{bc}\) 这个子序列才能构成子序列 \(\texttt{abc}\)。
当 \(s_i=\texttt?\) 时:
\(\begin{cases}c_i=c_{i-1}\times 3+3^{now_{i-1}}\\bc_i=bc_{i-1}\times 3+c_{i-1}\\abc_i=abc_{i-1}\times 3+bc_{i-1}\end{cases}\)
当前这一位随便填计算先前的 \(\texttt c\) 和当前这一位填 \(\texttt c\) 构成新的 \(\texttt c\) 这两种情况。
当前这一位随便填计算先前的 \(\texttt{bc}\) 和当前这一位填 \(\texttt b\) 构成新的 \(\texttt{bc}\) 这两种情况。
当前这一位随便填计算先前的 \(\texttt{abc}\) 和当前这一位填 \(\texttt a\) 构成新的 \(\texttt{abc}\) 这两种情况。
然后这道题就被你秒掉了,时间复杂度 \(O\left(n\right)\)。
Codeforces Round #674 (Div. 3)的更多相关文章
- Codeforces Round #674 (Div. 3) C、D 题解
C.Increase and Copy #枚举 题目链接 题意 最初你有仅包含一个数字\(1\)的数组\(a\),一次操作中可对该数组进行两类操作: 从数组中选择一个元素,将该元素\(+1\): 从数 ...
- Codeforces Round #674 (Div. 3) F. Number of Subsequences 题解(dp)
题目链接 题目大意 给你一个长为d只包含字符'a','b','c','?' 的字符串,?可以变成a,b,c字符,假如有x个?字符,那么有\(3^x\)个字符串,求所有字符串种子序列包含多少个abc子序 ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
- Codeforces Round #262 (Div. 2) 1003
Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...
- Codeforces Round #262 (Div. 2) 1004
Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...
随机推荐
- Django model总结(上)
Django model是django框架中处于比较核心的一个部位,准备分三个博客从不同的方面分别进行阐述,本文为<上篇>,主要对[a]Model的基本流程,比如它的创建,迁移等:默认行为 ...
- Java安全之Commons Collections7分析
Java安全之Commons Collections7分析 0x00 前言 本文讲解的该链是原生ysoserial中的最后一条CC链,但是实际上并不是的.在后来随着后面各位大佬们挖掘利用链,CC8,9 ...
- .Net/.Net Core 的界面框架 NanUI 发布新版本啦!
发布前感悟 NanUI 自从上一次更新 NanUI 0.7 已经过去大半年,B站和头条的教学视频也只制作到了第二集. 有朋友悄悄问我是不是发生什么事故我删库跑路了所以那么长时间不更新项目不发布教程,当 ...
- 初始化vue项目
1.创建vue项目命令 vue init webpack deaxios # 使用脚手架创建项目 deaxios(项目名,随便取得) cd deaxios # 进入项目 npm install axi ...
- Learn day1 变量/数据类型
1.Python 简介 (1) 1989年开发的语言,创始人范罗苏姆(Guido van Rossum),别称:龟叔(Guido). (2) python具有非常多并且强大的第三方库,使得程序开发起来 ...
- 微信小程序-游记分享(无后台)
游记分享 博客班级 https://edu.cnblogs.com/campus/zjcsxy/SE2020 作业要求 https://edu.cnblogs.com/campus/zjcsxy/SE ...
- python求平均数及打印出低于平均数的值列表
刚学Python的时候还是要多动手进行一些小程序的编写,要持续不断的进行,知识才能掌握的牢.今天就讲一下Python怎么求平均数,及打印出低于平均数的数值列表 方法一: scores1 = [91, ...
- SpringCloud之Gateway
一.为什么选择SpringCloud Gateway而不是Zuul? Gateway和Zuul的职责一样,都承担着请求分发,类似Nginx分发到后端服务器. 1.SpingCloud Gateway ...
- 【SpringCloud】02.微服务与SpringCloud
微服务的特点 一系列微小的服务共同组成 跑在自己的进程里 每个服务为独立的业务开发 独立部署 分布式管理 异构--不同的语言.不同类型的数据库 微服务架构的基础框架/组件 服务注册发现 服务网关(Se ...
- phpword读取内容和样式 生成新的内容
table样式还未读出 正在测试中, 目前有 rows cell textrun等样式 顺序不固定 可以设定 <?php require 'vendor/autoload.php'; use P ...