摘要:
"题意" 先求出半平面交,建造塔的地方不是拐点就是半平面交点的横坐标。 code: 阅读全文
摘要:
"题意" 考虑矩形必定满足一条边和凸包重合(意会),于是我们枚举凸包的每一条边,考虑维护据该条边的最远点$p$、最左点$l$、最右点$r$,这三个都可以旋转卡壳。 首先最远点是经典的求凸包直径问题,我们移动时比较当前和下一个三角形的大小即可。 之后考虑最左点和最右点,我们用点积求出投影长度来比较就好 阅读全文
摘要:
"题意" 简单说一下做法,并不知道怎么证明: 假设当前求出了$[1,i 1]$的最小覆盖圆,现在考虑$[1,i]$的最小覆盖圆: 如果$i$在当前圆中就不必改动。 不然$i$必定在圆上,我们令圆心为$i$,半径为$0$。 现在固定了一个点,我们枚举$j\in[1,i 1]$,如果$j$不在当前圆中, 阅读全文
摘要:
"题意" 因为$a+b+c=1$,因此只要知道$a,b$,就可以知道$c$。也就是说只用$a,b$即可表示出一种材料/合金,我们将每种材料/合金表示为坐标系上的 一种材料$a$能表示出的合金为$a$。 两种材料$a,b$能表示出的合金为线段$ab$上的所有点。 三种材料$a,b,c$能表示出的合金为 阅读全文
摘要:
"题意" 考虑算出每个圆能露出的部分,我们可以枚举它之后的圆,算出它被覆盖多少。 我们可以通过极角序将周长变为$[0,2\pi]$的区间,这样问题就变为了给出一些区间,问$[0,2\pi]$被这些去区间覆盖后还剩多少。 计算圆$b$覆盖圆$a$: 先判断是否存在包含和相离的情况。 我们求出$t1=\ 阅读全文
摘要:
"题意" 区间DP,确实很难想到 f[i][j][0/1]表示形成完美序列的[i,j],最近一次的数是插在i/j的方案数 $f[i][j][0]$: 如果上一个数插在队首,必定满足$a[i]a[i]$ $f[i][j][1]+=f[i][j 1][0]$ 如果上一个数插在队尾,必定满足$a[j] a 阅读全文