第一遍做

 #include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m;
char ss[];
int rela[];
int fa[];
int find(int x)
{
if(x==fa[x])return x;
int ff=fa[x];
fa[x]=find(ff);
rela[x]=(rela[x]+rela[ff])%;
return fa[x];
}
int main()
{
freopen("xp.in","r",stdin);
freopen("xp.out","w",stdout);
int i;
int left,right;
cin>>n>>m;
int ans=m;
for(i=;i<=n;i++)fa[i]=i;
for(i=;i<=m;i++)
{
cin>>left>>right;
scanf("%s",ss);
left--;
if(ss[]=='e')
{
int ffl=find(left);
int ffr=find(right);
if(ffl<ffr)
{
fa[ffr]=ffl;
rela[ffr]=(rela[left]-rela[right]+)%;
}
else if(ffl>ffr)
{
fa[ffl]=ffr;
rela[ffl]=(rela[right]-rela[left]+)%;
}
else
{
if(rela[right]!=rela[left])
{
ans=i-;
break;
}
}
}
if(ss[]=='o')
{
int ffl=find(left);
int ffr=find(right);
if(ffl<ffr)
{
fa[ffr]=ffl;
rela[ffr]=(rela[left]-rela[right]+)%;
}
else if(ffl>ffr)
{
fa[ffl]=ffr;
rela[ffl]=(rela[right]-rela[left]+)%;
}
else
{
if(rela[right]==rela[left])
{
ans=i-;
break;
}
}
}
}
cout<<ans;
return ;
}

RE 80 注意长度范围QwQ

第二遍 map一下

 #include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<map>
using namespace std;
int n,m;
char ss[];
int rela[];
int fa[];
map<int,int>mp;
int find(int x)
{
if(x==fa[x])return x;
int ff=fa[x];
fa[x]=find(ff);
rela[x]=(rela[x]+rela[ff])%;
return fa[x];
}
int main()
{
freopen("xp.in","r",stdin);
freopen("xp.out","w",stdout);
int i;
int left,right;
cin>>n>>m;
int ans=m;
int cnt=;
for(i=;i<=;i++)
fa[i]=i;
for(i=;i<=m;i++)
{
cin>>left>>right;
scanf("%s",ss);
left--;
if(mp[left]==){cnt++;mp[left]=cnt;}
if(mp[right]==){cnt++;mp[right]=cnt;}
if(ss[]=='e')
{
int ffl=find(mp[left]);
int ffr=find(mp[right]);
if(ffl<ffr)
{
fa[ffr]=ffl;
rela[ffr]=(rela[mp[left]]-rela[mp[right]]+)%;
}
else if(ffl>ffr)
{
fa[ffl]=ffr;
rela[ffl]=(rela[mp[right]]-rela[mp[left]]+)%;
}
else
{
if(rela[mp[right]]!=rela[mp[left]])
{
ans=i-;
break;
}
}
}
if(ss[]=='o')
{
int ffl=find(mp[left]);
int ffr=find(mp[right]);
if(ffl<ffr)
{
fa[ffr]=ffl;
rela[ffr]=(rela[mp[left]]-rela[mp[right]]+)%;
}
else if(ffl>ffr)
{
fa[ffl]=ffr;
rela[ffl]=(rela[mp[right]]-rela[mp[left]]+)%;
}
else
{
if(rela[mp[right]]==rela[mp[left]])
{
ans=i-;
break;
}
}
}
}
cout<<ans;
return ;
}

AC啦啦啦

2019.3.23

Vijos 小胖的奇偶的更多相关文章

  1. [vijos P1112] 小胖的奇偶

    第一次看到这题怎么也不会想到是并查集题目…星期五第一次看到这题,到今天做出来,实在是废了好多功夫.看了很多人的解题都有same和diff数组,我也写了,后来发现不对啊两个数组的话find函数怎么写呢? ...

  2. 【带权并查集】【离散化】vijos P1112 小胖的奇偶

    每个区间拆成r和l-1两个端点,若之内有偶数个1,则这两个端点对应的前缀的奇偶性必须相同,否则必须相反. 于是可以用带权并查集维护,每个结点储存其与其父节点的奇偶性是否相同,并且在路径压缩以及Unio ...

  3. 小胖的奇偶(Viojs1112)题解

    原题: 题目描述 huyichen和xuzhenyi在玩一个游戏:他写一个由0和1组成的序列. huyichen选其中的一段(比如第3位到第5位),问他这段里面有奇数个1 还是偶数个1.xuzheny ...

  4. VijosP1112:小胖的奇偶

    描述 huyichen和xuzhenyi在玩一个游戏:他写一个由0和1组成的序列. huyichen选其中的一段(比如第3位到第5位),问他这段里面有奇数个1还是偶数个1.xuzhenyi回答你的问题 ...

  5. vijos 小胖守皇宫

    点击打开题目 树形DP 显然会想到某个点放或不放守卫来定义状态,但在不放的情况下,需要分类讨论是父亲放还是一个儿子放,于是定义以下状态: f[root][0]表示自己不放,父亲也不放 f[root][ ...

  6. BZOJ 3714: [PA2014]Kuglarz

    Description 魔术师的桌子上有n个杯子排成一行,编号为1,2,-,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品.花费c_ij元,魔术师就会告诉你杯子i,i+ ...

  7. 【并查集模板】 【洛谷P2978】 【USACO10JAN】下午茶时间

    P2978 [USACO10JAN]下午茶时间Tea Time 题目描述 N (1 <= N <= 1000) cows, conveniently numbered 1..N all a ...

  8. Vijos 1144 小胖守皇宫 【树形DP】

    小胖守皇宫 描述 huyichen世子事件后,xuzhenyi成了皇上特聘的御前一品侍卫. 皇宫以午门为起点,直到后宫嫔妃们的寝宫,呈一棵树的形状:某些宫殿间可以互相望见.大内保卫森严,三步一岗,五步 ...

  9. 【动态规划】【最长公共子序列】Vijos P1111 小胖的水果

    题目链接: https://vijos.org/p/1111 题目大意: 多组数据,给两个字符串s1,s2,求把s1,s2拆开从前往后合并后最短是多少 apple + peach = appleach ...

随机推荐

  1. Python解决数独

    Environment: Python27 # -*- coding: UTF-8 -*- ''' Created on 2017年6月9日 @author: LXu4 ''' import copy ...

  2. 利率计算v5.0--结对--软件工程

    利率计算v5.--测试--软件工程 1.任务结对同伴: 名字:王昕明 学号: 博客地址 :http://home.cnblogs.com/u/xinmingwang/ Git : https://gi ...

  3. python动态捕获异常-乾颐堂

    在讨论动态捕获异常时让我大吃一惊的是,可以让我找到隐藏的Bug和乐趣... 有问题的代码 下面的代码来自一个产品中看起来是好的抽象代码 - slightly(!) .这是调用一些统计数据的函数,然后进 ...

  4. 74款安卓和IOS app源码地址

    知乎专栏App https://github.com/bxbxbai/ZhuanLan WeChat高仿微信 项目地址: https://github.com/motianhuo/wechat Gan ...

  5. java集成支付宝移动快捷支付时报错java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : algid parse error, not a sequence

    出错原因是代码中的私钥设置错误,不是填原始的私钥,而是转换为PKCS8格式的私钥(Java格式的) ,改成后就会报创建交易异常了

  6. mysql 字段名是关键字 报错

    DROP TABLE IF EXISTS `bas_dictionary`; CREATE TABLE `bas_dictionary` ( `id` ) NOT NULL AUTO_INCREMEN ...

  7. B-spline Curves 学习之B样条曲线的系数计算与B样条曲线特例(6)

    B-spline Curves: Computing the Coefficients 本博客转自前人的博客的翻译版本,前几章节是原来博主的翻译内容,但是后续章节博主不在提供翻译,后续章节我在完成相关 ...

  8. Github的注册经历

    姓名 韦军 学号 1413042023 班级 网络141 兴趣爱好 读书 上网 在注册Github时,先去网上下载了一个Github的app,打开一看全是英文,还是看懂了一些,点击开始注册,在注册时还 ...

  9. UDP通讯

    上一篇有说到TCP通讯,这篇来谈谈UDP通讯方式 基于Udp协议是无连接模式通讯,占用资源少,响应速度快,延时低.至于可靠性,可通过应用层的控制来满足.(不可靠连接) (1).建立一个套接字(Sock ...

  10. 【Asp.net MVC】AJAXHelper 和jQueryAjax

    在ASP.NET MVC中,有一个官方提供的AJAXHelper帮助我们做AJAX相关的东西.我用传统的jQuery AJAX技术和AJAXHelper分别实现同一个demo,特此记录一下. 由于是在 ...