01 2020 档案
摘要:题意 似乎边界上(折线上、正方形纸片边上)的点认为是。 由于操作次数很少,因此逆着操作,求出所有可能的点,之后正向模拟一遍判断即可。 求一个点关于一个向量的对称点:用向量旋转求出方向向量即可。 code: #include<bits/stdc++.h> using namespace std;
阅读全文
摘要:"题意" 考虑二分答案,我们只需要判断是否存在,对于任意满足。 展开可得: $\frac{y_{1i}}{x_i}\leqslant ax_i+b\leqslant\frac{y_{2i}}{x_i
阅读全文
摘要:"题意" 这题显然是暴推式子。 考虑下图: $S_{ABP} using namespace std; const int maxn=1e5+10; const double eps=1e 10; const double inf=1e12; int n,m; double sum,ans; str
阅读全文
摘要:"题意" 先求出半平面交,建造塔的地方不是拐点就是半平面交点的横坐标。 code:
阅读全文
摘要:"题意" 考虑矩形必定满足一条边和凸包重合(意会),于是我们枚举凸包的每一条边,考虑维护据该条边的最远点、最左点、最右点,这三个都可以旋转卡壳。 首先最远点是经典的求凸包直径问题,我们移动时比较当前和下一个三角形的大小即可。 之后考虑最左点和最右点,我们用点积求出投影长度来比较就好
阅读全文
摘要:"题意" 简单说一下做法,并不知道怎么证明: 假设当前求出了的最小覆盖圆,现在考虑的最小覆盖圆: 如果在当前圆中就不必改动。 不然必定在圆上,我们令圆心为,半径为。 现在固定了一个点,我们枚举,如果不在当前圆中,
阅读全文
摘要:"题意" 因为,因此只要知道,就可以知道。也就是说只用即可表示出一种材料/合金,我们将每种材料/合金表示为坐标系上的 一种材料能表示出的合金为。 两种材料能表示出的合金为线段上的所有点。 三种材料能表示出的合金为
阅读全文
摘要:"题意" 考虑算出每个圆能露出的部分,我们可以枚举它之后的圆,算出它被覆盖多少。 我们可以通过极角序将周长变为的区间,这样问题就变为了给出一些区间,问被这些去区间覆盖后还剩多少。 计算圆覆盖圆: 先判断是否存在包含和相离的情况。 我们求出$t1=\
阅读全文
摘要:"题意" 区间DP,确实很难想到 f[i][j][0/1]表示形成完美序列的[i,j],最近一次的数是插在i/j的方案数 : 如果上一个数插在队首,必定满足 如果上一个数插在队尾,必定满足$a[j] a
阅读全文
摘要:"题意" 求是否存在⼀条直线,使得所有线段在其上面的投影有至少⼀个 ⼀个交点。 假如存在交点,那么从这个交点做垂线,该垂线过所有线段,因此我们需要判断是否存在一条直线过所有线段,这种直线中必定有一条两端点都是给出的线段的端点,枚举判断即可。 code:
阅读全文
摘要:"题意" 先不考虑没有的限制,此时每场比赛只有两种选择,这是一个典型的模型。 发现很小,自然想到枚举每个用哪种车,但是显然是过不了的。于是我们枚举这个不能用那种车,此时我们只需要枚举两个即可,因为此时三种车都被放到上判断过了。 cod
阅读全文
摘要:"题意" "这道题" 的弱化版。 code:
阅读全文
摘要:"题意" 这是极角序维护凸包。 找一个点作为基准点,我选的是和的中点的中点。 用维护凸包,内部按照极角排序。 插入一个点: 如果之前存在就不插入。 不然就找到它的前驱和后继,之后不断弹掉两边的点,中途维护下面积即可。 code:
阅读全文
摘要:"题意" 显然极角序是能的,然而我非要用水平序。 code:
阅读全文
摘要:"题意" 通过观察发现答案为一个整圆+所有除去圆弧的四个顶点形成的凸包的周长,于是直接套模板就好了。 code:
阅读全文
摘要:"题意" 参考 "这篇博客" 。 看到区间问题首先考虑线段树,之后考虑如何合并区间: 比如我们现在求出了区间和区间的答案,现在我们要求出的答案,我们需要使的答案中每个斐波那契系数的下标加上,这个看似无法处理
阅读全文
摘要:"题意" 考虑一个暴力: 从每个类串向以它为前缀的类串连边,从每个类串向它支配的类串连边,每个类串的点权为串的长度,类串的点权为。 之后先判断这是不是个,如果不是就输出,不然就找最长链即可。 之后考虑怎么优化建图: 我
阅读全文
摘要:"题意" 显然答案是可以二分的,我们二分一个,只需要将所有价值大于等于的按照价格从小到大排序,从头开始取,一直取到满足条件即可。 对于组询问,我们考虑整体二分。 假设当前二分的是,我们用一颗线段树维护所有美味值大于等于的果汁的信息。 线段树
阅读全文
摘要:"题意" 考虑二项式反演。 设表示交集至少为的方案数,有。 先选必须包含,有种选法。 包含选出的个元素的集合个数为,每个集合都可以选或不选,但是不能一个也不选,所以方案数为$(2^{2^
阅读全文
摘要:"题意" 设表示第个糖果的能量,表示第个药片的能量 首先可以得出满足条件时,的对数为。 因为恰好为的方案数不好求,我们先求出至少为的方案数,之后用二项式反演求出答案。 先将从小到大排序。 设$h_{i,j}
阅读全文
摘要:"题意" 暴力显然是考虑n次多重背包。 考虑假如没有的限制,那么这实际上就是一个普通的完全背包预处理,最后输出。 现在假设只有这种硬币有限制,那么实际上我们只需要输出就好了。因为既然这种货币使用超过了限制,那么它
阅读全文
摘要:"题意" 注意到询问串的长度是给定的,同时,我们发现之间一个大了另一个必定会小,因此我们对分类讨论: 首先肯定要对建一个后缀自动机,对每个点维护集合的大小。 $k\geqslant\sq
阅读全文
摘要:"题意" 见到棋盘首先想黑白染色,之后对这个二分图跑一个最大匹配。 假如一个棋子放在了一个非匹配点上,那么先手必败,因为后手每次都有匹配边可以走。 于是我们要求有多少个点可能不在一个最大匹配中: 考虑一个非匹配点,假如它连向了一个匹配点,那么它就能替换掉当前当前和这个匹配点匹配的点
阅读全文
摘要:"题意" 先将所所有条件按照高度从小到大排序,其中我们将隔板也看成条件。 现在我们将个格子看成个连通块,之后从开始扫描,并维护每个联通块如下信息: 表示当前连通块最多能满足几个条件。 表示该连通块如果涨到当前水位,这个联通块的答案是多少。 对于每种条件$(
阅读全文
摘要:"题意" 真的想不到是的题,用了一个晚上基本弄懂了。 首先我们要解决的是用一个小矩形在一个大矩形上匹配的问题,如果是一维的就是 "这道题" 。 现在是二维的,我们将每一行拆出来,按照第行、第行、...、第行的顺序拼接在一起,拼出一个长为的串,考虑在这上面解决问题
阅读全文
摘要:"题意" 首先考虑怎么做: 经典做法是设表示个点的无向连通图个数,表示个点的无向图个数。 显然有:,即考虑条边中每条边存不存在。 容斥一下,枚举号节点所在连通块大小,乘个组合数表示选些点和在同一连
阅读全文
摘要:"题意" 我自闭了,连蓝题都不会了,还得看题解。 以下是我理解的官方做法,献给给广大没看懂官方题解的神仙们。作者蒟蒻,如果有什么不对的地方请指出。 观察题目的限制,发现是一个的形式,因此我们可以考虑每个质数。 对于每个质数,我们求出一个串,其中
阅读全文