01 2018 档案

摘要:题目链接:https://www.luogu.org/problemnew/show/P1463 题意: 对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数。例如,整数1,2,4,6等都是反质数。 现在给 阅读全文
posted @ 2018-01-31 12:08 Leohh 阅读(278) 评论(0) 推荐(0)
摘要:题意: 给你一棵树,n个节点,每条边有长度。 然后有q组询问(u,k),每次问你:从节点u出发,走到某个节点的距离mod k的最大值。 题解: 对于无根树上的dp,一般都是先转成以1为根的有根树,然后分别从上到下和从下到上两遍dp。 另一个技巧是:处理重复走边的情况时,可以让dp值表示达到某种状态的 阅读全文
posted @ 2018-01-15 22:04 Leohh 阅读(263) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/486/D 题意: 给你一棵树,n个节点,每个节点的点权为a[i]。 问你有多少个连通子图,使得子图中的max(a[i]) - min(a[i]) <= d。 ps.连通子图的定义: 如果一个点集V为一个连通 阅读全文
posted @ 2018-01-12 09:38 Leohh 阅读(317) 评论(0) 推荐(1)
摘要:题目链接:http://codeforces.com/problemset/problem/158/E 题意: 你有n个电话要接,每个电话打进来的时刻为第t[i]分钟,时长为d[i]分钟。 每一个电话打进来时,你有两种选择: 将电话挂掉,或接听(如果当时正在打其他电话,则这个电话加入等待队列,等上一 阅读全文
posted @ 2018-01-11 17:20 Leohh 阅读(276) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/453/B 题意: 给你一个长度为n的数列a,让你构造一个长度为n的数列b。 在保证b中任意两数gcd都为1的情况下,使得 ∑|a[i]-b[i]|最小。 让你输出构造的数列b。 (1<=n<=100, 1< 阅读全文
posted @ 2018-01-11 11:57 Leohh 阅读(213) 评论(0) 推荐(0)
摘要:题目链接: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+ 阅读全文
posted @ 2018-01-10 17:51 Leohh 阅读(244) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/478/D 题意: 给你r个红方块和g个绿方块,让你用这些方块堆一个塔。 最高层有1个方块,每往下一层块数+1,同时要保证每层中的方块都是同一种颜色。 如图: 问你在塔的高度最高的前提下,堆出塔的方案数。 题 阅读全文
posted @ 2018-01-10 10:52 Leohh 阅读(586) 评论(1) 推荐(1)
摘要:题目链接:http://codeforces.com/problemset/problem/219/D 题意: 给你一棵树,n个节点。 树上的边都是有向边,并且不一定是从父亲指向儿子的。 你可以任意翻转一些边的方向。 现在让你找一个节点,使得从这个节点出发能够到达其他所有节点,并保证翻转边的数量最小 阅读全文
posted @ 2018-01-10 09:11 Leohh 阅读(167) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/448/C 题意: 有n个木板竖着插成一排栅栏,第i块木板高度为a[i]。 你现在要将栅栏上所有地方刷上油漆。 每次你可以选择竖着刷或横着刷,但必须保证一次刷的地方不能间断。 问你至少要刷几次才能刷满。 题解 阅读全文
posted @ 2018-01-09 17:52 Leohh 阅读(449) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/448/C 题意: 给你n个数字,给定m。 问你是否能从中选出若干个数字,使得这些数字之和为m的倍数。 题解: 其实就是要找一些数字,使得之和mod m为0。 开一个vector,存当前已经能够构成的数字之和 阅读全文
posted @ 2018-01-09 15:29 Leohh 阅读(243) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/479/E 题意: 有一栋n层的房子。 还有一个无聊的人在玩电梯,每次玩电梯都会从某一层坐到另外一层。 他初始在a层,然后要玩k次电梯。 这栋楼里还有一个神秘实验室,在b层。 这让他每次坐电梯受到了限制: 当 阅读全文
posted @ 2018-01-08 21:52 Leohh 阅读(241) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/463/D 题意: 给你k个1到n的排列,问你它们的LCS(最长公共子序列)是多长。 题解: 因为都是1到n的排列,即每个串中,1到n每个数字恰好出现一次。 将相同的数字之间相连,可以得到下面的样子(n = 阅读全文
posted @ 2018-01-08 20:06 Leohh 阅读(191) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/455/B 题意: 给你n个字符串,然后进行k局游戏。 每局游戏开始有一个空串,然后双方轮流给这个串的末尾添加字符,并保证新字符串是n个字符串中至少一个串的前缀。 当一方不能添加字符时,这一方输,游戏结束。 阅读全文
posted @ 2018-01-08 18:04 Leohh 阅读(277) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/294/B 题意: 有n本书,每本书的厚度为t[i],宽度为w[i] (1<=t[i]<=2, 1<=w[i]<=100)。 然后让你将所有书按照下面的方式摆放: 在下面放一本书会占用下面t[i]的长度。 在 阅读全文
posted @ 2018-01-08 17:33 Leohh 阅读(415) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/372/B 题意: 给你一个n*m的01矩阵(1 <= n,m <= 40)。 然后有t组询问(a,b,c,d),问你: 在以(a,b)为左上角,以(c,d)为左下角,围成的矩形范围中,有多少全是0的矩形。 阅读全文
posted @ 2018-01-07 21:58 Leohh 阅读(374) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/402/D 题意: 给你一个长度为n的数列a[i],又给出了m个“坏质数”b[i]。 定义函数f(s),其中p是s的最小质因子: f(1) = 0 f(s) = f(s/p) + 1 (p不是坏质数) f(s 阅读全文
posted @ 2018-01-06 21:32 Leohh 阅读(238) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/571/B 题意: 给你一个长度为n的数列a[i]。 现在你可以随意改变数字的位置,问你 ∑| a[i] - a[i+k] | 的最小值(1 <= i <= n-k)。 题解: 将a[i]拆成若干个子序列s[ 阅读全文
posted @ 2018-01-06 16:23 Leohh 阅读(218) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/509/F 题意: 告诉你遍历一棵树的方法,以及遍历节点的顺序a[i],长度为n。 问你这棵树有多少种可能的形态。 遍历方法: used[1 ... n] = {0, ..., 0}; procedure d 阅读全文
posted @ 2018-01-05 21:52 Leohh 阅读(248) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/455/C 题意: 给你一个森林,n个点,m条边。 然后有t个操作。共有两种操作: (1)1 x: 输出节点x所在树的直径。 (2)2 x y: 如果x,y不在同一棵树上的话,用一条边连接x,y所在的树,并且 阅读全文
posted @ 2018-01-05 18:07 Leohh 阅读(362) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/337/D 题意: 给你一棵树,n个节点。 如果一个节点处放着“罪恶之书”,那么它会影响周围距离不超过d的所有节点。 然后告诉你一部分被影响的节点aff[i],共m个。 已知有且仅有一个节点放着“罪恶之书”。 阅读全文
posted @ 2018-01-05 15:33 Leohh 阅读(267) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/245/H 题意: 给你一个字符串s。 然后有t个询问,每个询问给出x,y,问你区间[x,y]中的回文子串的个数。 题解: 表示状态: dp[x][y] = numbers 表示区间[x,y]中的回文子串个数 阅读全文
posted @ 2018-01-05 11:37 Leohh 阅读(203) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/351/B 题意: 给你一个1到n的排列a[i]。 Jeff和Furik轮流操作,Jeff先手。 Jeff每次会交换a[i]>a[i+1]的两个数。 Furik每次有1/2的概率交换a[i]<a[i+1]的两 阅读全文
posted @ 2018-01-04 21:35 Leohh 阅读(391) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/505/C 题意: 有n个宝石,分别在位置p[i]。(1 <= n,p[i] <= 30000) 初始时你在位置0,第一次走可以往前跳d的距离。 从第二次跳开始,如果前一次跳的距离是x,这一次跳的距离只能是x 阅读全文
posted @ 2018-01-04 17:06 Leohh 阅读(279) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/429/B 题意: 给你一个n*m的网格,每个格子上有一个数字a[i][j]。 一个人从左上角走到右下角,一个人从左下角走到右上角,要求两条路径有且仅有一个交点。 问你除去交点格子上的数字,路径上数字之和最大 阅读全文
posted @ 2018-01-04 10:12 Leohh 阅读(198) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/432/D 题意: 给你一个字符串s,让你找出所有既是前缀又是后缀的子串,并输出它们分别出现了多少次。 题解: 先对原串求一次nex数组。 然后枚举位置i: sub(k)表示前缀s[0 to k] dp[i] 阅读全文
posted @ 2018-01-03 20:23 Leohh 阅读(258) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/366/C 题意: 有n个物品,每个物品有两个属性a[i]和b[i]。 给定k,让你选出一些物品,使得 ∑ a[i] / ∑ b[i] = k。 问你选出物品的 ∑ a[i]最大是多少。 题解: 将原式变形: 阅读全文
posted @ 2018-01-03 12:35 Leohh 阅读(340) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/180/C 题意: 给你一个字符串s,长度为n。 让你将这个字符串变成“前面一段都是大写字母,后面一段都是小写字母”的形式。 (也可以全是大写或全是小写) 问你最少改动几个字符。 题解: 表示状态: dp[i 阅读全文
posted @ 2018-01-03 10:31 Leohh 阅读(151) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/459/E 题意: 给你一个有向图,每条边有边权。 让你找出一条路径,使得这条路径上的边权严格递增。 问你这样的路径最长有多长。 题解: 先将所有边按边权从小到大排序,以保证边权递增。 表示状态: dp[i] 阅读全文
posted @ 2018-01-03 09:28 Leohh 阅读(201) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/461/B 题意: 给你一棵树(编号从0到n-1,0为根节点),每个节点有黑白两种颜色,其中黑色节点有k+1个。 现在让你删掉k条边,使得这棵树变成k+1个连通块,并且要保证每个连通块中有且仅有一个黑色节点。 阅读全文
posted @ 2018-01-02 23:11 Leohh 阅读(236) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/problemset/problem/163/A 题意: 给你两个字符串a,b,问你有多少对"(a的子串,b的子序列)"可以匹配。 题解: 表示状态: dp[i][j] = pairs a的子串以a[i]结尾,b的子序列以b[1 to j]结尾的 阅读全文
posted @ 2018-01-02 15:19 Leohh 阅读(676) 评论(0) 推荐(1)