疯狂的馒头 Time Limit: 10 Sec Memory Limit: 162 MB Description Input 第一行四个正整数N,M,p,q Output 一共输出N行,第i行表示第i个馒头的最终颜色(如果最终颜色是白色就输出0)。 Sample Input 4 3 2 4 Sam ...
分类:
其他好文 时间:
2018-03-30 00:11:56
阅读次数:
197
2054: 疯狂的馒头 Description Input 第一行四个正整数N,M,p,q 第一行四个正整数N,M,p,q Output 一共输出N行,第i行表示第i个馒头的最终颜色(如果最终颜色是白色就输出0)。 一共输出N行,第i行表示第i个馒头的最终颜色(如果最终颜色是白色就输出0)。 Sam ...
分类:
其他好文 时间:
2018-02-02 18:25:25
阅读次数:
151
每个区间只被覆盖一次,求每个点被哪种区间覆盖或者某个区间是否已经被覆盖过都可以用并查集做。 做法:每个点都指向当前被覆盖区间的右端点+1的位置,某个点的下一个没被覆盖的点是gf(i),同理如果某个区间[l,r]的gf(l)>=r+1,则这个区间已经被完全覆盖。 显然每个点只会被最后一次染色确定颜色, ...
分类:
其他好文 时间:
2017-10-13 23:49:54
阅读次数:
195
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2054水题QAQ, 并查集就可以了。 1 #include 2 #include 3 #include 4 #define LL long long 5 #define MaxN 10000...
分类:
其他好文 时间:
2016-01-22 22:02:23
阅读次数:
214
还是离线把操作倒过来做,于是每个馒头只要看最后一种颜色就好了如果一个馒头已经有颜色了,就把它并到右边的馒头的集合里去 1 /************************************************************** 2 Problem: 2054 3 ...
分类:
其他好文 时间:
2015-03-09 23:51:03
阅读次数:
156
题目大意:给定一个序列,多次将某个区间染成某种颜色,求最后每个点是什么颜色
m
由于对每个点起作用的染色只有最后一次,因此倒着做,如果一个点已经被染色,就在并查集中将这个点连向右面那个
这样每个点只会被染色一次,时间复杂度O(n+m)
#include
#include
#include
#include
#define M 1001001
using namespace std;...
分类:
其他好文 时间:
2015-03-07 18:42:44
阅读次数:
122