How Many Answers Are Wrong----hdu3038(并查集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3038
- 题意:数组第 a 个元素到第 b 个元素之间的和为sum;
- 求有几句话是假的,如果与前面的话有冲突就为假;
- r[i]代表i的父节点到i的和;
- #include<stdio.h>
- #include<string.h>
- #include<iostream>
- #include<algorithm>
- #include<math.h>
- #define N 201000
- #define INF 0xfffffff
- using namespace std;
- int f[N],vis[N],r[N];
- int Find(int x)
- {
- int k = f[x];
- if(x != f[x])
- {
- f[x] = Find(f[x]);
- r[x] += r[k];
- }
- return f[x];
- }
- int main()
- {
- int px, py, ans, i, n, m, x, y, sum;
- while(scanf("%d%d", &n, &m)!=EOF)
- {
- for(i=;i<=n;i++)
- f[i]=i,r[i]=;
- ans = ;
- while(m--)
- {
- scanf("%d%d%d", &x, &y, &sum);
- x --;
- px = Find(x);
- py = Find(y);
- if(px != py)
- {
- f[px] = py;
- r[px] = r[y] -r[x] - sum;
- }
- else if(r[y]-r[x] != sum)
- ans++;
- }
- printf("%d\n",ans);
- }
- return ;
- }
上面的关系都是有方向的。。。
代码中的123处均与*处有关,大家可以画个图有助于理解;
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <algorithm>
- #include <cmath>
- #include <stack>
- #include <map>
- #include <vector>
- using namespace std;
- typedef long long LL;
- #define N 202100
- #define met(a, b) memset(a, b, sizeof(a))
- #define INF 0x3f3f3f3f
- int f[N], r[N];
- int Find(int x)
- {
- int k = f[x];
- if(x != f[x])
- {
- f[x] = Find(f[x]);
- r[x] += r[k];///1;
- }
- return f[x];
- }
- int main()
- {
- int n, m, x, y, sum;
- while(scanf("%d %d", &n, &m)!=EOF)
- {
- for(int i=; i<=n; i++)
- f[i] = i, r[i] = ;
- int ans = ;
- while(m--)
- {
- scanf("%d %d %d", &x, &y, &sum);
- x -- ;
- int px = Find(x);
- int py = Find(y);
- if(px != py)
- {
- f[px] = py;///*
- r[px] = r[y] - sum - r[x];///2;
- }
- else if(px == py && r[x]+sum != r[y])///
- ans++;
- }
- printf("%d\n", ans);
- }
- return ;
- }
How Many Answers Are Wrong----hdu3038(并查集)的更多相关文章
- hdu3038 How many answers are wrong【并查集】
TT and FF are ... friends. Uh... very very good friends -________-b FF is a bad boy, he is always w ...
- *HDU3038 并查集
How Many Answers Are Wrong Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- How Many Answers Are Wrong(并查集)
Description TT and FF are ... friends. Uh... very very good friends -________-b FF is a bad boy, he ...
- HDU 3038 How Many Answers Are Wrong(种类并查集)
题目链接 食物链类似的题,主要是在于转化,a-b的和为s,转换为b比a-1大s.然后并查集存 此节点到根的差. 假如x的根为a,y的根为b: b - y = rank[y] a - x = rank[ ...
- hdu 3038 How Many Answers Are Wrong(并查集)
题意: N和M.有N个数. M个回答:ai, bi, si.代表:sum(ai...bi)=si.如果这个回答和之前的冲突,则这个回答是假的. 问:M个回答中有几个是错误的. 思路: 如果知道sum( ...
- hdu3038 How Many Answers Are Wrong 种类并查集
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int ...
- [HDU3038]How Many Answers Are Wrong(并查集)
传送门 和某题类似,只不过奇偶换成了和. ——代码 #include <cstdio> #include <iostream> #define N 1000001 int n, ...
- hdu 3038 How Many Answers Are Wrong(并查集的思想利用)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3038 题意:就是给出n个数和依次m个问题,每个问题都是一个区间的和,然后问你这些问题中有几个有问题,有 ...
- 【转】并查集&MST题集
转自:http://blog.csdn.net/shahdza/article/details/7779230 [HDU]1213 How Many Tables 基础并查集★1272 小希的迷宫 基 ...
随机推荐
- Nginx(七)-- 反向代理
1.概念 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果返回给Internet上请求连接的 ...
- Apache HTTP Server 与 Tomcat 的三种连接方式介绍
本文转载自IBM developer 首先我们先介绍一下为什么要让 Apache 与 Tomcat 之间进行连接.事实上 Tomcat 本身已经提供了 HTTP 服务,该服务默认的端口是 8080,装 ...
- Subversion权限详解
1 背景假设厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计.销售,并在北京.上海各设立了一个办事处.对于工作日志,原先采用邮件方式发给经理,但是这种方式有 ...
- System.Web.Mvc.AJAX缺少程序集引用
今天在构建新项目的时候,出现这个错误,实际上这个出现过很多次了,但是每次都忘记之前怎么解决的,之前博客也不记得写过没有...
- .net写入文本到本地
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"d:\test\ErrorLog.txt", t ...
- 【Linux基础学习】Ubuntu 常用命令大全
一.文件目录类 1.建立目录:mkdir 目录名 2.删除空目录:rmdir 目录名 3.无条件删除子目录: rm -rf 目录名 4.改变当前目录:cd 目录名 (进入用户home目录:cd ~:进 ...
- WP8.1学习系列(第一章)——添加应用栏
做过android开发的同学们应该都知道有个ActionBar的头部操作栏,而wp也有类似的一个固定在app页面里通常拥有的内部属性,就是应用栏.以前叫做ApplicationBar,现在wp和win ...
- Python tkinter 控件更新信息
下面几个例子关于tkinter界面更新的,简单易懂,分享一下. 例子_1: 代码_1: from tkinter import Tk, Checkbutton, Label from tkinter ...
- css笔记——文本样式
聊聊text-decoration.text-indent.text-transform.letter-spacing.word-spacing.vertical-align.下面是一些常用设置文本样 ...
- nginx(一)----ubuntu14.04下安装nginx
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 *转载请注明出处 */ 此文章中用到的软件下载地址: 链接: http://pan.baidu.com/s/ ...