这题离散化+并查集,没看出关dp什么事。(那他为什么放到dp里面)

用Si记录前i项的和。拆成两个点,i*2表示与第i个相同,i*2+1表示与第i个不同。用并查集判断。区间[a,b]就可以看成Sb-S(a-1),用并查集保存S的奇偶性的相同和相异情况。

注意数组开时要开成4*n+4,我在这里RE了一次

代码:

#include<cstdio>

#include<cstdlib>

#include<algorithm>

using namespace std;

struct dt{

int id,p,l;

}a[10100];

int fa[20100];

bool d[5100],f;

bool cmp1(dt x,dt y){

return x.p<y.p;

}

bool cmp2(dt x,dt y){

return x.id<y.id;

}

int find(int x){

return(fa[x]==x)?x:fa[x]=find(fa[x]);

}

void uni(int x,int y){

int m1=find(x),n1=find(y);

//      for(int i=0;i<20;i++)printf("%d ",fa[i]);printf("\n");

//      printf("%d %d\n",m1,n1);

if(abs(m1-n1)==1 && (m1+n1)%4==1){

f=1;

return;

}

fa[n1]=m1;

return;

}

int main(){

int n;

scanf("%d",&n);

scanf("%d",&n);

for(int i=0;i<n*4+4;i++)

fa[i]=i;

for(int i=0;i<n;i++){

int x,y;

char ch[20];

scanf("%d%d%s",&x,&y,ch);

a[i*2].id=i*2,a[i*2].p=x-1;

a[i*2+1].id=i*2+1,a[i*2+1].p=y-1;

if(ch[0]=='e')d[i]=0;else d[i]=1;

}

sort(a,a+n*2,cmp1);

a[0].l=1;

for(int i=1;i<n*2;i++)

if(a[i].p==a[i-1].p)

a[i].l=a[i-1].l;

else a[i].l=a[i-1].l+1;

sort(a,a+n*2,cmp2);

f=0;int ans=0;

for(int i=0;i<n;i++){

int p=a[i*2].l-1,q=a[i*2+1].l;

//               printf("%d %d\n",p,q);

if(d[i]){

uni(p*2,q*2+1);

if(f)break;

uni(p*2+1,q*2);

if(f)break;

}else{

uni(p*2,q*2);

if(f)break;

uni(p*2+1,q*2+1);

if(f)break;

}

ans++;

}

printf("%d\n",ans);

return 0;

}

poj 1733的更多相关文章

  1. 类似区间计数的种类并查集两题--HDU 3038 & POJ 1733

    1.POJ 1733 Parity game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5744   Accepted: ...

  2. poj 1733 并查集+hashmap

    题意:题目:有一个长度 已知的01串,给出多个条件,[l,r]这个区间中1的个数是奇数还是偶数,问前几个是正确的,没有矛盾 链接:点我 解题思路:hash离散化+并查集 首先我们不考虑离散化:s[x] ...

  3. poj 1733(带权并查集+离散化)

    题目链接:http://poj.org/problem?id=1733 思路:这题一看就想到要用并查集做了,不过一看数据这么大,感觉有点棘手,其实,我们仔细一想可以发现,我们需要记录的是出现过的节点到 ...

  4. poj 1733 Parity game(带权并查集+离散化)

    题目链接:http://poj.org/problem?id=1733 题目大意:有一个很长很长含有01的字符串,长度可达1000000000,首先告诉你字符串的长度n,再给一个m,表示给你m条信息, ...

  5. POJ 1733 Parity game(种类并查集)

    http://poj.org/problem?id=1733 题意: 给出一个01串,有多次询问,每次回答[l,r]这个区间内1的个数的奇偶性,但是其中有一些回答是错误的,问到第几个回答时与前面的回答 ...

  6. (并查集 建立关系)Parity game -- POJ -1733

    链接: http://poj.org/problem?id=1733 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82830#probl ...

  7. POJ 1733 Parity game(带权并查集)

    题目链接:http://poj.org/problem?id=1733 题目大意:给你m条信息,每条信息告诉你区间l~r的1的个数是奇数还是偶数,如果后面出现信息跟前面矛盾则这条信息是错误的,问在第一 ...

  8. 【POJ 1733】 Parity Game

    [题目链接] http://poj.org/problem?id=1 [算法] 并查集 [代码] #include <algorithm> #include <bitset> ...

  9. POJ 1733 Parity game (并查集)

    Parity game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6816   Accepted: 2636 Descr ...

随机推荐

  1. js中的hasOwnProperty和isPrototypeOf方法

    hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象.不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员. isPrototypeO ...

  2. python有超时的windows系统时间设置代码

    手边的笔记本用久了,cmos电池可能又没电了.每次开机时间都不对,导致访问一些有https的网页会出现警告信息. 于是找了找通过python脚本设置系统时间的方法,发现了两种,其一是调用socket直 ...

  3. Linux基本命令(一)

    Linux基本命令 编辑器 vim编译器 Gnu工具链-gcc调试器 GDB操作系统是用C来写的 系统编程 (核心骨架 80%) 文件I/O 文件系统 进程{ 进程控制原语.进程间通信.进程间关系 信 ...

  4. 在c#中使用指针

    如果想在c#中使用指针,首先对项目进行配置:在解决方案资源管理器中右击项目名选择属性(或在项目菜单中选择consoleApplication属性(consoleApplication为项名)),在生成 ...

  5. iOS开发小技巧--相机相册的正确打开方式

    iOS相机相册的正确打开方式- UIImagePickerController 通过指定sourceType来实现打开相册还是相机 UIImagePickerControllerSourceTypeP ...

  6. 麦软社区Mindmanager现金抵用券使用流程

    1.用户登录麦软社区:输入用户名密码 2.点击右上角发表话题,在麦软社区发表文章.教程.模板等等 3.填写要发布的内容 4.发布成功,等待审核 5.审核通过 6.审核通过的用户将会收到站内信,包含mi ...

  7. android 动画

    public void onClicked(View v_) { //wa.startAnimation(); // TextView tv = (TextView)findViewById(R.id ...

  8. 光盘刻录 CD刻录软件 Ashampoo Burning Studio特别版 刻录CD就这么简单

    著名的刻录软件Nero,其近上百M体积实在太大,而且安装之后的文件体积也有上G多.这么大的体积安装使用都不方便,好在现在很多都做得很不错,比如阿香婆的光盘刻录软件Ashampoo® Burning S ...

  9. bzoj 2527: [Poi2011]Meteors 整体二分

    给每个国家建一个链表,这样分治过程中的复杂度就和序列长度线形相关了,无脑套整体二分就可以. (最坑的地方是如果所有位置都是一个国家,那么它的样本个数会爆longlong!!被这个坑了一次,大于p[i] ...

  10. HTML实现点击时的阴影(:active)(已解决iOS微信上无法使用)

    一般是用这个委类:active 参考:http://www.w3school.com.cn/cssref/selector_active.asp 但是业界上实现的效果中,今日头条的手机端网页却不是这样 ...