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. 循序渐进VUE+Element 前端应用开发(24)--- 修改密码的前端界面和ABP后端设置处理

    用户在系统登录后,一般会提供一个入口给当前用户更改当前的密码,其实更改密码操作是很简单的一个处理,不过本篇随笔主要是介绍结合前后端来实现这个操作,后端是基于ABP框架的,需要对密码的安全性进行一个设置 ...

  2. 如何处理 Kubeadm 搭建的集群证书过期问题

    Kubeadm 证书过期处理 以下内容参考了如下链接:https://www.cnblogs.com/skymyyang/p/11093686.html 一.处理证书已过期的集群 使用 kubeadm ...

  3. mshadow入门指南

    mshadow是一个基于表达式模板实现的张量库,在MXNet框架中被广泛使用.这篇文章简单介绍了mshadow的基本用法和特性,文章主要翻译自mshadow/guide/README. 张量数据结构 ...

  4. Linux使用tmux

    Tmux功能: 提供了强劲的.易于使用的命令行界面.可横向和纵向分割窗口.窗格可以自由移动和调整大小,或直接利用四个预设布局之一.支持 UTF-8 编码及 256 色终端.可在多个缓冲区进行复制和粘贴 ...

  5. Learn day9 粘包\struct用法\hashlib校验\socketserver并发\模块引入\进程\join\守护进程

    1.粘包现象 总结 : 导致黏包现象的两种情况 hello,worl d (1) 在发送端,发送数据太快,频繁发送 (2) 在接收端,接收数据太慢,延迟截取 # ### 服务端 import sock ...

  6. C#3新增语法特性

    C#3,.Net Framework 3.5 ,Visual Studio 2008, CLR 3.0 C#3.0新引进的语法基于.Net Framework 3.5.主要引进的语法:Linq,隐式类 ...

  7. c++11-17 模板核心知识(一)—— 函数模板

    1.1 定义函数模板 1.2 使用函数模板 1.3 两阶段翻译 Two-Phase Translation 1.3.1 模板的编译和链接问题 1.4 多模板参数 1.4.1 引入额外模板参数作为返回值 ...

  8. Thinkphp3.2 cms之文章模块

    二.文章模块 <?php namespace Admin\Controller; use Think\Controller; class NewController extends Common ...

  9. 转载:java web 项目中如何设置项目打开的默认页面

    通过博客学到的两种方法总结: 一.在web.xml文件中加入: 此时项目打开的默认页面就是loginS.html 二.在WebContent文件夹下添加index.jsp文件,此时这个index.js ...

  10. asp.net利用SmtpClient发送邮件

    using System; using System.Data; using System.Web.UI; using System.Data.OracleClient; using DBUtilit ...