//目录

随笔分类 -  OJ——多校

摘要:题意:给出一棵 N 个节点树,上面有 K 个猴子,然后竟可能删边,但是每一只猴子必须有直接相邻的猴子与之相邻。求最少剩下几条边。 分析:一条边可以用两只猴子站,这样的一条点对,越多越好,如果是ans个,ans*2>=k,那么只需要 (k+1)/2 条边。 否则,需要 ans + (k-ans*2) 阅读全文
posted @ 2017-08-25 11:01 小草的大树梦 阅读(222) 评论(0) 推荐(0) 编辑
摘要:题意: 求最长的两个不相交的子序列,dis <= m ; 分析: 当时二分了答案,暴力匹配,TLE了,然后考虑了,O(n^2)预处理出所有区间 dis,然后答案是所有dis中>=m的最长长度吗? 不是,两个子区间可以不相邻。 还是二分答案,还是枚举两个区间的位置,这里已经是O(n^2)了,怎么判断他 阅读全文
posted @ 2017-08-11 10:29 小草的大树梦 阅读(162) 评论(0) 推荐(0) 编辑
摘要:题意:求AC率,x/y 的最小值,x是区间数字的种类数,y是区间的长度。 分析: 二分答案比率。ans, 动态插入结点,一些区间的size会发生变化,是那些前面暂时没有新的结点的区间 size + 1。 ans*l,每一个区间只有一个ans*l,只与 l 相关,线段树单点更新。 用线段树维护区间的最 阅读全文
posted @ 2017-08-04 15:37 小草的大树梦 阅读(209) 评论(0) 推荐(0) 编辑
摘要:6034:给每个字母26进制的贪心。例如一个字母 c = 7*26^89 + 6*26^50.... 这个字符串有10^5长度。普通的大整数会超时,这里要稀疏这个大数一个pair<int,int> 型即可 (89,7),计算好每一个字母的贡献值,排序。 前导0的处理是,如果要用到0了,说明所有字母都 阅读全文
posted @ 2017-07-26 11:39 小草的大树梦 阅读(155) 评论(0) 推荐(0) 编辑
摘要:题意:动态查询区间的gcd,和gcd的值的个数。 分析:gcd的查找可以线段树,val(node) = gcd(val(left),val(val)),我是用ST表搞的。 然后查询这个值的区间有多少个。 简单说就是,这个gcd 不会很多,可以分区间hash好。 二分写的很糟。 #include <b 阅读全文
posted @ 2017-07-24 20:00 小草的大树梦 阅读(116) 评论(0) 推荐(0) 编辑
摘要:题意:求最小生成树,和任意两个点之间距离的期望 官方题解: 最后求两遍点的积的时候,还是要判断父子关系。 注意 long long #include <bits/stdc++.h> using namespace std; typedef long long LL; const int maxn = 阅读全文
posted @ 2017-07-24 16:22 小草的大树梦 阅读(311) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911 题意: 给出一个序列,可以相邻的交换k次,求 k 次之后,逆序数对最少是多少; 分析: 可以发现,无论怎么交换之后,总共的逆序数对只会-1,那么结果就是,将这个序列排整齐时,要两两交换的次数-k; 阅读全文
posted @ 2017-05-07 21:14 小草的大树梦 阅读(532) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示