随笔分类 -  OJ—codeforces

摘要:E. Intersection of Permutations 链接 题意: 给定两个序列,询问第一个排列的[l1,r1]和第二个排列[l2,r2]中有多少个共同的数,支持在第二个排列中交换两个数。 分析: 首先求出一个数组,c[i],第二个排列的这个数字在第一个排列中出现的位置。那么查询就是询问c 阅读全文
posted @ 2018-12-29 11:16 MJT12044 阅读(199) 评论(0) 推荐(0)
摘要:B. The Fair Nut and Strings 题目链接 题意: 在给定的字符串a和字符串b中找到最多k个字符串,使得不同的前缀字符串的数量最多。 分析: 建出trie树,给定的两个字符串就是trie树上的两条长度为n路径,那么就是在第n层的所有节点中,找到不大于k个点,(第n层的每个点向上 阅读全文
posted @ 2018-12-11 09:41 MJT12044 阅读(773) 评论(0) 推荐(0)
摘要:A. The Fair Nut and the Best Path https://codeforces.com/contest/1083/problem/A 题意: 在一棵树内找一条路径,使得从起点到终点的最后剩下的油最多。(中途没油了不能再走了,可以在每个点加wi升油,减少的油量为路径长度)。 阅读全文
posted @ 2018-12-11 09:16 MJT12044 阅读(383) 评论(0) 推荐(0)
摘要:E. Mahmoud and Ehab and the xor-MST https://codeforces.com/contest/959/problem/E 分析: 每个点x应该和x ^ lowbit(x)连边,那么现在就是求$\sum_{i=1}^{n}lowbit(i)$,然后打表找规律。 阅读全文
posted @ 2018-12-05 14:36 MJT12044 阅读(282) 评论(0) 推荐(0)
摘要:D. Volleyball http://codeforces.com/contest/96/problem/D 题意: n个路口,m条双向路,每条长度为w。每个路口有一个出租车司机,最多可以乘坐这辆车走长度只要坐他的车,就必须交c元,最多可以载你走的长度为t的路。问从x到y的最小花费是多少。 分析 阅读全文
posted @ 2018-11-07 20:08 MJT12044 阅读(288) 评论(0) 推荐(0)
摘要:D. Fair http://codeforces.com/contest/987/problem/D 题意: n个城镇m条道路,(保证没有重边,两个城镇间可以到达),每个城镇拥有的特产ai(可能多个城镇有相同特产)。总共有k种不同特产。每个城镇举办展会需要至少s种特产,一份特产从一个城镇运到另一个 阅读全文
posted @ 2018-11-05 21:41 MJT12044 阅读(571) 评论(0) 推荐(0)
摘要:D. Recovering BST http://codeforces.com/contest/1025/problem/D 题意: 给出一个连续上升的序列a,两个点之间有边满足gcd(ai ,aj) != 1。选择一些边,问是否能构成一棵有n个点的二叉搜索树。 分析: 区间dp。 每个子树都是一段 阅读全文
posted @ 2018-10-26 19:01 MJT12044 阅读(217) 评论(0) 推荐(1)
摘要:D. Mike and Fish http://codeforces.com/contest/547/problem/D 题意: 给定平面上n个点,将这些点染成红或者蓝色,要求每行、每列红色点与蓝色点数量的差的绝对值<=1。输出方案(保证有解)。 分析: 参考popoqqq的博客 将每行每列分别看做 阅读全文
posted @ 2018-10-23 20:52 MJT12044 阅读(524) 评论(0) 推荐(0)
摘要:D. Labyrinth http://codeforces.com/contest/1064/problem/D 题意: n*m的矩阵,只能往左走l次,往右走r次,上下走无限制,问能走到多少个点。 分析: 01bfs。 直接bfs会出现问题,因为一旦打上标记后,下一次无法访问到,但是下一次的状态还 阅读全文
posted @ 2018-10-16 23:10 MJT12044 阅读(389) 评论(0) 推荐(0)
摘要:B. The Bakery http://codeforces.com/contest/833/problem/B 题意: 将一个长度为n的序列分成k份,每份的cost为不同的数的个数,求最大cost的和。1≤n≤35000,1≤k≤50 分析: dp[i][j]表示前i个数,分了j份。dp[i][ 阅读全文
posted @ 2018-10-15 15:33 MJT12044 阅读(1263) 评论(0) 推荐(0)
摘要:F. Yet Another Minimization Problem http://codeforces.com/contest/868/problem/F 题意: 给定一个长度为n的序列。你需要将它分为m段,每一段的代价为这一段内相同的数的对数,最小化代价总和。 n<=100000,m<=20。 阅读全文
posted @ 2018-10-15 14:40 MJT12044 阅读(211) 评论(0) 推荐(0)
摘要:E. Side Transmutations http://codeforces.com/contest/1065/problem/E 题意: 长度为n的字符串,字符集为A,问多少不同的字符串。两个字符串相同: 分析: 考虑只有一个b[i]的影响,那么对于一个字符串,分成了三段,前面k个,后面k个, 阅读全文
posted @ 2018-10-13 22:00 MJT12044 阅读(446) 评论(0) 推荐(0)
摘要:D. Valid BFS? http://codeforces.com/contest/1037/problem/D 题意: 给一个序列,一棵树,判断能否bfs这棵树,得到这个序列。 分析: 将每个点所达到的点,按照序列中出现的位置排序,然后bfs,判断是否相等。 代码: 阅读全文
posted @ 2018-10-12 12:23 MJT12044 阅读(305) 评论(0) 推荐(0)
摘要:C. Permutation Game http://codeforces.com/contest/1033/problem/C 题意: 一个排列,每个位置i走到的位置j满足:a[j]>a[i],(j-i)是a[i]的倍数。问从每个位置开始,是否有必胜策略。 分析: 博弈论+拓扑。 由于是一个排列, 阅读全文
posted @ 2018-10-08 15:22 MJT12044 阅读(620) 评论(0) 推荐(0)
摘要:D. Divisors http://codeforces.com/contest/1033/problem/D 题意: 给n个(n<=500)个数,($a_i <= 2 \times 10 ^ {18}$),每个数的因数个数在[3,5]内。$a = \prod\limits_{i=1}^na_i$ 阅读全文
posted @ 2018-10-08 15:14 MJT12044 阅读(629) 评论(0) 推荐(0)
摘要:D. Bash and a Tough Math Puzzle http://codeforces.com/contest/914/problem/D 题意: 单点修改,每次询问一段l~r区间能否去掉小于等于1个数,使gcd为x 分析: 线段树。 线段树二分。如果一边的gcd不是x,那么递归这一边, 阅读全文
posted @ 2018-10-01 22:37 MJT12044 阅读(303) 评论(0) 推荐(0)
摘要:E. Sereja and Squares http://codeforces.com/contest/314/problem/E 题意: 给你一个擦去了部分左括号和全部右括号的括号序列,括号有25种,用除x之外的小写字母a~z表示。在擦去的地方填入一括号,求有多少种合法的括号序列。答案对42949 阅读全文
posted @ 2018-09-28 09:19 MJT12044 阅读(807) 评论(0) 推荐(0)
摘要:D. Tree Requests http://codeforces.com/problemset/problem/570/D 题意: 一个以1为根的树,每个点上有一个字母(a-z),每次询问一个子树内深度为h的点是否可以构成回文串。(深度是到1的深度,没有也算,空回文串) 分析: dsu on t 阅读全文
posted @ 2018-09-27 10:52 MJT12044 阅读(331) 评论(0) 推荐(0)
摘要:D. Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths http://codeforces.com/problemset/problem/741/D 题意: 一棵根为1 的树,每条边上有一个字符(a-v共22种)。 求每个子树内的最 阅读全文
posted @ 2018-09-27 10:22 MJT12044 阅读(244) 评论(0) 推荐(0)
摘要:E. Lomsat gelral http://codeforces.com/contest/600/problem/E 题意: 求每个子树内出现次数最多的颜色(如果最多的颜色出现次数相同,将颜色编号求和)。 分析: dsu on tree。 这个可以解决一系列不带修改的子树查询问题。 考虑暴力的思 阅读全文
posted @ 2018-09-27 08:31 MJT12044 阅读(196) 评论(0) 推荐(0)