首页 > 其他分享 >[JZOJ3864]【JSOI2014】歌剧表演

[JZOJ3864]【JSOI2014】歌剧表演

时间:2022-12-29 14:35:04浏览次数:47  
标签:JZOJ3864 歌剧 ft sz ls yh JSOI2014 include fo


Description

[JZOJ3864]【JSOI2014】歌剧表演_#include


[JZOJ3864]【JSOI2014】歌剧表演_#include_02

Solution

这题非常有意思。
本来我想各种二进制搞一波,但我看到数据后我放弃了。。。

其实这题十分的水。

我们把目前分辨不出的放在同一集合。

那么对于演出操作,就是将演出的演员从原本的集合中分裂出来,如果某两个演员原本在同一集合,他们同时演出,那么显然还是分不出来,所以原来在同一集合的要连在新的同一集合。

对于每个集合,维护元素个数和元素最早变为1的时间即可。

Code

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i--)
#define N 100005
#define LL long long
using namespace std;
int n,m,ans[N],ft[N],sz[N],n1,pt[N],bz[N],ls[N],a[N],yh[N];
int main()
{
cin>>n>>m;
n1=1;
fo(i,1,n) ft[i]=1;
sz[1]=n;
memset(ls,107,sizeof(ls));
fo(i,1,m)
{
int q,x;
scanf("%d",&q);
fo(j,1,q)
{
scanf("%d",&x);
a[j]=x;
if(bz[ft[x]]!=i)
{
if(sz[ft[x]]!=1) bz[ft[x]]=i,pt[ft[x]]=++n1;
else pt[ft[x]]=ft[x];
}
sz[ft[x]]--,sz[pt[ft[x]]]++;
yh[x]=ft[x];
ft[x]=pt[ft[x]];
}
fo(j,1,q)
{
if(sz[ft[a[j]]]==1) ls[ft[a[j]]]=min(ls[ft[a[j]]],i);
if(sz[yh[a[j]]]==1) ls[yh[a[j]]]=min(ls[yh[a[j]]],i);
}
}
fo(i,1,n)
{
if(sz[ft[i]]==1) printf("%d ",ls[ft[i]]);
else printf("0 ");
}
}


标签:JZOJ3864,歌剧,ft,sz,ls,yh,JSOI2014,include,fo
From: https://blog.51cto.com/u_15925597/5977141

相关文章

  • [AHOI2014/JSOI2014]骑士游戏
    链接:https://www.luogu.com.cn/problem/P4042题目描述:对于一个怪物\(i\),可以花费\(c_{i}\)的代价将其变为一个怪物集合,或花费\(c2_{i}\)的代价消灭他。求消灭怪物\(1\)的......
  • [AHOI2014/JSOI2014]支线剧情
    链接:https://www.luogu.com.cn/problem/P4044题目描述:给定一个\(DAG\),求若干条条路径,覆盖所有的点,并最小化路径的权值和。题解:由于图是一个\(DAG\),所以原问题可以转化......
  • [AHOI2014/JSOI2014]奇怪的计算器
    链接:https://www.luogu.com.cn/problem/P4041题目描述:给定一个数列\(a\),与常数\(L\),\(R\),实现下列四个操作:1.将所有数加\(d\)。2.将所有数减\(d\)。3.将所有数乘\(d......
  • [JSOI2014]支线剧情2
    链接:https://vjudge.net/problem/HYSBZ-5031题目描述:给定一个树形图,规定一号点为根节点。到达一个点时可以进行下列操作:\(1\).沿着一条有向边走到下一个节点。\(2\).回......
  • [AHOI2014/JSOI2014]拼图
    链接:https://www.luogu.com.cn/problem/P4039题目描述:有一些长为\(n\),宽为\(w_{i}\)的黑白色矩形,要将它们拼成一个\(n\timesm\)的大矩形,求大矩形中最大的全白子矩形的面......
  • [AHOI2014/JSOI2014]支线剧情
    链接:https://www.luogu.com.cn/problem/P4044题目描述:给定一个$DAG$,求若干条条路径,覆盖所有的点,并最小化路径的权值和。题解:由于图是一个$DAG$,所以原问题可以转化为,......
  • [AHOI2014/JSOI2014]奇怪的计算器
    链接:https://www.luogu.com.cn/problem/P4041题目描述:给定一个数列$a$,与常数$L$,$R$,实现下列四个操作:1.将所有数加$d$。2.将所有数减$d$。3.将所有数乘$d$。4.......
  • [AHOI2014/JSOI2014]拼图
    链接:https://www.luogu.com.cn/problem/P4039题目描述:有一些长为$n$,宽为$w_{i}$的黑白色矩形,要将它们拼成一个$n\timesm$的大矩形,求大矩形中最大的全白子矩形的面积的......
  • [JSOI2014]支线剧情2
    链接:https://vjudge.net/problem/HYSBZ-5031题目描述:给定一个树形图,规定一号点为根节点。到达一个点时可以进行下列操作:$1$.沿着一条有向边走到下一个节点。$2$.回到......
  • [AHOI2014/JSOI2014]骑士游戏
    链接:https://www.luogu.com.cn/problem/P4042题目描述:对于一个怪物$i$,可以花费$c_{i}$的代价将其变为一个怪物集合,或花费$c2_{i}$的代价消灭他。求消灭怪物$1$的最小代......