博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ3189 : [Coci2011]Slika
阅读量:5163 次
发布时间:2019-06-13

本文共 759 字,大约阅读时间需要 2 分钟。

通过离线将操作建树,即可得到最终存在的操作。

然后逆着操作的顺序,倒着进行染色,对于每行维护一个并查集即可。

时间复杂度$O(n(n+m))$。

 

#include
const int N=1010,M=100010;int n,m,i,j,x,C,X1,Y1,X2,Y2,f[M],cnt,pos[M],e[M][5],col[N][N];char ch;struct DSU{ int f[N]; void init(){for(int i=0;i<=n+1;i++)f[i]=i;} int F(int x){return f[x]==x?x:f[x]=F(f[x]);}}g[N];inline void read(int&a){char c;while(!(((c=getchar())>='0')&&(c<='9')));a=c-'0';while(((c=getchar())>='0')&&(c<='9'))(a*=10)+=c-'0';}int main(){ read(n),read(m),read(m); for(i=1;i<=m;i++){ while((ch=getchar())!='P'&&ch!='S'&&ch!='L'); if(ch=='P'){ f[i]=x;x=i; for(j=0;j<5;j++)read(e[i][j]); } if(ch=='S')pos[++cnt]=x; if(ch=='L')read(x),x=pos[x]; } for(i=0;i

  

转载于:https://www.cnblogs.com/clrs97/p/5665509.html

你可能感兴趣的文章
Visual Studio自定义模板(二)
查看>>
【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴
查看>>
读《构建之法-软件工程》第四章有感
查看>>
使用 Printf via SWO/SWV 输出调试信息
查看>>
.net 分布式架构之分布式锁实现(转)
查看>>
吴恩达机器学习笔记 —— 3 线性回归回顾
查看>>
Problem E: Automatic Editing
查看>>
SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
查看>>
《DSP using MATLAB》Problem 6.17
查看>>
微信公众平台开发实战Java版之如何网页授权获取用户基本信息
查看>>
一周TDD小结
查看>>
sizeof与strlen的用法
查看>>
Linux 下常见目录及其功能
查看>>
开源框架中常用的php函数
查看>>
nginx 的提升多个小文件访问的性能模块
查看>>
set&map
查看>>
集合类总结
查看>>
4.AE中的缩放,书签
查看>>
CVE-2014-6321 && MS14-066 Microsoft Schannel Remote Code Execution Vulnerability Analysis
查看>>
给一次重新选择的机会_您还会选择程序员吗?
查看>>