题目链接 题目 题目描述 在牛牛面前放着 \(n\) 个数,这些数字既有奇数也有偶数,只不过牛牛对奇数情有独钟,他特别想让这些数都变成奇数。 现在牛牛获得了一种能力,他可以执行一种操作:每次选中一个偶数,然后把这些数中与该数相等的数都除以 \(2\) ,例如现在有一个数组为\([2,2,3]\) ,那么
考虑把矩阵消成上三角然后求对角线的值。 可以发现每一行只会消掉自己的倍数行,且系数为 \(1\)。 假设第 \(n\) 行 \(n\) 列的元素是 \(f[n]\),有: \[f[n]=n^k-\sum_{d\mid n,d\ne n}f[d] \]\[f * 1=id^k \]\[f=id^k * \mu \]考虑每个质数幂处的这玩意儿是好算的,而且是考虑答案的乘积
线性DP虽然是被称为DP的入门,其实它是DP的万恶之源,一切其它DP不过是在它上面加入优化 接下来给几个例题,可以让你深刻感受到DP状态设计的恶心 T1.[LuoguP4310]绝世好题 这题很多人第一眼看到会想到设计一个 \(f[i]\)代表以\(i\)为结尾的序列最大长度是多少,转移方程 显而易见是\(f[i]
题意 有一个\(N\)个点的无向无权图\(G\),给定其邻接矩阵\(A\)。 找到满足\(1 \leq i < j < k \leq N\),并且点\(i\)与点\(j\)有边,点\(j\)与点\(k\)有边,点\(k\)与点\(i\)有边的三元组\((i, j, k)\)的数量 题目链接:https://atcoder.jp/contests/abc258/tasks/abc258_g 数据范围 \(3 \l
题目1 题意: 给定一个长度为 \(n\) 的排列 \(p\),以及 \(m\) 个对 \((x_i, y_i)\),每次选择一个 \(pair\) 交换 \(p_{x_i}\) 和 \(p_{y_i}\) ,可以进行任意多次选择和交换,问获得最多 \(p_i=i\) 的数量。 数据范围: \(1\leq n, m\leq 10^5, 1\leq x_i,y_i\leq n\) 题解: 所有可以直接或间
NC15975 小C的记事本 题目 题目描述 小C最近学会了java小程序的开发,他很开心,于是想做一个简单的记事本程序练练手。 他希望他的记事本包含以下功能: 1、append(str),向记事本插入字符串 str(英文字符) 2、delete(k),删除记事本最后k个字符(保证不为空串) 3、print(k),输出记事本第k个字符(
https://www.luogu.com.cn/problem/P5960 给出一组包含 \(m\) 个不等式,有 \(n\) 个未知数的形如: \[\begin{cases} x_{c_1}-x_{c'_1}\leq y_1 \\x_{c_2}-x_{c'_2} \leq y_2 \\ \cdots\\ x_{c_m} - x_{c'_m}\leq y_m\end{cases} \]的不等式组,求任意一组满足这个不等式组的解。若无解
Atcoder题解汇总 ABC 159 E. Dividing Chocolate (二进制枚举,观察数据范围) 题意 有 \(H\times W\) 大小的方格矩阵,每个方格为 \(0\) or \(1\), 现在可以进行横切与竖切,询问最少切多少次可以保证最后的分块中每个分块都有不超过 \(K\) 个 \(1\)。 数据范围 \(1\leq H \leq 10\) \(
有限小数 给定三个整数 $p,q,b$,请你计算十进制表示下的 $p/q$ 的结果在 $b$ 进制下是否为有限小数。 输入格式 第一行包含整数 $T$,表示共有 $T$ 组测试数据。 每组数据占一行,包含三个整数 $p,q,b$。 输出格式 每组数据输出一行结果,如果 $p/q$ 的结果在 $b$ 进制下是有限小数,则输出
题目: 电车 题目链接:https://www.luogu.com.cn/problem/T244725?contestId=71290 题目描述 在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能)。在每个路口,都有一个开
Atcoder题解汇总 ABC 158 E. Divisible Substring (取模前缀和思维, 一点点基本数论) 题意 给了一个长度为 \(n\) 的数字串,和一个质数 \(p\) ,询问有多少子串对应的数字满足是 \(p\) 的倍数,输出答案, 若有前导零也算作合法数字。 数据范围 \(1\leq N \leq 2 * 10^5\) \(2\leq P \le
比赛链接 Codeforces Round #697 (Div. 3) G. Strange Beauty 题目大意: 有 \(n\) 个数,从中挑选一个最大的子集,使得集合中任意两个不同的数 \(x, y\) ,有 \(x \mid y\) 或 \(y \mid x\) 输入格式 The first line contains one integer \(t(1 \leq t \leq 10)\) - the number of tes
题目描述 在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能)。在每个路口,都有一个开关决定着出去的轨道,每个开关都有一个默认的状态,每辆电车行驶到路口之后,只能从开关所
目录AGCARCABCABC 150D. Semi Common Multiple (LCM, 数学推导)E. Change a Little Bit (组合计数推导)F. Xor Shift (XOR差分性 + KMP)ABC 151E. Max-Min Sums (组合计数, 贡献, 排序)F. Enclose All (待补, 最小圆覆盖)ABC 152D. Handstand 2 (思维暴力模拟)E. Flatten (质因子
NC19115 选择颜色 题目 题目描述 \(n\) 个人排成一个环形,每个人要从 \(c\) 种颜色中选择一个。 牛牛希望相邻的人选择的颜色是不同的 问有多少种方案。 输出方案数对 \(10007\) 取模的结果。 人是有顺序的,环旋转同构算不同的方案。 输入描述 输入只有一行,包含用空格分开的两个整数
NC20861 兔子的逆序对 题目 题目描述 兔子最近喜欢上了逆序对。一个逆序对 \((i,j)\) 需要满足 \(i < j\) 且 \(a_i > a_j\) 。兔子觉得只是求一个序列的逆序对个数太没有意思了。于是兔子想到了一个更有趣的问题! 兔子可以把区间 \([L,R]\) 反转,例如序列 \(\{1,2,3,4\}\) 反转区间
正题 题目链接:https://www.luogu.com.cn/problem/P6117 题目大意 平面上有\(2n\)的硬币,要给每个硬币匹配一个\(x\in[1,n],y\in[1,2]\)的位置(不能重复)。 使得所有硬币和它们匹配位置的曼哈顿距离之和最小。 \(1\leq n\leq 10^5,-10^9\leq X_i,Y_i\leq 10^9\) 解题思路 先把每个
题目描述 在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能)。在每个路口,都有一个开关决定着出去的轨道,每个开关都有一个默认的状态,每辆电车行驶到路口之后,只能从开关
[ARC117 F]Gateau 题目描述 点此看题 有一个长度为 \(2n\) 的环形蛋糕,现在要往上面放草莓。 对于每个 \(i\),都有限制 \(i,i+1...i+n-1\) 位置上的草莓总数至少是 \(a_i\)(注意蛋糕是环形的) 问至少要放几个草莓。 \(n\leq 1.5\cdot 10^5\) 解法 很容易想到对于前缀和建立差分约束,但
NC25043 [USACO 2007 Jan S]Protecting the Flowers 题目 题目描述 Farmer John went to cut some wood and left \(N (2 ≤ N ≤ 100,000)\) cows eating the grass, as usual. When he returned, he found to his horror that the cluster of cows was in his garden eating his
题目描述 给定一个 \(N \times N\) 的方形网格,设其左上角为起点◎,坐标\((1,1)\),\(X\) 轴向右为正, \(Y\) 轴向下为正,每个方格边长为 \(1\) ,如图所示。 一辆汽车从起点◎出发驶向右下角终点▲,其坐标为 \((N,N)\)。 在若干个网格交叉点处,设置了油库,可供汽车在行驶途中加油。汽车在行
NC204859 组队 题目 题目描述 你的团队中有 \(n\) 个人,每个人有一个能力值 \(a_i\),现在需要选择若干个人组成一个团队去参加比赛,由于比赛的规则限制,一个团队里面任意两个人能力的差值必须要小于等于 \(k\) ,为了让更多的人有参加比赛的机会,你最多能选择多少个人参加比赛? 输入描述
正题 题目链接:https://www.luogu.com.cn/problem/P8347 题目大意 给出一棵树,两个人轮流操作。 操作者可以选择一个点删除,然后选择一个剩下的连通块,删除其他连通块。 操作完成后只剩下一个点的人失败,求是否先手必败。 \(1\leq T\leq 5,1\leq n\leq 10^5\) 解题思路 考虑如果存在
题意 给定一个长度为\(N\)的整数序列:\(A_1, A_2, \dots, A_N\) 你可以执行如下操作\(0 \sim K\)次: 选择两个整数\(i\)和\(j\)满足\(i \neq j\),将\(A_i\)加\(1\),\(A_j\)减\(1\)(可能会出现负数)。 问最大的正整数\(x\),满足在\(K\)次操作内,把所有\(A_i\)变成\(x\)的倍数(\(0\)为任意
题意 给定一个长度为\(N - 1\)的整数序列\(S = (S_1, S_2, \dots, S_{N-1})\)以及\(M\)个不同的被称为幸运数的整数\(X_1, X_2, \dots, X_M\)。 一个长度为\(N\)的整数序列\(A = (A_1, A_2, \dots, A_N)\)满足如下条件时被称为好序列: 对于任意\(i = 1, 2, \dots, N - 1\),有:\(A_i