Codeforces Round #663 (Div. 2) (A~C题,C题 Good)
比赛链接:Here
1391A. Suborrays
简单构造题,
把 \(n\) 放最前面,接着补 \(1\) ~ \(n - 1\) 即可
1391B. Fix You
\((1,1)\) -> \((n,m)\) 统计相应个数的 R 和 D 即可
char a[110][110];
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int _; for (cin >> _; _--;) {
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; ++i)
for (int j = 1 ; j <= m; ++j) cin >> a[i][j];
int sum = 0;
for (int i = 1; i < m; ++i) if (a[n][i] != 'R')sum += 1;
for (int i = 1; i < n; ++i) if (a[i][m] != 'D')sum += 1;
cout << sum << "\n";
}
}
1391C. Cyclic Permutations (Good)
先说结论:\(n! - 2^{n - 1}\)
对于任意的循环排列,例如 [4, 2,3,1,5,6] 它包含许多长度为3的循环: [1,2,3],[1,3,5],[3,4,5] 。请注意,所有列出的循环都包含仅从一个i选项中获得的节点。我们可以将其概括为以下几点。如果对于任何一个i,我们在它的两边做边,这将创建一个长度为3的简单循环。证明很简单。
因此,最多只能有一个峰值,即元素 \(n\) ~ 所有非循环排列都会增加,然后达到 \(n\) ,最后减少。这些形式上称为单峰置换,很容易看出,任何单峰置换都形成一棵树,因此不包含简单的循环-除了n之外,每个元素都有一个唯一定义的父元素。
我们可以通过将数字n,n相加来构造任何单峰排列−1,…,1按相同顺序排列成一个三角形。例如,[2,3,4,1]可以通过先将4,3,2推到前面,最后将1推到后面来构造。因此,对于除n之外的每个元素,我们可以选择将其推到前面或后面,使路径总数等于 \(2^{n - 1}\) .
const int mod = 1e9 + 7;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int n;
cin >> n;
ll a = 1, b = 1;
for (int i = 1; i <= n; ++i) a = a * i % mod;
for (int i = 1; i < n; ++i) b = b * 2 % mod;
cout << (a + mod - b) % mod;
}
Codeforces Round #663 (Div. 2) (A~C题,C题 Good)的更多相关文章
- Codeforces Round #575 (Div. 3) 昨天的div3 补题
Codeforces Round #575 (Div. 3) 这个div3打的太差了,心态都崩了. B. Odd Sum Segments B 题我就想了很久,这个题目我是找的奇数的个数,因为奇数想分 ...
- Codeforces Round #367 (Div. 2) A. Beru-taxi (水题)
Beru-taxi 题目链接: http://codeforces.com/contest/706/problem/A Description Vasiliy lives at point (a, b ...
- Codeforces Round #334 (Div. 2) A. Uncowed Forces 水题
A. Uncowed Forces Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/604/pro ...
- Codeforces Round #303 (Div. 2) D. Queue 傻逼题
C. Woodcutters Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/545/probl ...
- Codeforces Round #327 (Div. 2) A. Wizards' Duel 水题
A. Wizards' Duel Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/591/prob ...
- Codeforces Round #306 (Div. 2) A. Two Substrings 水题
A. Two Substrings Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/550/pro ...
- Codeforces Round #371 (Div. 2) D. Searching Rectangles 交互题 二分
D. Searching Rectangles 题目连接: http://codeforces.com/contest/714/problem/D Description Filya just lea ...
- Codeforces Round #360 (Div. 2) B. Lovely Palindromes 水题
B. Lovely Palindromes 题目连接: http://www.codeforces.com/contest/688/problem/B Description Pari has a f ...
- Codeforces Round #353 (Div. 2) A. Infinite Sequence 水题
A. Infinite Sequence 题目连接: http://www.codeforces.com/contest/675/problem/A Description Vasya likes e ...
- Codeforces Round #146 (Div. 1) A. LCM Challenge 水题
A. LCM Challenge 题目连接: http://www.codeforces.com/contest/235/problem/A Description Some days ago, I ...
随机推荐
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-33-处理https 安全问题或者非信任站点-上篇
1.简介 这一篇宏哥主要介绍playwright如何在IE.Chrome和Firefox三个浏览器上处理不信任证书的情况,我们知道,有些网站打开是弹窗,SSL证书不可信任,但是你可以点击高级选项,继续 ...
- Linux驱动开发笔记(五):驱动连接用户层与内核层的文件操作集原理和Demo
前言 驱动写好后,用户层使用系统函数调用操作相关驱动从而实现与系统内核的关联,本篇主要就是理解清楚驱动如何让用户编程来实现与内核的交互. 杂项设备文件操作集 cd /usr/src/linux ...
- JAVAweek4
本周学习: 1.JAVA环境的搭建,包括JDK的下载,和classpath环境设置 2.*.java和*.class程序的运行 class Demo {public static void main( ...
- RLHF · PBRL | B-Pref:生成多样非理性 preference,建立 PBRL benchmark
论文题目:B-Pref: Benchmarking Preference-Based Reinforcement Learning,2021 NeurIPS Track Datasets and Be ...
- Markdown语法入门与进阶指南
一.Markdown简介 Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(john Gruber).它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文 ...
- python函数定义、调用、参数、返回
python函数定义语法: 定义: Def foo(): print('bar') print('bar2') 如果函数内容特别少,可以一行定义 : Def foo(): print('bar') ...
- 分区管理工具 fdisk parted
目录 一.fdisk工具 创建一个磁盘分区 1.虚拟机添加测试硬盘 2.创建磁盘分区 3.文件系统管理磁盘分区 4.挂载 二.parted命令 使用场景 操作命令 'help'查看命令列表 查看分区情 ...
- 从根上理解elasticsearch(lucene)查询原理(2)-lucene常见查询类型原理分析
大家好,我是蓝胖子,在上一节我提到要想彻底搞懂elasticsearch 慢查询的原因,必须搞懂lucene的查询原理,所以在上一节我分析了lucene查询的整体流程,除此以外,还必须要搞懂各种查询类 ...
- C# 基础编程题集锦
简单字符串加密 编写一个应用程序用来输入的字符串进行加密,对于字母字符串加密规则如下: 'a→d' 'b'→'e' 'w'→z' ...... x'→'a' 'y'→b' 'z→c' 'A'→'D' ...
- 神经网络优化篇:详解正则化(Regularization)
正则化 深度学习可能存在过拟合问题--高方差,有两个解决方法,一个是正则化,另一个是准备更多的数据,这是非常可靠的方法,但可能无法时时刻刻准备足够多的训练数据或者获取更多数据的成本很高,但正则化通常有 ...