随笔分类 - 动态规划
摘要:"传送门" 题意 有 $ 2n $ 个球排成一行,其中恰好有 $ n $ 个白球和 $ n $ 个黑球。每个球上写着数字,其中白球上的数字的并集为 $ \lbrace 1 \dots n\rbrace $ ,黑球上的数字的并集也为 $ \lbrace 1 \dots n\rbrace $ 。 你可以
阅读全文
摘要:"传送门" 题意 有 $ n $ 个村庄在一排直线上,现在要建造不超过 $ K $ 个通讯基站,基站只能造在村庄处。 第 $ i $ 个村庄距离第 $ 1 $ 个村庄的距离为 $ D_i $ 。在此建造基站的费用为 $ C_i $ 。如果在此不超过 $ S_i $ 的范围内有基站,那么这个村庄就被覆
阅读全文
摘要:"传送门" 题意 现有如下方程:$ x \oplus 3x = 2x $ 其中 $ \oplus $ 表示按位异或。 共 $ T $ 组数据,每组数据给定正整数 $ n $,任务如下: 1. 求出小于等于 $ n $ 的正整数中,有多少个数是该方程的解 2. 求出小于等于 $ 2^n $ 的正整数中
阅读全文
摘要:"传送门" 题意 初始时你有 $ s $ 元,接下来有 $ n $ 天。 在第 $ i $ 天,A券的价值为 $ A[i] $ ,B券的价值为 $ B[i] $ 。 在第 $ i $ 天,你可以进行两种操作: 卖出:将 $ \%OP $ 的A券和 $ \%OP $ 的B券兑换成人民币,其中 $ OP
阅读全文
摘要:"传送门" 题意 某个公司有 $ n $ 个人,上下级关系构成了一个有根树。其中有个人是叛徒(这个人不知道是谁)。对于一个人, 如果他下属(直接或者间接, 不包括他自己)中叛徒占的比例超过 $ x $ ,那么这个人也会变成叛徒,并且他的所有下属都会变成叛徒。你要求出一个最小的 $ x $ ,使得最坏
阅读全文
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2425 题意: 给你一个数字n,长度不超过50。 你可以将这个数字: (1)去掉若干个0 (2)打乱后重新排列 问你可以产生多少个小于n的数字。 题解: 题目中的第一个操作其实是没有用的。 去
阅读全文
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2111 题意: 给定n,p,问你有多少个1到n的排列P,对于任意整数i∈[2,n]满足P[i]>P[i/2]。 保证p为质数,输出答案 mod p的值。(n <= 10^6, p <= 10^
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/893/E 题意: 共q组数据(q <= 10^5),每组数据给定x,y(x,y <= 10^6)。 问你有多少种长度为y,乘积为x的整数数列。(可以有负数) 题解: 首先考虑数列只有正整数的情况。 将x分解
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/869/C 题意: 红色、蓝色、紫色的小岛分别有a,b,c个。 你可以在两个不同的岛之间架桥,桥的长度为1。 任意两个颜色相同的岛之间的距离不能小于3。 问你合法的架桥方案数。 题解: 显然只能在不同颜色的岛
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/895/C 题意: 给你n个数a[i]。(n <= 10^5, 1 <= a[i] <= 70) 问你有多少非空子集s,使得 ∏(s[i])为完全平方数。 题解: 由于a[i] <= 70,而70以内的质数只
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/900/D 题意: 给定x,y,问你有多少个数列a满足gcd(a[i]) = x 且 ∑(a[i]) = y。 题解: 由于gcd(a[i]) = x,所以y一定是x的倍数,否则无解。 那么原题就等价于:问你
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/914/C 题意: 对数字x进行一次操作,可以将数字x变为x在二进制下1的个数。 显然,一个正整数在进行了若干次操作后一定会变成1。 给定n,k(n用二进制表示给出,n <= 2^1000)。 问你有多少不超
阅读全文
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1597 题意: 有n块矩形土地,长为a[i],宽为b[i]。 FJ想要将这n块土地全部买下来。 土地可以分组购买。 若有某一些土地被分到了一组,则将这一组土地全部买下的花费为他们的max(a[
阅读全文
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1096 题意: 有n个工厂,从左往右排成一排,分别编号1到n。 每个工厂里有p[i]件产品,到1号工厂的距离为x[i],在此处建一个仓库的花费为c[i]。 现在你需要建造一些仓库,使得所有产品
阅读全文
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1010 题意: 有n条线段,长度分别为C[i]。 你需要将所有的线段分成若干组,每组中线段的编号必须连续。 然后每组中的线段接成一排,若线段的编号为i to j,则总长度X = j - i +
阅读全文
摘要:题意: 给你一棵树,n个节点,每条边有长度。 然后有q组询问(u,k),每次问你:从节点u出发,走到某个节点的距离mod k的最大值。 题解: 对于无根树上的dp,一般都是先转成以1为根的有根树,然后分别从上到下和从下到上两遍dp。 另一个技巧是:处理重复走边的情况时,可以让dp值表示达到某种状态的
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/486/D 题意: 给你一棵树,n个节点,每个节点的点权为a[i]。 问你有多少个连通子图,使得子图中的max(a[i]) - min(a[i]) <= d。 ps.连通子图的定义: 如果一个点集V为一个连通
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/158/E 题意: 你有n个电话要接,每个电话打进来的时刻为第t[i]分钟,时长为d[i]分钟。 每一个电话打进来时,你有两种选择: 将电话挂掉,或接听(如果当时正在打其他电话,则这个电话加入等待队列,等上一
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/453/B 题意: 给你一个长度为n的数列a,让你构造一个长度为n的数列b。 在保证b中任意两数gcd都为1的情况下,使得 ∑|a[i]-b[i]|最小。 让你输出构造的数列b。 (1<=n<=100, 1<
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/358/D 题意: 有n个物品A[i]摆成一排,你要按照某一个顺序将它们全部取走。 其中,取走A[i]的收益为: (1)若A[i-1]和A[i+1]都没被取走,则收益为a[i] (2)若A[i-1]和A[i+
阅读全文