首页 > TAG信息列表 > MtOI2019

「题解」Luogu P5518 [MtOI2019]幽灵乐团 / 莫比乌斯反演基础练习题

P5518 [MtOI2019]幽灵乐团 / 莫比乌斯反演基础练习题 Description 多测。 在一开始给定模数 \(p\)。 每次给定 \(3\) 个正整数 \(a, b, c\),求 \[\prod_{i = 1}^a \prod_{j = 1}^b \prod_{k = 1}^c \left(\dfrac{\operatorname{lcm}(i, j)}{\gcd(i, k)} \right)^{f(type)} \b

luogu P5617 [MtOI2019]不可视境界线

题面传送门 这道题目的圆很特殊,在同一条直线上且半径都是\(r\),所以若干个圆的面积并就是这几个圆的面积和减去相邻圆面积并 那么显然有一个dp:设\(f_{i,j}\)为到了\(i\),选了\(j\)个圆的相邻圆面积并最小值。时间复杂度\(O(n^2k)\) 发现这个转移其实是\(O(n)\)的,式子比较复杂,不适合

#莫比乌斯反演,欧拉函数#洛谷 5518 [MtOI2019]幽灵乐团

题目传送门 分析 前置知识:\(\sum_{d|n}\mu(d)=[n==1]\),\(\sum_{d|n}\mu(d)\frac{n}{d}=\varphi(n)\) 把最小公倍数拆开可以得到 \[=\prod_{i=1}^A\prod_{j=1}^B\prod_{k=1}^C\left(\frac{ij}{\gcd(i,j)\gcd(i,k)}\right)^{f(type)} \]一个一个类型解决,并且拆开分子分母,先看 \(ty

[SDOI2017]数字表格 & [MtOI2019]幽灵乐团

P3704 [SDOI2017]数字表格 首先根据题意写出答案的表达式 \[\large\prod_{i=1}^n\prod_{j=1}^mf_{\gcd(i,j)} \]按常规套路改为枚举 \(d=\gcd(i,j)\) (不妨设 \(n\le m\) ) \[\large\prod_{d=1}^n{f_d}^{\sum_{i=1}^n\sum_{j=1}^m~[(i,j)=d]} \]指数上的式子很熟悉了,单独拿出来推一

【洛谷5517】[MtOI2019] 幻想乡数学竞赛(数学)

点此看题面 已知\(a_0=-3,a_1=-6,a_2=-12\),且\(a_n=3a_{n-1}+a_{n-2}-3a_{n-3}+3^n(n\ge 2)\),求\(a_n\)的值。 数据组数\(\le5\times10^7\),\(n\le2^{64}-1\) 递推式变形 观察系数,发现刚好\(a_n\)与\(a_{n-2}\)系数相反,\(a_{n-1}\)与\(a_{n-3}\)系数相反,因此容易想到移项得到: \[a

题解:「MtOI2019」幽灵乐团 / 莫比乌斯反演基础练习题

题面 首先化式子 \[\begin{align} & \prod_{i=1}^{A}\prod_{j=1}^{B}\prod_{k=1}^{C}\left(\frac{\text{lcm}(i,j)}{\gcd(i,k)}\right)^{f(\text{type})} \\ = & \prod_{i=1}^A\prod_{j=1}^B\prod_{k=1}^C \left(\frac{i\times j}{\gcd(i,j)\times\gc

【题解】「MtOI2019」手牵手走向明天 [*hard]

序列分块,每个块维护一个 \(\sqrt{n}\times \sqrt{n}\) 的矩阵表示这个块中颜色与颜色的距离,再维护每个颜色到左右端点的最短距离。 容易发现查询的时候很好查询,问题在于修改操作:要对每一个块进行处理,光是枚举块就要用掉 \(O(\sqrt{n})\) 的时间,那就只能在一个块上留下 \(O(1)\) 的

P5514 [MtOI2019]永夜的报应

题意描述 [MtOI2019]永夜的报应 将 \(n\) 个数任意分组,组内进行异或操作,组外进行加法操作,求最小结果。 算法分析 签到好题。 可以证明 \(a\) ^ \(b \leq a+b\)。 所以直接将所有数分一组即可。 代码实现 #include<cstdio> using namespace std; int read(){ int x=0,f=1;char c=

题解 P5613 【[MtOI2019]黑蚊子多】

为何那么多大佬用桶排啊……开开心心地打个暴力不好吗QwQ 主要思想:存下所有的可能的台阶,每跳一次,循环判断是否到了特殊台阶,然后直接m++ #include <bits/stdc++.h> using namespace std; int n,m,k; int a[20];//存特殊台阶 int main() { cin>>n>>m>>k; for(int i=0; i<k; i++)

[MtOI2019]时间跳跃

$[MtOI2019]$时间跳跃 链接:https://www.luogu.com.cn/problem/P5615 题目描述:机关有$n$条秘密通道,第$i$条秘密通道的长度为$i$,机关会从所有选择方式种等概率随机选出一些秘密通道,如果选出来的这些秘密通道能组成一个凸多边形,那么这个方案的权值就是选出的秘密通道数量,否则权值