07 2020 档案
摘要:题目 传送门 题解 一道只看代码很水实则很难的树形 DP 题,要做出这道题,需要巧妙地转换模型 一棵树去掉一些边,一定会构成许多连通块,我们首先需要意识到每个连通块的最大匹配都是相互独立,那么我们可以分块进行思考. 我们首先对这道题中这些出现唯一最大匹配的块的特点做一些分析. 首先一定有: 如果这个
阅读全文
摘要:题目 传送门 题解 DP 矮子又来学习 DP 了 代码短小精悍思路十分巧妙的树形 . 在一般的树 中,我们一般都会对子树树根进行一些限定,并使其有主导作用,这样才能避免重复,在这道题中,我们不妨假定我们的树根为 最大/最小 的(两种思路皆可),这里假定我们选定的某一个树根是
阅读全文
摘要:题目 传送门 题解 对于这种求最小值的题,我们显然有一种二分的做法,先用 的复杂度二分一个油箱的大小,再对其进行合法性检查,这样做时间复杂度 显然,这样做似乎要超时,虽然时间复杂度最差情况下就差一点就可以卡过去,但是这个
阅读全文
摘要:题目 传送门 题解 这道题如果不仔细分析,还真看不出是道区间 的题... 首先,题目要求的其中一个不能连边的限制有些奇怪: 两条线段不能在顶点之外的地方相交,如不能同时连(1,3) 和 (2,4) 如果我们直接放在一个 边形上,思考这个条件指哪些点无法连接? 以 \(N=5
阅读全文
摘要:题目 传送门 题解 题目所要求的是从小到大染色,我们不妨顺着这个顺序对方案数进行统计 设 为区间 目前颜色一致(不然无法进行染色),将 染成目标状态的方案数,由于我们先染最小编号的颜色,不妨记最小颜色的编号为 ,这个 \(p\
阅读全文
摘要:题目 传送门 题解 一道连我这种菜鸡都可以切掉的题 之前我似乎做过这道题,但是那个时候似乎没有仔细思考就看了题解,导致再次思考的时候碰到一些问题。 以前的思路是来源于 @ysner,大致思路如下: 定义 表示区间 是否可以作为 的左子树;
阅读全文
摘要:题目 传送门 题解 研究了俩小时,终于是看懂了题解 首先简化题目:可以将这些在同一直线上的圆看做是在直线上的一些区间,现在我们要求最多能选多少区间使得这些区间不相交,并输出任意一种最多的选择情况。 然后,我们可以构想一下最后的状态是什么样子:选了一些很大的不相交的区间,在这些区间中又分别选一些不相交
阅读全文
摘要:题目 传送门 题解 首先判断无解的情况:有两个及两个以上的连通块中存在需要走奇数次的点。 这个判断可以在输入的时候做。 然后考虑怎么解决这个问题? 对于最优的情况,我们不经过偶数点,只经过奇数点,走一条单链 但是这只是我们的梦想,这种数据只存在于样例... 但是我们不能放弃我们的梦想,考虑多走一些其
阅读全文
摘要:题目 传送门 题解 首先,意识到每一个连通块都是独立的,那么我们可以分每个联通块进行考虑. 对于每一个连通块,如果我们需要确定这个块的反转情况,我们只需要知道两个条件: 某一个点的反转情况; 所有边最终会被翻成什么颜色; 因为这两个情况的组合至多有 种情况,而每个连通块,
阅读全文
摘要:题目 传送门 题解 令 为选出数列长度,首先,我们需要证明, 为偶数情况的一定劣于 为奇数的情况 假设这个差最大的子集中有偶数个元素,那么去掉中间较大的元素后对平均数减小的影响比对中位数的减小影响小,所以最后的解更优了,所以最后的集合的元素数量一定是奇数
阅读全文
摘要:题目 传送门 题解 对于不交换和只交换一次这两种情况,我们都可以直接暴力做,前者 输入时预处理,后者直接 暴力扫即可。 对于交换两次,我们可以将数组中任意两个数绑在一起,分别组成 的数组和
阅读全文
摘要:题目 传送门 题解 我们需要对一种情况有意识:当 时,我们可以直接做,这里不再赘述. 下面我们讨论的是 的一般情况. 首先,我们将 个数都变成的数称作集合点. 那么,我们应该可以意识到,这个所谓的集合点是 ,其中 $0\le
阅读全文
摘要:题目 传送门 题解 一道十分巧妙的构造题。 我们考虑先将所有数离散化,然后,对于一个数 ,如果我们已经使得 有序(位置不一定相邻),现在要将 加入进去,维护这个序列有序,那么,我们的最终目的其实就是将 放到最后的位置去 我们考虑将
阅读全文
摘要:题目 传送门 题解 考虑二分一个 ,看一看在 中的合法数是否有 个 如何计算?我们考虑折半搜索,将 分成前一半和后一半,在前一半中枚举 ,然后在后一般中看一看小于等于 的数有多少个,累加
阅读全文
摘要:题目 传送门 题解 考虑先将每一位上单独异或一个 所有数会使 发生什么变化,可以这样预处理出来: inline void Getcnt(){ rep(i,0,MAXK){ rep(j,1,n)if((a[j]^(1<<i))<a[j])cnt[i][j]=-1; else
阅读全文
摘要:题目 传送门 题解 记总物品数为 ,只能买 个使得两人喜欢的分别至少有 个。 记 为两人都喜欢的商品数, 分别为 各自喜欢的商品数,首先我们可以预处理出来这仨东西: inline bool cmp(const i
阅读全文
摘要:题目 传送门 题解 一道十分巧妙的二分题 然而精度要求较高 首先考虑无解情况——有某两个点在 轴的上下方,此时输出 -1 否则,考虑二分这个圆的半径 ,那么这个圆心所在的位置一定是一条直线 (此处我们将所有的点都转移到 轴上方,故不考虑正负号问题),然
阅读全文