Vijos 小胖的奇偶
第一遍做
#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 小胖的奇偶的更多相关文章
- [vijos P1112] 小胖的奇偶
第一次看到这题怎么也不会想到是并查集题目…星期五第一次看到这题,到今天做出来,实在是废了好多功夫.看了很多人的解题都有same和diff数组,我也写了,后来发现不对啊两个数组的话find函数怎么写呢? ...
- 【带权并查集】【离散化】vijos P1112 小胖的奇偶
每个区间拆成r和l-1两个端点,若之内有偶数个1,则这两个端点对应的前缀的奇偶性必须相同,否则必须相反. 于是可以用带权并查集维护,每个结点储存其与其父节点的奇偶性是否相同,并且在路径压缩以及Unio ...
- 小胖的奇偶(Viojs1112)题解
原题: 题目描述 huyichen和xuzhenyi在玩一个游戏:他写一个由0和1组成的序列. huyichen选其中的一段(比如第3位到第5位),问他这段里面有奇数个1 还是偶数个1.xuzheny ...
- VijosP1112:小胖的奇偶
描述 huyichen和xuzhenyi在玩一个游戏:他写一个由0和1组成的序列. huyichen选其中的一段(比如第3位到第5位),问他这段里面有奇数个1还是偶数个1.xuzhenyi回答你的问题 ...
- vijos 小胖守皇宫
点击打开题目 树形DP 显然会想到某个点放或不放守卫来定义状态,但在不放的情况下,需要分类讨论是父亲放还是一个儿子放,于是定义以下状态: f[root][0]表示自己不放,父亲也不放 f[root][ ...
- BZOJ 3714: [PA2014]Kuglarz
Description 魔术师的桌子上有n个杯子排成一行,编号为1,2,-,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品.花费c_ij元,魔术师就会告诉你杯子i,i+ ...
- 【并查集模板】 【洛谷P2978】 【USACO10JAN】下午茶时间
P2978 [USACO10JAN]下午茶时间Tea Time 题目描述 N (1 <= N <= 1000) cows, conveniently numbered 1..N all a ...
- Vijos 1144 小胖守皇宫 【树形DP】
小胖守皇宫 描述 huyichen世子事件后,xuzhenyi成了皇上特聘的御前一品侍卫. 皇宫以午门为起点,直到后宫嫔妃们的寝宫,呈一棵树的形状:某些宫殿间可以互相望见.大内保卫森严,三步一岗,五步 ...
- 【动态规划】【最长公共子序列】Vijos P1111 小胖的水果
题目链接: https://vijos.org/p/1111 题目大意: 多组数据,给两个字符串s1,s2,求把s1,s2拆开从前往后合并后最短是多少 apple + peach = appleach ...
随机推荐
- Mybatis 实用篇(四)返回值类型
Mybatis 实用篇(四)返回值类型 一.返回 List.Map List<User> getUsers(); <select id="getUsers" re ...
- 常见的C语言内存错误及对策(转)
http://see.xidian.edu.cn/cpp/html/483.html 一.指针没有指向一块合法的内存 定义了指针变量,但是没有为指针分配内存,即指针没有指向一块合法的内存.浅显的例子就 ...
- 12 Overlap Graphs
Problem A graph whose nodes have all been labeled can be represented by an adjacency list, in which ...
- 懒人的ERP开发框架--2B&苦B程序员专用
在企业内部的ERP系统开发中,如果使用MS的技术,那么Winform + DevExpress + IIS + WCF +EF 就是懒人的黄金组合了,EF使用数据库优先,一般ERP应用主要关注点在数据 ...
- AngularJs2.0
AngularJs2.0中文官网站发布了. 官网地址:https://angular.cn/ 官网点击任何中文地方都可以显示英文原文,中文文档暂时只有 TypeScript的,JavaScript和d ...
- Docker 基本原理
1 什么是Docker? Docker是基于Go语言实现的云开源项目.Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装.分 ...
- sed修改json内容
1.config.json { "whiteHoleUrl": "http://172.16.80.90/whui/serviceManagement/regist/ne ...
- Spring学习(六)——集成memcached客户端
memcached是高性能的分布式内存缓存服务器.许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示. 但随着数据量的增大.访问的集中,就会出现RDBMS的负担加重.数据 ...
- WebApi 插件式构建方案:重写的控制器获取工厂
body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...
- 谁说他们版本不兼容——hadoop1.2.1+hbase0.94.11+nutch2.2.1+el
一.背景 最近由于项目和论文的需要,需要搭建一个垂直搜索的环境,查阅了很多资料,决定使用Apache的一套解决方案hadoop+hbase+nutch+es.这几样神器的作用就不多作介绍了,自行参考各 ...