cardinality 10892 lcm uva
UVA11282 题解
题意简述 Kelly 寄出去 \(n\) 封邀请函,但她希望只有小于等于 \(m\) 个人收到他们自己的邀请函(即有至少 \(n-m\) 个人收到了别人的邀请函)。 思路形成 容易发现,这道题是一个典型的错排题,我们只需要分别求出 \(n-m\) 个元素到 \(n\) 个元素的错排即可。 接下来为错 ......
题解:疯狂lcm
%你赛打到一半来写个题解 link:疯狂lcm 题意,求: \[\sum_{i=1}^{n}lcm(i,n) \]不多说废话,直接开推: \[\begin{aligned} &=n\sum_{i=1}^{n}\frac{i}{gcd(i,n)}\\ &=n\sum_{d\mid n}\sum_{i= ......
UVA1223 Editor
题目传送门 给出一个字符串 \(s\),求它最长的至少出现两次的子串的长度。 多组数据,\(|s|\le 5000\)。 不难发现答案有单调性,考虑对字符串哈希并二分,从左往右扫,用哈希表记录当前该长度每种哈希值是否出现过,出现过则可行。 时间复杂度为 \(\mathcal{O}(\sum |s|\ ......
cf1834E. MEX of LCM(维护右端点计算区间lcm)
cf1834E 首先可以估计一下答案的量级,因为小于答案的质数都要必须要出现,5e6以内的质数大概就是3e5,所以答案不超过5e6。 我们维护以i右端点的lcm的值,这些值的数量不会太多,因为每次增长都至少×2,所以是log级别。 每次新加的时候记得更新和去重即可。 #include<cstdio> ......
UVA1328题解
前情提要 本题解重在使大家理解。 本题需要 KMP,相信阅读本篇的大佬都会吧。 没学过也没关系,点这里。这是一篇我喜欢的讲解,不喜勿喷。 分析 看见本题的第一感就是会与 KMP 中的 $next$ 数组有关。 我们通过下面证明可以得出:满足 $i \bmod len = 0$,且 $S[1 \sim ......
UVA1485 Permutation Counting
传送门 description 一个长度为 \(n\) 的排列 \(a\),其权值为满足 \(a_i>i\) 的位置的数量。 求权值恰为 \(k\) 的长度为 \(n\) 的排列的方案数。 \(n,k\leq 1000\) solution 设 \(f_{i,j}\) 表示考虑前 \(i\) 个数, ......
[UVA12683] Odd and Even Zeroes
Description 给出 \(n\),求出 \(0!, 1!, 2! \ldots, n!\) 中有几个末尾有偶数个 \(0\)。 \(1\le n\le 10^{18}\)。 Solution 根据基本结论,一个数末尾 \(0\) 的个数等于该数有几个因数 \(5\)。而一个数的阶乘末尾有几个 ......
题解 UVA437
题解 UVA437 每种方块都可以将 \(x\times y,x\times z,y\times z\) 的面放在水平面上,所以每块都有 \(3\) 种状态,每次从剩余所有 \(n-1\) 个块的 \(3\) 种状态中选取能放置在此方块上方的方块,(即选取水平面矩形对应的边小于当前水平面边权),并且 ......
救济金发放(The Dole Queue, UVa 133)
#include<stdio.h> #include<string.h> #define maxn 100 int n,k,m,a[25]; int left, chance; int win, lose; char s[maxn], s2[maxn]; int go(int p, int d, i ......
CF1068B LCM
\[\frac{\operatorname{lcm}(a,b)}{a}=\frac{\frac{a\times b}{\gcd(a,b)}}{a}=\frac{b}{\gcd(a,b)} \]因为 \(a\) 最大可以到 \(10^{18}\),而 \(b\) 最大只有 \(10^{10}\),对于 ......
UVA12046 题解
前言: 有些虚高,建议降蓝。感觉比 CF55D 要简单。 题目大意: 定义一个数为好数,满足以下要求: 每个数位都能整除原数。 每个数位都小于等于 \(6\)。 求长度为 \(n\) 的好数有多少个。 思路: 首先,\(0\) 整除任何数都没有意义,可以不枚举。其次,要满足条件二,所以每个数位可以只 ......
UVA1366 Martian Mining 题解
这个题可以用动态规划解决。 令\(sbe_{i,j}\) 为第 \(j\) 列 \(1\) 至 \(i\) 个格子 \(BE\) 矿总和,令\(snw_{i,j}\) 为第 \(i\) 行 \(1\) 至 \(j\) 个格子 \(NEW\) 矿总和。 \(dp_{i,j,0}\) 表示为以第(\(i ......
【位运算】UVA12716 GCD等于XOR GCD XOR 题解
UVA12716 一道挺有意思的位运算的题。 \(\gcd(a,b)\) 与 \(a\oplus b\) 本来是没有什么联系的,也不好直接转化。 那么就需要一个中间数进行转化,一般来说会是一个临界值,否则不好找答案。 先观察 \(\gcd(a,b),a\leqslant b\),可得 \(\gcd( ......
[ARC050C] LCM 111
[ARC050C] LCM 111 给定三个数 \(a,b,P\),令 \(x\) 由 \(a\) 个 \(1\) 拼接而成,\(y\) 由 \(b\) 个 \(1\) 拼接而成,求 \(\operatorname{lcm}(x,y)\) 模 \(P\) 的值。 \(1\le a,b\le 10^{ ......
UVA1471 防线 Defense Lines 题解
传送门 首先可以将题意大概可以简化为:取两端不重复的连续子序列,组成一个最长的连续递增子序列。 我们先 dp 预处理出以 \(i\) 为结尾的连续递增子序列长度 \(dpr_{i}\)。 同样预处理出以 \(i\) 为开头的连续递增子序列长度 \(dpl_{i}\)。 考虑对于每个 \(dpr_{i ......
UVA10054 The Necklace 题解
好可恶一道题,怎么没人告诉我输出之间有空行( 思路是先抽象成图,然后跑一边dfs记录边的前后顺序。 对于不能成环的情况,只需要再开个数组记录度数判断奇点即可。 若存在奇点则break掉,剩下的跑dfs、 //produced by miya555 //stupid mistakes:1.多测要清空 ......
UVA12655 Trucks 题解
题目传送门 前言 中文题目可以看 link 。 前置知识 Kruskal 重构树 | 最近公共祖先 简化题意 给定一个 \(N\) 个点 \(M\) 条边的有向图,共有 \(S\) 次询问,每次询问从 \(L\) 到 \(H\) 所有的路径中最小的权值的最大值(多组数据)。 本题即最大瓶颈路问题。 ......
[ARC124C] LCM of GCDs 题解
题面 给定 \(N\) 个正整数对 \((a_i, b_i)\) 和两个初始为空的集合 \(S, T\),你可以选择将每个数对的两个元素划分到两个不同的集合中。求 \[\max\operatorname{lcm}(\gcd\limits_{x \in S}x, \gcd\limits_{y \in ......
51nod1434 区间LCM
原题 一道思维题 首先容易发现 \(m=2n\) 时满足条件,但题目让找一个最小的,因此我们考虑去除 \(n\) 中没用的一些状态 具体的,如果 \(n\) 是由两个以上的质因数构成的,那这些质因数显然可以在前 \(n-1\) 个数中找到,因此 \(n\) 就可以退役了可以删掉了 最终复杂度 \(O ......
题解 UVA1537 Picnic Planning
这道题在显然是最小生成树,但是很显然我是不会打最小生成树的。 题意描述 给定一张 \(n\) 个点 \(m\) 条边的无向图,求出无向图的一棵最小生成树,满足一号节点的度数不超过给定的整数 \(s\)。 具体思路 首先,看到这种度数最多为 \(s\) 的题,显然想到 wqs 二分。但是 wqs 二分 ......
题解 [ARC165A] Sum equals LCM
前天的晚上打这道题,和同学一起想出了思路,开心。 题意描述 给你一个数 \(N\),问你存不存在一个数列 \(A_1,A_2,\ldots,A_n(2 \le n)\) ,使得 \(\sum_{i=1}^n A_i=N\) 并且 \(\operatorname{lcm}(A_1,A_2,\ldots ......
题解 UVA1566 John
题目描述 两个人轮流取石子,每人每次可以 \([1,a_i]\) 个石子,最后取完石子的人为负。问最终谁会赢。 具体思路 若堆数为 \(1\) 且该堆数量为 \(1\),先手必败。 若堆数不为 \(1\) 且每堆数量都为 \(1\),若有奇数堆,先手比败,否则,先手必胜。 若堆数不为 \(1\),转 ......
洛谷 UVA10714 Ants の 题解
这道题只有一个点比较难想。 大概思路就是先输入个 $t$,表示要跑几轮,后面的照常输入。因为蚂蚁都是一样的,所以两个蚂蚁碰面的时候相互穿过和各自掉头是没有区别的,我们按照前者模拟就好,其余思路暴力求解即可。 #include <iostream> #include <cmath> using nam ......
洛谷 UVA10852 Less Prime の 题解
这道题更像是结论题,因为他要推一个小结论,才能做出这道题。 大概思路是先打个素数表,存到数组 $a$ 内, $cnt$ 是素数表的最后一个元素的下标。之后循环 $M$ 次去输入 $N$,每次输入 $N$ 之前都要定义两个变量,分别是 $mx$,存 $n - p \cdot x$ 的最大值,$ans$ ......
Sol.UVA10127
题意:给定 \(n\),找到形如 \(1111...1111\) 的数 \(y\),使得 \(y \equiv 1\mod x\),最终输出 \(y\) 的位数。 思路:形如 \(1111...1111\) 的数可以拆分成 \(10...00 \times 1 +10...0 \times 1 + ......
UVA1030 题解
思路分析 猜想 我们可以在题目中看出一下几个突破口: 能“看穿”的位置所对应的单位立方体是一定不存在的。 如果前视图的右上角的颜色 \(A\) 和顶视图的的右下角颜色 \(B\) 不同,那么对应的格子就一定不存在。 在删除这个立方体后,我们还可以发现,挖去立方体的左侧和 \(B\) 左侧的颜色不同。 ......
UVA11210 题解
思路分析 一道大模拟。 一共只有 \(34\) 种牌,因此可以一次判断是否“听”这些牌。比如,为了判断是否“听”一万,只需要判断自己拿到这张一万后能否可以继续和牌。这样,问题就转化成了给定 \(14\) 张牌,判断是否可以和牌。为此,我们可以递归求解:首先将两张牌作为“将”,然后每次选 \(3\) ......
UVA11464 题解
思路分析 暴力枚举? 我们可以枚举每个数字变或不变,最后判断整个矩阵是否满足条件。但是,这样做最多需要枚举 \(2^{255}≈5\times10^{67}\) 中情况,是一定会超时的。 大眼观察 注意到 \(n\le15\),第一行只有不超过 \(2^{15}=32768\) 种可能,所以第一行的 ......
UVA1352 题解
思路分析 构造排列表 立方体只有 \(4\) 个,暴力法是可行的。但是如果我们要暴力,首先得清楚一个立方体到底有几种不同的旋转方式。 接下来,我们用“姿态”一词代替“旋转方法”。假设 \(6\) 个面的编号为 \(1\sim6\),从中选择一个面作为“顶面”,“顶面”的对面为“底面”。然后我们在剩下 ......