03 2020 档案

摘要:题目链接: https://codeforces.com/contest/1327/problem/D 思路: 置换群和循环置换的概念:https://oi-wiki.org/math/permutation-group/ 由于p是1-n的一个排列,所以p可看成若干个不相交的环,而任意一个置换都可以 阅读全文
posted @ 2020-03-29 20:55 grass_lin 阅读(230) 评论(0) 推荐(0) 编辑
摘要:题目链接: https://www.luogu.com.cn/problem/P3178 思路: 树剖板子 代码: #include <bits/stdc++.h> #define ls node<<1 #define rs node<<1|1 using namespace std; typede 阅读全文
posted @ 2020-03-29 19:58 grass_lin 阅读(104) 评论(0) 推荐(0) 编辑
摘要:题目链接: https://www.luogu.com.cn/problem/P2590 思路: 树剖板子 代码: #include <bits/stdc++.h> #define ls node<<1 #define rs node<<1|1 #define l_q ls,l,mid #defin 阅读全文
posted @ 2020-03-29 19:54 grass_lin 阅读(94) 评论(0) 推荐(0) 编辑
摘要:题目链接: https://www.luogu.com.cn/problem/P3833 思路: 树剖板子题 代码: #include <bits/stdc++.h> #define ls node<<1,l,mid #define rs node<<1|1,mid+1,r using namesp 阅读全文
posted @ 2020-03-29 19:50 grass_lin 阅读(149) 评论(0) 推荐(0) 编辑
摘要:树链剖分常见题型: 一般对树上路径进行修改或者查询树上一段路径的值的和这类题可以用树链剖分, 树链剖分一般与线段树结合使用。 模板题: https://www.luogu.com.cn/problem/P3384 参考博客: https://www.cnblogs.com/ivanovcraft/p 阅读全文
posted @ 2020-03-28 21:40 grass_lin 阅读(164) 评论(0) 推荐(0) 编辑
摘要:模板题链接: https://www.luogu.com.cn/problem/P3379 参考博客: https://www.luogu.com.cn/blog/morslin/solution-p3379 代码: #include <iostream> #include <stdio.h> #i 阅读全文
posted @ 2020-03-28 10:36 grass_lin 阅读(151) 评论(0) 推荐(0) 编辑
摘要:题目链接: https://codeforces.com/contest/1328/problem/F 思路: 题目大意是你可以进行两种操作,一种是将最大数减1,另一种是将最小数加1,问你最少经过多少次操作,能使序列中存在k个相同的数 我们先将数组进行排序,然后用前缀和对数组进行预处理。 假设我们以 阅读全文
posted @ 2020-03-27 21:22 grass_lin 阅读(287) 评论(0) 推荐(0) 编辑
摘要:题目链接: https://codeforces.com/contest/1328/problem/E 思路: 题目大意就是问你从顶点到另一个点u,是否存在一条链,满足询问中的每个点都在 链上或者点的父节点在链上,首先我们可以发现深度最深的那个点max肯定是在链中的, 那么接下来我们只需要将每个点和 阅读全文
posted @ 2020-03-27 21:01 grass_lin 阅读(179) 评论(0) 推荐(0) 编辑
摘要:题意: 给你n个点和m条边,让你找一个大于等于⌈√n⌉的环或找一个点数等于⌈√n⌉的独立集链接:https://codeforces.com/contest/1325/problem/F 思路:根据dfs树的原理,相同深度的点之间必定没有边相连,我们将点的深度从 0到⌈√n⌉-1进行划分,根据鸽巢原 阅读全文
posted @ 2020-03-25 12:39 grass_lin 阅读(247) 评论(0) 推荐(1) 编辑
摘要:题目: 给你一个字符串,让你找一个最大回文串,这个回文串由该字符串的前缀和后缀一起组成 思路: 先处理字符串的两端直到两端不匹配为止,然后对中间的字符串跑一遍Manacher算法,然后 找出起始点为1或终止点为s.size()的最大回文串输出(这样才能保证满足前缀或后缀的条件),再分别输出即可 链接 阅读全文
posted @ 2020-03-23 19:55 grass_lin 阅读(218) 评论(0) 推荐(0) 编辑
摘要:题意: 给你一串数,每个数的因子不超过7个,求最少选出多少个数,使得他们的乘积为完全平方数。若无解则输出-1 链接: https://codeforces.com/contest/1325/problem/E 思路: 参考博客 https://www.luogu.com.cn/blog/0408Do 阅读全文
posted @ 2020-03-19 09:49 grass_lin 阅读(151) 评论(0) 推荐(0) 编辑
摘要:题意: 就问你每个节点到以这个点为根的子树的叶子节点的最远距离。 链接: http://acm.hdu.edu.cn/search.php?action=listproblem 思路: 我们设DP[i][0]表示以i节点为根节点的子树中的最远距离, DP[i][1]表示以i节点为根节点的子树中的次远 阅读全文
posted @ 2020-03-14 14:21 grass_lin 阅读(107) 评论(0) 推荐(0) 编辑
摘要:题意: 某大学有1-n个职员 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。 现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 ,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。 所以,请你编程计算,邀请 阅读全文
posted @ 2020-03-14 13:46 grass_lin 阅读(136) 评论(0) 推荐(0) 编辑
摘要:题意: 题目大致意思是给你n把武器,m件防具,p个怪兽,接下来n行每行告诉你该武器的攻击力和花费, 接下来m行告诉你该防具的防御力和花费,然后p行每行告诉你这个怪兽的攻击力,防御力以及打败这个 怪兽可以获得的金钱数,当你的攻击力大于怪兽的防御力,并且你的防御力大于怪兽的攻击力时,你可 以打败这个怪兽 阅读全文
posted @ 2020-03-06 18:37 grass_lin 阅读(150) 评论(0) 推荐(0) 编辑
摘要:题意: 一个餐厅在相继的 n 天里,每天需用的餐巾数不尽相同。假设第 i 天需要 ri块餐巾。餐厅可以购买新的餐巾,每块餐巾的费用为P, 或者把旧餐巾送到快洗部,洗一块需 M 天,其费用为 F 分;或者送到慢洗部,洗一块需 N 天,其费用为 S 分(S<F)。 每天结束时,餐厅必须决定将多少块脏的餐 阅读全文
posted @ 2020-03-03 13:56 grass_lin 阅读(196) 评论(0) 推荐(0) 编辑