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)的更多相关文章

  1. Codeforces Round #674 (Div. 3) C、D 题解

    C.Increase and Copy #枚举 题目链接 题意 最初你有仅包含一个数字\(1\)的数组\(a\),一次操作中可对该数组进行两类操作: 从数组中选择一个元素,将该元素\(+1\): 从数 ...

  2. Codeforces Round #674 (Div. 3) F. Number of Subsequences 题解(dp)

    题目链接 题目大意 给你一个长为d只包含字符'a','b','c','?' 的字符串,?可以变成a,b,c字符,假如有x个?字符,那么有\(3^x\)个字符串,求所有字符串种子序列包含多少个abc子序 ...

  3. 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 ...

  4. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  5. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  6. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  7. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

  8. 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 ...

  9. 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 ...

随机推荐

  1. Linux常用命令合集(一)

    1.处理目录的常用命令: ls(英文全拼:list files): 列出目录及文件名 cd(英文全拼:change directory):切换目录 pwd(英文全拼:print work direct ...

  2. 判断app访问还是web访问网站

    function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", " ...

  3. python中拿不到字典value值得问题解决

    在python项目的练习中,根据字典的key值get不到value值,如图所示: 最后,将user = self.allUsers.get(cardNum)改成user = self.allUsers ...

  4. 查询时间段内所有日期(限foton)

    String dataStr = "2019-04"; try { Date date = DateUtils.parseDate(dataStr); Date startTime ...

  5. 一个Task.Factory.StartNew的错误用法

    同事写了这样一段代码: FactoryStartNew类: using System; using System.Collections.Generic; using System.Linq; usi ...

  6. 用GitHub Pages搭建博客(二)

    本篇介绍基本GitHub Pages的搭建流程 GitHub账号及仓库创建 登录GitHub,录入用户名.邮箱.密码,创建成功后登录进入. 注册时,邮箱建议不使用QQ邮箱.因为一些第三方部署类网站不支 ...

  7. GPRS DTU工作的原理与应用场景

    GPRS DTU是属于物联网无线数据终端设备的中一种,它主要是利用公用运营商的GPRS网络(又称G网)来为用户提供无线长距离数据传输的功能.一般都是采用的高性能工业级8/16/32位通信处理器和工业级 ...

  8. 02.django配置跨域并开发测试接口

    1.创建一个测试项目   1.1 创建项目和APP   '''1.创建项目和APP''' django-admin startproject BookManage # 创建项目 python mana ...

  9. hadoop使用实例

    一.词频统计 1.下载喜欢的电子书或大量文本数据,并保存在本地文本文件中 2.编写map与reduce函数 3.本地测试map与reduce 4.将文本数据上传至HDFS上 5.用hadoop str ...

  10. Markdown tricks

    编辑排版 仅仅了解 Markdown 语法还不够,知道这些 排版技巧 增色您的文章内容. 空格和空行 留白,从艺术角度上说,留白就是以"空白"为载体进而渲染出美的意境的艺术.从应用 ...