12 2019 档案
摘要:题意 "题目链接" 简洁版:平面上有个点,每个点有一个权值,有个操作 交换两点的权值 询问一个矩形区域内第小的权值 $n using namespace std; const int N=60005; const int M=10005; int n,m,cnt,t1,t2,mn=
阅读全文
摘要:题意 给定由个点条边组成的无向连通图,保证没有重边和自环。 你需要找出所有边,满足这些边恰好存在于一个简单环中。一个环被称为简单环,当且仅当 它包含的所有点都只在这个环中被经过了一次。 注意到这些边可能有很多条,你只需要输出他们编号的异或和即可。 思路 可以先从图中dfs出一棵生成树 可
阅读全文
摘要:"题意" 思路: 首先可以感觉到是二分 进而可以发现是整体二分 警告:后面做法极为骚气,请各位站稳扶牢 这里的插入操作可以看成每一次的区间加(如果l r可拆为两边处理) 最后可强行加一个覆盖所有点的区间加1e9,这样能满足所有p[i] 这里的询问操作可以看成询问每一个点的权值 对于整体二分基本与其他
阅读全文
摘要:题意: 给定个元素,每个元素有四个属性,求序列中满足$a_i using namespace std; const int N=50005; int n,ans; struct node{int a,b,c,d,tp;}q[N],tmp1[N],tmp2[N]; inline
阅读全文
摘要:题意: 给你一个N N的矩阵,没有修改,每次询问一个子矩形中的第K小数。 "题目链接" 思路: 当它只有一列时,其实就是区间第K大,也就是整体二分可以解决的。 现在到了二维,只需要将之前的树状数组改成二维的就可以了。 注意事项: 二维的容斥稍显繁杂,注意一下 二维树状数组不要打错 code:
阅读全文
摘要:题意: 一个序列,N个数,M次操作,操作分为两种: 1、 将一个数修改为另外一个数。 2、 询问区间第K小。 $1 using namespace std; const int N=1e5+5; const int inf=1e9; int n,m,cnt,tot; int a[N],ans[N];
阅读全文