摘要: 题目 传送门 题解 这道题如果不仔细分析,还真看不出是道区间 \(DP\) 的题... 首先,题目要求的其中一个不能连边的限制有些奇怪: 两条线段不能在顶点之外的地方相交,如不能同时连(1,3) 和 (2,4) 如果我们直接放在一个 \(N\) 边形上,思考这个条件指哪些点无法连接? 以 \(N=5 阅读全文
posted @ 2020-07-29 10:17 Arextre 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 考虑构想一下最终情况:在 \(S\) 的前 \(i\) 位已经以某种放入方式放进 \(A\) 之后,\(T\) 成为了 \(A\) 的前缀,然后 \(T\) 的 \(i+1\) 到 \(lenS\) 位直接放入 \(A\) 的后面(显然 \(i\) 有可能为 \(lenS\)), 阅读全文
posted @ 2020-07-28 22:05 Arextre 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 题目所要求的是从小到大染色,我们不妨顺着这个顺序对方案数进行统计 设 \(f[l][r]\) 为区间 \([l,r]\) 目前颜色一致(不然无法进行染色),将 \([l,r]\) 染成目标状态的方案数,由于我们先染最小编号的颜色,不妨记最小颜色的编号为 \(p\),这个 \(p\ 阅读全文
posted @ 2020-07-28 19:30 Arextre 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 由于 \(n\le 500\),所以这道题支持类似 \(\mathcal O(n^3)\) 之类的小暴力... 发现对于固定的某一段 \([l,r]\),我们可以直接处理出它们会合并成什么亚子,定义 \(f[i][j]\) 为 \([i,j]\) 可以合并成什么数,如果不可行为 阅读全文
posted @ 2020-07-28 16:15 Arextre 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 一道连我这种菜鸡都可以切掉的题 之前我似乎做过这道题,但是那个时候似乎没有仔细思考就看了题解,导致再次思考的时候碰到一些问题。 以前的思路是来源于 @ysner,大致思路如下: 定义 \(l[i][j]\) 表示区间 \([i,j-1]\) 是否可以作为 \(j\) 的左子树; 阅读全文
posted @ 2020-07-28 14:57 Arextre 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 研究了俩小时,终于是看懂了题解 首先简化题目:可以将这些在同一直线上的圆看做是在直线上的一些区间,现在我们要求最多能选多少区间使得这些区间不相交,并输出任意一种最多的选择情况。 然后,我们可以构想一下最后的状态是什么样子:选了一些很大的不相交的区间,在这些区间中又分别选一些不相交 阅读全文
posted @ 2020-07-28 10:41 Arextre 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 首先判断无解的情况:有两个及两个以上的连通块中存在需要走奇数次的点。 这个判断可以在输入的时候做。 然后考虑怎么解决这个问题? 对于最优的情况,我们不经过偶数点,只经过奇数点,走一条单链 但是这只是我们的梦想,这种数据只存在于样例... 但是我们不能放弃我们的梦想,考虑多走一些其 阅读全文
posted @ 2020-07-27 22:09 Arextre 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 首先,意识到每一个连通块都是独立的,那么我们可以分每个联通块进行考虑. 对于每一个连通块,如果我们需要确定这个块的反转情况,我们只需要知道两个条件: 某一个点的反转情况; 所有边最终会被翻成什么颜色; 因为这两个情况的组合至多有 $2\times 2=4$ 种情况,而每个连通块, 阅读全文
posted @ 2020-07-27 22:02 Arextre 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 令 \(len\) 为选出数列长度,首先,我们需要证明,\(len\) 为偶数情况的一定劣于 \(len\) 为奇数的情况 假设这个差最大的子集中有偶数个元素,那么去掉中间较大的元素后对平均数减小的影响比对中位数的减小影响小,所以最后的解更优了,所以最后的集合的元素数量一定是奇数 阅读全文
posted @ 2020-07-26 11:37 Arextre 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 这道题有两种做法,前者 \(\mathcal O(n)\),后者 \(\mathcal O(n\log_{\frac{3}{2}}n)\) .(此处将 \(n,m\) 视作同阶,不作明显区分) 首先定义 \(a[i][j]\) 为重量为 \(i\) 而价格在重量为 \(i\) 的 阅读全文
posted @ 2020-07-26 11:31 Arextre 阅读(194) 评论(0) 推荐(1) 编辑
摘要: 题目 传送门 题解 对于不交换和只交换一次这两种情况,我们都可以直接暴力做,前者 \(\mathcal O(n)\) 输入时预处理,后者直接 \(\mathcal O(nm)\) 暴力扫即可。 对于交换两次,我们可以将数组中任意两个数绑在一起,分别组成 \(\frac{n^2}{2}\) 的数组和 阅读全文
posted @ 2020-07-26 11:13 Arextre 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 我们需要对一种情况有意识:当 \(b\ge5c\) 时,我们可以直接做,这里不再赘述. 下面我们讨论的是 \(b< 5c\) 的一般情况. 首先,我们将 \(k\) 个数都变成的数称作集合点. 那么,我们应该可以意识到,这个所谓的集合点是 \(v[i]+k\),其中 $0\le 阅读全文
posted @ 2020-07-22 16:51 Arextre 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 一道十分巧妙的构造题。 我们考虑先将所有数离散化,然后,对于一个数 \(i\),如果我们已经使得 $1\sim i-1$ 有序(位置不一定相邻),现在要将 \(i\) 加入进去,维护这个序列有序,那么,我们的最终目的其实就是将 \(i\) 放到最后的位置去 我们考虑将 \(i\) 阅读全文
posted @ 2020-07-20 09:24 Arextre 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 考虑二分一个 \(x\),看一看在 \([1,x]\) 中的合法数是否有 \(k\) 个 如何计算?我们考虑折半搜索,将 \(p[i]\) 分成前一半和后一半,在前一半中枚举 \(m[i]\),然后在后一般中看一看小于等于 \(\frac{x}{m[i]}\) 的数有多少个,累加 阅读全文
posted @ 2020-07-20 09:12 Arextre 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 考虑先将每一位上单独异或一个 $1$ 所有数会使 \(a[i]\) 发生什么变化,可以这样预处理出来: inline void Getcnt(){ rep(i,0,MAXK){ rep(j,1,n)if((a[j]^(1<<i))<a[j])cnt[i][j]=-1; else 阅读全文
posted @ 2020-07-20 09:01 Arextre 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 首先,这道题的洛谷题目翻译有点问题,题目意思是这样的: 满足下列条件的矩阵称为魔法矩阵: \(a[i][j]=a[j][i]\); \(a[i][i]=0\); \(a[i][j]\le \min\{\max(a[i][k],a[k][j])\}\) 现给你一个 \(n\time 阅读全文
posted @ 2020-07-20 08:48 Arextre 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 记总物品数为 \(n\),只能买 \(m\) 个使得两人喜欢的分别至少有 \(k\) 个。 记 \(sz1\) 为两人都喜欢的商品数,\(sz2,sz3\) 分别为 \(A,B\) 各自喜欢的商品数,首先我们可以预处理出来这仨东西: inline bool cmp(const i 阅读全文
posted @ 2020-07-20 08:34 Arextre 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 考虑对于一个区间 \([l,r]\),其并值为 \(x\) 会有什么限制: 如果 \(x\) 的第 \(i\) 位为 \(1\),则要求 \([l,r]\) 所有数字的第 \(i\) 位为 \(1\); 如果 \(x\) 的第 \(i\) 位为 \(0\),则要求 \([l,r] 阅读全文
posted @ 2020-07-20 08:08 Arextre 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题目 传送门 题解 一道十分巧妙的二分题 然而精度要求较高 首先考虑无解情况——有某两个点在 \(x\) 轴的上下方,此时输出 -1 否则,考虑二分这个圆的半径 \(r\),那么这个圆心所在的位置一定是一条直线 \(y=r\)(此处我们将所有的点都转移到 \(x\) 轴上方,故不考虑正负号问题),然 阅读全文
posted @ 2020-07-20 07:50 Arextre 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 〇、前言 ¶ 鸽了好久了,于 \(2021/4/5\) 看到重心 \(\tt Lagrange\) 插值法,惊讶于 \(\mathcal O(n)\) 的快速插值,想要把这篇完善一下。 壹、普通 Lagrange 插值法 ¶ 对于一个 \(k\) 次多项式 \(f(x)\),假如我们已经知道其中 \ 阅读全文
posted @ 2020-07-17 09:50 Arextre 阅读(1620) 评论(0) 推荐(1) 编辑