随笔分类 - 其他-折半搜索
摘要:题目 传送门 题解 考虑二分一个 \(x\),看一看在 \([1,x]\) 中的合法数是否有 \(k\) 个 如何计算?我们考虑折半搜索,将 \(p[i]\) 分成前一半和后一半,在前一半中枚举 \(m[i]\),然后在后一般中看一看小于等于 \(\frac{x}{m[i]}\) 的数有多少个,累加
阅读全文
摘要:题目 传送门 题解 考虑先将每一位上单独异或一个 $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
阅读全文