实在是打击人信心的一场比赛啊……一不注意就掉了 50+ 分,rating 没了啊/ll/dk/wq/kk

A

Weak pretest!!!!!11 /fn/fn/fn

一个很显然的注意点是在交换前后,对于每一种数 \(c\) 而言,奇数位上的 \(c\) 中朝右的人数的奇偶性不会发生变化,偶数位上的 \(c\) 中朝右的人数的奇偶性也不会发生变化,因此我们只需检验排序前后奇偶位上数的组成是否相同即可,时间复杂度 \(Tn\log n\)。

现场降智选手,指我无疑了

B

首先根据手玩样例法可以发现 \(\dbinom{13}{5}=\dbinom{13}{8}=1287,\dbinom{13}{4}=\dbinom{13}{9}=715\),因此考虑 \(5,8\),以及后面的 \(4,9\) 是个什么东西,再通过瞪眼法可以发现 \(8\) 恰好是样例中 \(0\) 的个数,\(5\) 恰好是每个全 \(1\) 段中 \(1\) 的个数除以二下取整,于是写个组合数求一求即可。

证明?别问我,我什么也不知道

C

首先记目前没有确定是否被划分进集合的排列的集合为 \(S\),那么我们枚举 \(S\) 中每一个排列 \(p\),如果排列 \(p\) 中存在一个位置满足 \(S\) 中没有其他排列和它值相同,那么根据题目的性质显然它只能在前 \(n\) 个排列中,与此同时我们把与它有重复值的排列设为“不在前 \(n\) 个排列中”并从 \(S\) 中删去;否则根据抽屉原理,每个数在 \(S\) 对应的列中必须恰好出现了两次,这也就意味着那些在原拉丁方阵中的排列和不在原拉丁方阵中的排列是平分秋色的,都能和已经选出的排列集合组成拉丁方阵,此时我们需要将答案乘以 \(2\),并随便选择一个排列设为在拉丁方阵中,并将与其存在重复值的排列从 \(S\) 中删除,重复以下步骤直到选出 \(n\) 个排列为止即可。

时间复杂度 \(n^3\)。

D

我们考虑求出每个排列所有时刻坐标的和 \(s1_i\) 以及平方和 \(s2_i\),记 \(S=\sum\limits_{i=1}^mv_i,T=\sum\limits_{i=1}^mv_i^2\),那么如果没有错误元素,一定有 \(s1_{i+1}-s1_i=S\),由此可以确定错误元素所在的时刻 \(p\),而根据第 \(j\) 个人 \(i\) 时刻的坐标为 \(x_{j}+i·v_j\) 可知,对于三个连续的时刻 \(t-1,t,t+1\),有

\[\begin{cases}
\sum\limits_{j=1}^m(x_j+(t-1)·v_j)^2=s2_{t-1}\\
\sum\limits_{j=1}^m(x_j+t·v_j)^2=s2_{t}\\
\sum\limits_{j=1}^m(x_j+(t+1)·v_j)^2=s2_{t+1}
\end{cases}
\]

一式加三式减两倍的二式,得

\[T=\dfrac{s2_{t-1}+s2_{t+1}-2s2_t}{2}
\]

由此可以确定第 \(i\) 行所有坐标的和及平方和,这样我们枚举修改的元素是哪个,根据第 \(i\) 行坐标的和求出被改前的元素,并 check 平方和是否满足要求即可。

时间复杂度 \(nm\)。

Codeforces Round #732 (Div.1) 题解的更多相关文章

  1. Codeforces Round #182 (Div. 1)题解【ABCD】

    Codeforces Round #182 (Div. 1)题解 A题:Yaroslav and Sequence1 题意: 给你\(2*n+1\)个元素,你每次可以进行无数种操作,每次操作必须选择其 ...

  2. Codeforces Round #608 (Div. 2) 题解

    目录 Codeforces Round #608 (Div. 2) 题解 前言 A. Suits 题意 做法 程序 B. Blocks 题意 做法 程序 C. Shawarma Tent 题意 做法 ...

  3. Codeforces Round #525 (Div. 2)题解

    Codeforces Round #525 (Div. 2)题解 题解 CF1088A [Ehab and another construction problem] 依据题意枚举即可 # inclu ...

  4. Codeforces Round #528 (Div. 2)题解

    Codeforces Round #528 (Div. 2)题解 A. Right-Left Cipher 很明显这道题按题意逆序解码即可 Code: # include <bits/stdc+ ...

  5. Codeforces Round #466 (Div. 2) 题解940A 940B 940C 940D 940E 940F

    Codeforces Round #466 (Div. 2) 题解 A.Points on the line 题目大意: 给你一个数列,定义数列的权值为最大值减去最小值,问最少删除几个数,使得数列的权 ...

  6. Codeforces Round #677 (Div. 3) 题解

    Codeforces Round #677 (Div. 3) 题解 A. Boring Apartments 题目 题解 简单签到题,直接数,小于这个数的\(+10\). 代码 #include &l ...

  7. Codeforces Round #665 (Div. 2) 题解

    Codeforces Round #665 (Div. 2) 题解 写得有点晚了,估计都官方题解看完切掉了,没人看我的了qaq. 目录 Codeforces Round #665 (Div. 2) 题 ...

  8. Codeforces Round #160 (Div. 1) 题解【ABCD】

    Codeforces Round #160 (Div. 1) A - Maxim and Discounts 题意 给你n个折扣,m个物品,每个折扣都可以使用无限次,每次你使用第i个折扣的时候,你必须 ...

  9. Codeforces Round #383 (Div. 2) 题解【ABCDE】

    Codeforces Round #383 (Div. 2) A. Arpa's hard exam and Mehrdad's naive cheat 题意 求1378^n mod 10 题解 直接 ...

随机推荐

  1. 【二食堂】Beta - Scrum Meeting 10

    Scrum Meeting 10 例会时间:5.25 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 继续文本导入.保存部分的工作issue 2. 完成了技术博客 1. 继续文 ...

  2. SpringBoot小知识点

    记录SpringBoot的小知识点 一.在 Spring 上下文刷新之前设置一些自己的环境变量 1.实现 EnvironmentPostProcessor 接口 2.spring.factories ...

  3. Noip模拟7 2021.6.11

    前言 考试时候der展了,T1kmp没特判(看来以后还是能hash就hash),T2搜索细节没注意,ans没清零,130飞到14.... T1 匹配(hash/kmp) 这太水了,其实用个hash随便 ...

  4. MIPI的走线阻抗

    MIPI的走线阻抗100欧的要求是根据LVDS(Low Voltage Differential Signaling)电平定义的. LVDS差分信号PN两线最大幅度是350mV,内部一个恒流源电流是3 ...

  5. filter tools

    // 过滤商品分类 Vue.filter("cateFilter", (data) => {   let tmp = ["一级分类", "二级分 ...

  6. 精心整理Java微服务最全面试题集(含答案)

    微服务架构相关 大型网站架构演变过程 网站架构演变演变过程 传统架构 → 分布式架构 → SOA架构 → 微服务架构 什么是分布式架构 分布式架构就是将传统结构按照模块进行拆分,不同的人负责不同的模块 ...

  7. mysql查询表名和列名字

    -- 登录yellowcong 数据库 mysql -uroot -proot yellowcong -- 查看当前数据库 select database() -- 查看数据库里面的表 --table ...

  8. sudo user1账号获得管理员root的权限

    user1虽然有sudo权限,但不是真正的root权限,修改内核参数之类的就做不了 但是有sudo权限就可以添加账号,以下添加了admin账号与root账号一样的权限 useradd -u 0   - ...

  9. Javafx-【直方图】文本频次统计工具 中文/英文单词统计

    上周倒腾了下 javafx,本来是做平时成绩系统.跟老师提了一下 javafx,他突然兴起,发了个统计中文和英文单词并以直方图显示的实验......只给两三天的期限,笑着说考验我们的潜力SOS,于是带 ...

  10. js中function (res) {}与(res) =>{}的区别

    这里是引用function (res) {} 中 打印this时是undefined 打印that时是有内容的                let that = this;              ...