摘要:
题面 "传送门" 题解 要不是因为数组版的$LCT$跑得实在太慢我至于去学指针版的么……而且指针版的完全看不懂啊…… 首先有两个结论 1.与一个点距离最大的点为任意一条直径的两个端点之一 2.两棵树之间连一条边新树直径的端点一定是第一棵树直径的两个端点和第二颗树直径的两个端点这四个点之二 然后用并查 阅读全文
摘要:
题面 "传送门" 题解 首先可以用一个矩形去套这个多边形,那么我们只要枚举这个矩形的左下角就可以枚举完所有多边形的位置了 我们先对每一个$x$坐标开一个$bitset$,表示这个$x$坐标里哪些$y$坐标处有苍蝇。然后再处理出矩形中哪些位置会被覆盖,这个同样可以枚举$x$坐标,然后对于所有线段,如果 阅读全文
摘要:
题面 "传送门" 题解 这么简单一道题我考试的时候居然只打了$40$分暴力? 如果我们把每个点的$a_i$记为$deg_i 1$,其中$deg_i$表示有$deg_i$个数的$A_i$是$i$,那么很明显所有数的$a_i$之和为$0$ 于是,必然存在一个点$k$,满足从$(k,k+1)$把环断掉之后 阅读全文
摘要:
题面 "传送门" 题解 我的做法似乎非常复杂啊…… 首先最长上升子序列长度就等于把它反过来再接到前面求一遍,比方说把$2134$变成$43122134$,实际上变化之后的求一个最长上升子序列和方案数就是答案了 最长上升子序列随便求求,主要是这个方案数很麻烦啊……我的做法是对每一个长度开一个动态开点线 阅读全文
摘要:
"传送门" $Maximum\ Remaining$ 对于两个数$a,b$,如果$a=b$没贡献,所以不妨假设$a define R register define fp(i,a,b) for(R int i=(a),I=(b)+1;iI; i) define go(u) for(int i=hea 阅读全文
摘要:
题面 "传送门" 题解 枚举一个定点,把剩下的所有点按照极角排序就行了 cpp //minamoto include define R register define inline __inline__ __attribute__((always_inline)) define fp(i,a,b) 阅读全文
摘要:
题面 "传送门" 题解 不难发现最小圆覆盖的随机增量法复杂度还是正确的 所以现在唯一的问题就是给定若干个点如何求一个$m$维的圆 其实就是 "这一题" 阅读全文