Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 3003 Accepted Submission(s): 1160

Problem Description

In 12th Zhejiang College Students Games 2007, there was a new stadium built in Zhejiang Normal University. It was a modern stadium which could hold thousands of people. The audience Seats made a circle. The total number of columns were 300 numbered 1–300, counted clockwise, we assume the number of rows were infinite.

These days, Busoniya want to hold a large-scale theatrical performance in this stadium. There will be N people go there numbered 1–N. Busoniya has Reserved several seats. To make it funny, he makes M requests for these seats: A B X, which means people numbered B must seat clockwise X distance from people numbered A. For example: A is in column 4th and X is 2, then B must in column 6th (6=4+2).

Now your task is to judge weather the request is correct or not. The rule of your judgement is easy: when a new request has conflicts against the foregoing ones then we define it as incorrect, otherwise it is correct. Please find out all the incorrect requests and count them as R.

Input

There are many test cases:

For every case:

The first line has two integer N(1<=N<=50,000), M(0<=M<=100,000),separated by a space.

Then M lines follow, each line has 3 integer A(1<=A<=N), B(1<=B<=N), X(0<=X<300) (A!=B), separated by a space.

Output

For every case:

Output R, represents the number of incorrect request.

Sample Input

10 10

1 2 150

3 4 200

1 5 270

2 6 200

6 5 80

4 7 150

8 9 100

4 8 50

1 7 100

9 2 100

Sample Output

2

Hint

Hint:

(PS: the 5th and 10th requests are incorrect)

Source

2009 Multi-University Training Contest 14 - Host by ZJNU

【题解】



像是

1 2 4

1 3 4

这样的话都是可行的。

只是说列差为4,但没有说要坐在哪一排(而排数是无限的)。

但是如果说 2 3 1则是错的了

因为2和3的相对列差是为0而不是1;

这样想了以后就可以想到用带权并查集来处理;

权值就是两个点的相对距离。儿子的节点的权值表示父亲在自己的顺时针权值远处。

因为是个环所以要取模;

用到了权值向量的方法。讲解可以看我之前的一篇文章。地址在这里;

用的都是类似的方法

http://blog.csdn.net/harlow_cheng/article/details/52737486

//爱上手写输入的我~~~
#include <cstdio> const int MAXN = 51000;
const int MOD = 300; int n, m,fade = 0;
int re[MAXN], f[MAXN]; void input(int &r)
{
char t;
do { t = getchar(); } while (t <'0' || t>'9');
r = 0;
while (t >= '0' && t <= '9') {r = r * 10 + t - '0'; t = getchar();}
} int ff(int x)
{
if (f[x] == x)
return x;
int olfa = f[x];
f[x] = ff(f[x]);
re[x] = (re[x] + re[olfa])%MOD;
return f[x];
} int main()
{
//freopen("F:\\rush.txt", "r", stdin);
while (~scanf("%d%d", &n, &m))
{
fade = 0;
for (int i = 1; i <= n; i++)
f[i] = i, re[i] = 0;
for (int i = 1;i <= m;i++)
{
int x, y, z;
input(x); input(y); input(z); //slower than "scanf" in this scale
//scanf("%d%d%d", &x, &y, &z);
z %= MOD;
int a = ff(x), b = ff(y);
if (a != b)
{
f[a] = b;
re[a] = (z + re[y] - re[x] + MOD) % MOD;
}
else
{
int temp = (re[x] - re[y] + MOD) % MOD;
if (temp != z)
fade++;
}
}
printf("%d\n", fade);
}
return 0;
}

【38.63%】【hdu 3047】Zjnu Stadium的更多相关文章

  1. 【改革春风吹满地 HDU - 2036 】【计算几何-----利用叉积计算多边形的面积】

    利用叉积计算多边形的面积 我们都知道计算三角形的面积时可以用两个邻边对应向量积(叉积)的绝对值的一半表示,那么同样,对于多边形,我们可以以多边形上的一个点为源点,作过该点并且过多边形其他点中的某一个的 ...

  2. 【HDU 2255】奔小康赚大钱 (最佳二分匹配KM算法)

    奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  3. 【二分】【最长上升子序列】HDU 5489 Removed Interval (2015 ACM/ICPC Asia Regional Hefei Online)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5489 题目大意: 一个N(N<=100000)个数的序列,要从中去掉相邻的L个数(去掉整个区间 ...

  4. 【贪心】【模拟】HDU 5491 The Next (2015 ACM/ICPC Asia Regional Hefei Online)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5491 题目大意: 一个数D(0<=D<231),求比D大的第一个满足:二进制下1个个数在 ...

  5. 【动态规划】【二分】【最长上升子序列】HDU 5773 The All-purpose Zero

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5773 题目大意: T组数据,n个数(n<=100000),求最长上升子序列长度(0可以替代任何 ...

  6. 【动态规划】【KMP】HDU 5763 Another Meaning

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5763 题目大意: T组数据,给两个字符串s1,s2(len<=100000),s2可以被解读成 ...

  7. 【归并排序】【逆序数】HDU 5775 Bubble Sort

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5775 题目大意: 冒泡排序的规则如下,一开始给定1~n的一个排列,求每个数字在排序过程中出现的最远端 ...

  8. 【中国剩余定理】【容斥原理】【快速乘法】【数论】HDU 5768 Lucky7

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5768 题目大意: T组数据,求L~R中满足:1.是7的倍数,2.对n个素数有 %pi!=ai  的数 ...

  9. 【规律】【贪心】【数学】HDU 5573 Binary Tree

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5573 题目大意: 从1走到第k层,下一层的数是上一层的数*2或者*2+1,可以选择加上或者减去走的数 ...

随机推荐

  1. C#文件读写(txt 简单方式)

    1.文件写入 // 路径,写入内容 System.IO.File.WriteAllText(@".\File.txt", string.Empty); 可更换相应的方法 2.文件读 ...

  2. Convert Sorted Array to Binary Search Tree转换成平衡二查搜索树

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 二分 ...

  3. WebSocket简述

    WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在 W ...

  4. jq动态添加代码监听问题

     $(document).on('click', '.class', function() { console.log($(this).attr('id')); }); 

  5. form表单提交,后台怎么获取select的值?后台直接获取即可,和input方式一样。

    form表单提交,后台怎么获取select的值? 后台直接获取即可,和后台获取input的值方式一样. form提交后,后台直接根据select的name获取即可,即getPara("XXX ...

  6. Java练习 SDUT-1580_闰年

    闰年 Time Limit: 1000 ms Memory Limit: 32768 KiB Problem Description 时间过得真快啊,又要过年了,同时,我们的人生也增长了一年的阅历,又 ...

  7. @codeforces - 455E@ Function

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 已知 a 序列,并给定以下关系: \[\begin{cases} ...

  8. Linux下安装MySQL-python

    因为安装过程不断出现错误,备份.系统:linux ubuntupython版本:Python 2.7.3mysql版本:mysql  Ver 14.14 Distrib 5.5.35, for deb ...

  9. "不用谢" 的11种表达

    说Thank you ,机械版的反应you are welcome.虽然没错,但实在太老掉牙,在国外使用率不高: 随性,不足挂齿的小事 Not a problem 别放在心上 Any time 有事随 ...

  10. @loj - 2483@「CEOI2017」Building Bridges

    目录 @desription@ @solution@ @accepted code@ @details@ @another solution@ @another code@ @desription@ ...