摘要: 题目 传送门 题解 一道十分巧妙的构造题。 我们考虑先将所有数离散化,然后,对于一个数 \(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) 编辑