摘要: P1856 [USACO5.5]矩形周长Picture 题目背景 墙上贴着许多形状相同的海报、照片。它们的边都是水平和垂直的。每个矩形图片可能部分或全部的覆盖了其他图片。所有矩形合并后的边长称为周长。 题目描述 编写一个程序计算周长。 如图1所示7个矩形。 如图2所示,所有矩形的边界。所有矩形顶点的 阅读全文
posted @ 2019-01-26 22:01 yccdu 阅读(136) 评论(0) 推荐(0) 编辑
摘要: CF1045G 看了下题解,动态开点线段树,好像挺难的 阅读全文
posted @ 2019-01-26 21:54 yccdu 阅读(109) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-10-25 16:13 yccdu 阅读(34) 评论(4) 推荐(1) 编辑
摘要: sol:不难吧,首先假设所有的狮子会一口气吃到底,(只剩一只), #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N=100005,inf=2e9+7; int n,a[ 阅读全文
posted @ 2018-10-18 17:54 yccdu 阅读(174) 评论(0) 推荐(1) 编辑
摘要: sol: 原题 CF444E 引理:考虑把xi像size一样记录出某个子树的大小,如果这个子树的大小大于除这个子树外的节点数,那这条边就可以满足条件。 但是不能用整个树来做判断,可以把他们看成一块块的,首先对每条边按边权排序,然后用并查集把点并起来,顺便把sz合起来,顺便同时判断是否满足 sol:树 阅读全文
posted @ 2018-10-16 21:30 yccdu 阅读(125) 评论(0) 推荐(1) 编辑
摘要: 题面 sol:说了是线段树优化建图的模板。。。 就是把一整个区间的点连到一个点上,然后用那个点来连需要连一整个区间的点就可以了,就把边的条数优化成n*log(n)了 #include <queue> #include <cstdio> #include <iostream> using namesp 阅读全文
posted @ 2018-10-14 19:47 yccdu 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 题面 大意:给出n个弹弓,可以用ti的时间把xi位置运到yi,在给出m组询问,求xj到yj最小时间。 sol:首先如果不用弹弓,时间应为abs(xj-yj)。否则时间就是abs(xi-xj)+abs(yi-yj)+ti。这就需要拆开绝对值用线段树来维护了。大力枚举四种情况,建四次线段树,就可以过了。 阅读全文
posted @ 2018-10-14 09:29 yccdu 阅读(247) 评论(0) 推荐(1) 编辑
摘要: 题面 大意:让你把两个n的排列做匹配,连线不想交,而且匹配的数字的差<=4,求最大匹配数 sol:(参考了kczno1的题解)对于第一个排列从左往右枚举,用树状数组维护到达另一个序列第i个数字的最大值。 #include <cstdio> #include <algorithm> using nam 阅读全文
posted @ 2018-10-13 20:43 yccdu 阅读(217) 评论(0) 推荐(1) 编辑
摘要: T1大意:给一个序列,每次修改一个数,求每次修改后的众数 sol:数据结构sb题,离散完之后套一个权值线段树就过了 T2大意:给出一个k维的空间,在空间中有n个点,求任意两个点的最大曼哈顿距离 sol:因为abs比较难处理,所以拆开绝对值:考虑直接拆开原来如果是abs(x1-x2),拆成x1-x2, 阅读全文
posted @ 2018-10-06 15:56 yccdu 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 这么多模拟赛都没整理,能整理一天算一天吧qaq sol:应该不难吧,分别对横坐标和纵坐标取差的绝对值,易知:如果互质就可以看到,否则就不行。然后出题人很毒瘤要用unsigned long long。 sol:这就是大模拟啊,我代码在全班算很短了,我就简单说说模拟的方法,也没什么:我发现绝对值小于1e 阅读全文
posted @ 2018-10-05 19:18 yccdu 阅读(122) 评论(0) 推荐(1) 编辑