BZOJ3526 [Poi2014]Card
来源:互联网 发布:java异常中的finally 编辑:程序博客网 时间:2024/06/14 17:22
线段树维护区间以较小的数开头,结尾最小是多少以及区间以较大的数开头,结尾最小是多少(同时维护是否无解)
然后就可以判了
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<ctime>#include<cmath>#include<algorithm>#include<iomanip>#include<vector>#include<map>#include<set>#include<bitset>#include<queue>#include<stack>using namespace std;#define MAXN 200010#define MAXM 1010#define INF 1000000000#define MOD 1000000007#define eps 1e-8#define ll long longint n,m;int a[MAXN],b[MAXN];int v1[MAXN<<2],v2[MAXN<<2];inline void ud(int x,int y,int z){int mid=y+z>>1;if(a[mid+1]>=v1[x<<1]){v1[x]=v1[x<<1|1];}else if(b[mid+1]>=v1[x<<1]){v1[x]=v2[x<<1|1];}else{v1[x]=INF;}if(a[mid+1]>=v2[x<<1]){v2[x]=v1[x<<1|1];}else if(b[mid+1]>=v2[x<<1]){v2[x]=v2[x<<1|1];}else{v2[x]=INF;}}void build(int x,int y,int z){if(y==z){v1[x]=a[y];v2[x]=b[y];return ;}int mid=y+z>>1;build(x<<1,y,mid);build(x<<1|1,mid+1,z);ud(x,y,z);}void change(int x,int y,int z,int p){if(y==z){v1[x]=a[y];v2[x]=b[y];return ;}int mid=y+z>>1;if(p<=mid){change(x<<1,y,mid,p);}else{change(x<<1|1,mid+1,z,p);}ud(x,y,z);}int main(){int i,x,y;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d%d",&a[i],&b[i]);if(a[i]>b[i]){swap(a[i],b[i]);}}build(1,1,n);scanf("%d",&m);while(m--){scanf("%d%d",&x,&y);swap(a[x],a[y]);swap(b[x],b[y]);change(1,1,n,x);change(1,1,n,y);if(v1[1]==INF){printf("NIE\n");}else{printf("TAK\n");}}return 0;}/**/
0 0
- BZOJ3526: [Poi2014]Card
- BZOJ3526 [Poi2014]Card
- BZOJ3526[Poi2014] Card
- BZOJ3526: [Poi2014]Card
- BZOJ 3526 [Poi2014]Card
- 3526: [Poi2014]Card
- POI2014
- card
- Card
- 1012 card card card
- HDU6205 card card card
- HDU6205-card card card
- card card card
- HDU6205 card card card
- POI2014 题解
- [Poi2014]FarmCraft
- [Poi2014]FarmCraft
- HDU6205 card card card【模拟】
- zzulioj 1918 (二分图--最大匹配)
- git学习
- poj 3087 Shuffle'm Up
- 【zzulioj 1915 三维数组】
- Merge Intervals解题报告
- BZOJ3526 [Poi2014]Card
- 一次快排
- 2016.08.17【初中部 NOIP提高组 】模拟赛C题解
- #ifndef #define #endif的用法
- n a^o7 !
- 客户端多线程向服务端的文件传输
- java对象与json对象间的相互转换
- angularjs的使用:过滤器(5)
- UVA1386 快速矩阵幂 O(n²logk)