题解 - Japanese Student Championship 2021
前言:这场的题解由于蓝桥杯比赛拖延几天才发
关于本篇题解,目前还是有部分题没有解答出来正在加油补题ing
补题链接:Here
A - Competition
题意:给定 \(X,Y,Z\) 代表的意义为,超市一以 Y 元卖 X 克食料包
现在超市二的一包食料包重 \(Z\) 克,请问超市二的售价为多少才能比超市一便宜
思路:
理解一下题意就容易发现:\(\lfloor\frac{YZ - 1}{X}\rfloor\)
B - Xor of Sequences
给定两个严格上升的整数序列 A,B,现求仅出现在A和B的数字,最后结果升序打印
思路:
由于两个序列数据范围不大,直接暴力循环即可
然后赛后看了一下高rank的代码发现了一个函数:set_symmetric_difference
**set_symmetric_difference **可构造区间S1,S2的对称差集(出现于S1但不出现于S2的元素以及出现于S2但不出现于S1的元素);返回值为指向输出区间的尾端。
void solve() {
int n, m;
cin >> n >> m;
vector<int> A(n), B(m);
for (int &x : A) cin >> x;
for (int &x : B) cin >> x;
vector<int> C;
set_symmetric_difference(A.begin(), A.end(), B.begin(), B.end(), back_inserter(C));
for (int x : C) cout << x << " ";
}
C - Max GCD 2
题意:给定一个区间,问 \(A \le x < y \le B\) 求问最大的 \(gcd(x,y)\)
说实话,比赛的时候还真没想到这个方法。
思路:
由于数对 \((x,y)\) 的个数最多 \(2\times 10^{10}\) ,所以我们不可能计算每一对 \((x,y)\) ,相反的、并考虑是非问题“是否存在一对 \((x,y)\) 使得 \(gcd (x,y) = c\)?”
因为 \(c\) 是最大公约数,所以 \(x,y\) 都应该是 \(c\) 的倍数,相反如果在 \([A,B]\) 区间中 \(c\) 的倍数多于两个值,则可以选择 \(x,y\) 使得 \(gcd(x,y) = c\) 成立
由于 \(B \le 2\times10^5\) 所以运行速度会足够快
把上面的话转化为数学表达式:A ~ B 之间 C 的倍数 = (C 的倍数在 \(1\) ~ \(B\) 之间) - (C 的倍数在 \(1\) ~ \(A\) 之间)= \(\lfloor\frac{B}{c}\rfloor - \lfloor\frac{A - 1}{c}\rfloor\)
再转化一下就是检查 \(\lfloor\frac{A}{c}\rfloor < \lfloor\frac{B}{c}\rfloor\)
Show Code
void solve() {
int A, B;
cin >> A >> B;
for (int c = B;; c--)
if ((A + c - 1) / c < B / c) {
cout << c << endl;
return;
}
}
D - Nowhere P
给定质数 \(P\) ,求有多少序列 \((A_1,A_2,\dots,A_N)\) 满足:
\]
显然,当 \(n = 1\) 时答案为 \(P - 1\) ,对应合法序列为 \((1),(2),\dots,(p - 1)\)
之后在这些合法序列后插入新数时,每个序列都有且仅有一个数使得这个数插入后该序列非法(该数即为 \((-\sum_ia_i)\ mod\ p\)
故答案为:\((p -1)(p-2)^{N-1}\)
跑 qpow 的时候记得取模
Show Code
const int mod = 1e9 + 7;
ll qpow(ll a, ll b) {
ll ans = 1;
a %= mod;
for (; b; b >>= 1, a = a * a % mod)
if (b & 1) ans = ans * a % mod;
return ans;
}
void solve() {
ll N, P;
cin >> N >> P;
cout << (P - 1) * qpow(P - 2, N - 1) % mod;
}
E - Level K Palindrome
本题所有的字符串均指只由小写英文字母构成的字符串
对字符串 \(s\),
- 定义其反转为: \(\operatorname{rev}(s)\), 则 \(s\) 是回文串 \(\Longleftrightarrow\) \(s = rev(s)\)
- \(+\) 运算定义为字符串的拼接
- 定义字符串上的变换为:将其中某一字符替换为一小写英文字母
定义 \(k\) 阶回文串如下:
- 空串,非回文串为 \(0\) 阶回文串
- 对 \(i\) 阶非空回文串 \(s\) 定义 \(s + rev(s)\) 为 \(i + 1\) 阶回文串
- 对 \(i\) 阶非空回文串 \(s\) 和单个字符 \(c_i\) \(s + c + rev(s)\) 为 \(i + 1\) 阶回文串
给一字符串 \(s\) 问至少经几次变换可使其恰好为 \(k\) 阶回文串
解题思路
显然,若有解则 \(k\) 不可能过大
待补
F - Max Matrix
有一个长为 \(n\) 的全零序列 \(a\) 和长为 \(m\) 的全零序列 \(b\) ,对其做如下操作
- 将 \(a\) 中的某个数赋一个值
- 将 \(b\) 中的某个数赋一个值
这两种操作一共进行 \(Q\)次,要求每次操作后都要输出
\]
待补
G - Spanning Tree
有n个点,考虑以这n个点为顶点,满足如下条件的所有图:
- 无向图
- 给出一个矩阵 \(A\)
- 若 \(A_{i,j}=0\),则点 \(i\) 和点 \(j\) 间没有边
- 若 \(A_{i,j}=0\),则点 \(i\) 和点 \(j\) 间没有边
- 若 \(A_{i,j}=-1\),则为上述两种情况的任-种
求这些图中树的个数
思路
首先,考虑所以已经存在的边构成的图,如果有环了,则答案一定为0,否则森林中的每个树都可缩成一个点,之后用矩阵树定理即可
H - Shipping
给一个带权无向图,求满足如下条件的子图的最小边权和
\]
题解 - Japanese Student Championship 2021的更多相关文章
- @atcoder - Japanese Student Championship 2019 Qualification - F@ Candy Retribution
目录 @description@ @solution@ @accepted code@ @details@ @description@ 请找到满足以下条件的长度为 N 的非负整数序列 A1, A2, ...
- @atcoder - Japanese Student Championship 2019 Qualification - E@ Card Collector
目录 @description@ @solution@ @accepted code@ @details@ @description@ N 个卡片放在 H*W 的方格图上,第 i 张卡片的权值为 Ai ...
- PAT甲级题解-1047. Student List for Course (25)-排序
一开始是建立了course[2501][40001]数组,存储每节课的学生编号然后for循环两层输出,但这样复杂度为O(2500*40000),也很明显导致最后时间超时后来发现最多40000学生,每个 ...
- yhm的丘赛题解(其中的一些简单题)
有选择地做了丘赛里的一些简单题,不定期更新 目录 [简单组合数学]2011丘赛个人[应数计算数学概统]第3题题解 [拉格朗日多项式插值]2011丘赛个人[应数计算数学概统]第2题题解 [概率] ...
- MySql基本查询、连接查询、子查询、正则表达查询解说
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 查询数据指从数据库中获取所须要的数据.查询数据是数据库操作中最经常使用,也是最重要的操作.用户 ...
- 35. Romantic Love and Ideal Romantic Relationship 爱情及理想爱情关系
35. Romantic Love and Ideal Romantic Relationship 爱情及理想爱情关系 ① Romantic love has clear evolutionary r ...
- mysql数据库查询
查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以根据自己对数据的需求,使用不同的查询方式.通过不同的查询方式,可以获得不同的数据.MySQL中是使用SEL ...
- Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解
查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以根据自己对数据的需求,使用不同的查询方式.通过不同的查询方式,可以获得不同的数据.MySQL中是使用SEL ...
- OI卷题记录
2021.8.2 LG3386 匈牙利算法 二分图 LG1377 笛卡尔树 题解 2021.8.3 LG2962 \(\text{Meet in middle}\) LG3389 高斯消元 高斯-约旦 ...
- Solution Set - 神奇 NOIP 模拟赛
\[\mathfrak{\text{Defining }\LaTeX\text{ macros...}}\newcommand{\vct}[1]{\boldsymbol{#1}}\newcommand ...
随机推荐
- Golang中如何自定义时间类型进行xml、json的序列化/反序列化
在日常开发工作中,我们进行会遇到将 struct 序列化 json字符串以及将 json字符串 反序列化为 struct 的场景,大家也对此十分熟悉. 最近工作中,遇到了需要将 struct 序列化 ...
- 初探webpack之单应用多端构建
初探webpack之单应用多端构建 在现代化前端开发中,我们可以借助构建工具来简化很多工作,单应用多端构建就是其中应用比较广泛的方案,webpack中提供了loader与plugin来给予开发者非常大 ...
- 数据驱动决策,Datainside引领可视化报告新时代
数据驱动决策已经成为当今社会中的重要趋势,而Datainside作为一家数据可视化报告平台,正引领着可视化报告的新时代.下面是关于Datainside平台的详细描述. 数据集成与连接 Datainsi ...
- Java八股面试题整理(1)
1.为什么Java代码可以实现一次编写,到处运行? 参考答案 JVM(Java虚拟机)是Java跨平台的关键. 在程序运行前,Java源代码(.java)需要经过编译器编译成字节码(.class).在 ...
- Java实现相似结构表算法
[产品需求] 对所有元数据进行分析,匹配出表字段相似度达到阈值的向相似结构表关系数据. 网上没有搜到相关算法实现,只能自己动手了. [算法实现] 简单点实现的话,可以轮询所有表,每张表都和其它表进行匹 ...
- [ARC169E] Avoid Boring Matches
题解链接 非常厉害的一道题. 考虑无解是什么情况? R 的个数超过 \(2^{n-1}\) 先考虑如何判定.从前往后考虑,如果遇到一个 B,那么如果后面有 R,就选最靠前的 R,否则选最靠后的一个 B ...
- hbase报错 ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
hbase报错:hbase shell能打开 网页也能打开 但是一执行命令就开始报错. 原因:hadoop的安全模式打开. 解决方法:关闭安全模式 ,再重新启动HBase就可以了. 具体的命令: 1. ...
- Python实现贪吃蛇大作战
贪吃蛇 初始版本 初始版本,只存在基本数据结构--双向队列. 游戏思路 贪吃蛇通过不断得吃食物来增长自身,如果贪吃蛇碰到边界或者自身则游戏失败. 食物是绿色矩形来模拟,坐标为随机数生成,定义一个蛇长变 ...
- .NET开发中合理使用对象映射库,简化和提高工作效率
前言 在日常开发中,我们常常需要将一个对象映射到另一个对象,这个过程中可能需要编写大量的重复性代码,如果每次都手动编写,不仅会影响开发效率,而且当项目越来越复杂,庞大的时候还容易出现错误.为了解决这个 ...
- 安装服务器提示A debugger has been found running in your system. Please, unload it from memory and restart
解决方法:运行msconfig,取消调试模式,重启电脑再安装