摘要:
Gosha is hunting 题解 感觉数据范围好像开太小了,听说出题人当时给出的正解是 O ( n 2 l o g n ) O(n^2log\,n) O(n2logn)的,但我们可以用凸优化做到 O ( n l o g 2 n ) O(nlog^2n) O(nlog2n)。 首先我们该如何控制 阅读全文
摘要:
kangaroo 题解 dp板子。 首先我们应该是很容易想到将口袋与球分开处理,因为自己的口袋是肯定装不下自己的,所以分开处理也不会有任何偏差。 所以我们很快想到将所有的口袋与球根据大小排序后做dp,保证前面的一定装不下后面的,这样dp也就很好想了。 令 d p i , j , k dp_{i,j, 阅读全文
摘要:
Coordinate Paper 题解 很简单的一道构造题。 我们发现,相邻两个数可以转化成 a i + 1 ≡ a i + 1 ( m o d k + 1 ) a_{i}+1 \equiv a_{i+1}(mod\, k+1) ai+1≡ai+1(modk+1)的关系。 所以我们可以考虑先构造 阅读全文
摘要:
LYK loves games 题解 还是挺简单的。 首先 O ( n q l o g n ) O\left(nqlog\,n\right) O(nqlogn)的做法应该是很好想到的,可以树dp,考虑对每个 v a l i val_{i} vali进行二进制拆分,对于每一位单独进行处理,这样的话异 阅读全文
摘要:
教义问答手册 题解 挺简单的一道二分。 首先看到题目首先应该很容易想到dp,毕竟用dp求这个最大值应该是很简单的。 但是由于询问太多,我们不可能对每个询问都做一次dp,考虑整体二分。 对于二分时,我们处理掉所有当前的过 m i d mid mid的询问。 可以通过分别求出左边的dp值与右边的dp值来 阅读全文
摘要:
穿越时空 Bitaro 题解 首先应该很容易想到将点 i i i处的时间区间减去 i i i,这样就可以保证我们得时间前行转化成直线。 我们可以将转化后的前行的 x − t x-t x−t图画出来,很明显,我们得最优策略是先一直直走,遇到不能走时再调整到最近的第一个能走的时间。 但由于原询问要求处理 阅读全文