2019年5月5日
摘要: 题意 给出一个n排列,m次询问,每次查询长度最小的区间,使得这个区间排序后出现连续的整数(即相邻的差为1),并且包含(或等于)区间[l,r]。若长度相等,取l端点最小的。 n,m<=1E5 思考 重要的性质: 1.一个区间是连续的,当且仅当其存在r-l个无序二元组(x,y),满足|x-y|=1。 2 阅读全文
posted @ 2019-05-05 15:15 GreenDuck 阅读(353) 评论(0) 推荐(0) 编辑
2019年5月1日
摘要: 题意 给出长度为n的序列,只有1,0,-1。要求将其划分为若干长度在[L,R]之间的连续序列,一个序列若和大于0,造成1的贡献;若小于0,造成-1的贡献;否则没有贡献。求最大的贡献。 时间复杂度要求nlogn。 思考 线段树维护即可。以造成1的贡献为例。设当前前缀和为sumi,则需要在[max(0, 阅读全文
posted @ 2019-05-01 16:03 GreenDuck 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题意 把一个边长为1的正n边形放到一个正m边形中,要求m边形完全覆盖n边形,可以有交点,并且中心重合。求正m边形的最小边长,至少精确到6位。要求logn计算。 思考 先考虑m|n的情况。 我们知道,正m边形的边长与可行区域(即可以完全覆盖的那些角度)形成单射,当且仅当所有可行区域都成为可数的点时,答 阅读全文
posted @ 2019-05-01 12:26 GreenDuck 阅读(140) 评论(0) 推荐(1) 编辑
2019年4月27日
摘要: 这篇为非OI内容。主要讲了将一个曲线绕原点旋转,绕一个点旋转,得到新的表达式的方法。具有娱乐性质。 绘图工具:GrafEq 2.13(非常棒的绘图软件,或者说是游戏软件) 中心思想:虚数就是二维旋转 效果图: 椭圆绕原点顺时针转45°: 也是绕原点顺时针转45°: 对于表达式f(x,y)=0,将其展 阅读全文
posted @ 2019-04-27 12:19 GreenDuck 阅读(894) 评论(0) 推荐(0) 编辑
2019年4月25日
摘要: 题意 给出有向图,有边权。选择一些边,使得所有从1到n的每条路径(可重复经过点和边)都经过了选中边恰好一条,求最小代价。 思考 首先缩点,因为一个强连通分量中的边可以重复经过,一定不会选。 若限制是至少经过一条,则是最小割模型。 考虑最小割的意义。它将点集分为S和T集,使得割去所有S集到T集中的边后 阅读全文
posted @ 2019-04-25 15:14 GreenDuck 阅读(153) 评论(0) 推荐(0) 编辑
2019年4月23日
摘要: 最主要的两个式子: 套路1: $$\begin{array}{l}x^k=\sum_{i=0}^k\begin{pmatrix}x\\i\end{pmatrix}\begin{Bmatrix}k\\i\end{Bmatrix}i!\\\end{array}$$ 左边的式子可以看成将k个球放到x个有标 阅读全文
posted @ 2019-04-23 20:06 GreenDuck 阅读(427) 评论(0) 推荐(0) 编辑
2019年4月18日
摘要: 题意 给出n,等概率地生成一个1~n的数列。现在有n个人从左到右站成一排,每个人拿有当前数列位置上的数字,并且一开始都不知道数字是多少(但知道n是多少)。从左到右让每个人进行如下选择: 1.选择保留自己的卡片,让所有人知道这个卡片上面的数字,并且走到等待区中。第一个人只能进行该选择。 2.选定等待区 阅读全文
posted @ 2019-04-18 14:43 GreenDuck 阅读(112) 评论(0) 推荐(0) 编辑
2019年4月16日
摘要: 在竞赛中,kd-tree一般只用于平面,很少有高于二维的情况。 在随机情况下,kd-tree的复杂度为O(NlogN),但会被极端数据卡到平方级别。 总而言之,就是优美的暴力。 查询时,通过估价函数进行减值。当然,这个函数一定要大于等于最后的结果,才有正确性。 1.求平面最近点对,欧几里得距离。精确 阅读全文
posted @ 2019-04-16 19:48 GreenDuck 阅读(596) 评论(0) 推荐(0) 编辑
2019年4月15日
摘要: 题意 https://www.luogu.org/problemnew/show/P5292 思考 最朴素的想法,从可行的二元组(u,v)向外拓展,及u的出边所指的颜色与v的出边所指的颜色若相同,继续更新二元组(u',v'),复杂度约为O(m2)。 我们发现,很多时候边上的转移其实是没有必要的,因为 阅读全文
posted @ 2019-04-15 13:05 GreenDuck 阅读(163) 评论(0) 推荐(0) 编辑
2019年4月13日
摘要: 怎么说呢,照着打一遍就自然理解了,再打一遍就会背了,再打一遍就会推了。 1 // luogu-judger-enable-o2 2 #include<bits/stdc++.h> 3 using namespace std; 4 const int maxn=3E5+5; 5 int fa[maxn 阅读全文
posted @ 2019-04-13 18:38 GreenDuck 阅读(109) 评论(0) 推荐(0) 编辑