首页 > 其他分享 >[ARC188C] Honest or Liar or Confused

[ARC188C] Honest or Liar or Confused

时间:2024-11-24 10:11:25浏览次数:5  
标签:这个 Liar int 查集 Confused 与否 Honest 带权 糊涂

扩展域并查集+带权并查集

题意中给的是骗子与否和糊涂与否,似乎有多个二元关系。观察结果:如果一个人不糊涂,那么 \(C = 0\) 代表他们同是诚实的或者都是骗子;\(C = 1\) 代表他们的诚实与否不同。

这时我们就可以不在意这个人是否诚实了,我们就去关系人与人之间的相对关系。若这个人是糊涂的,事实上的 \(C\) 就会相反。那么“处理关系”,“关系相反”,想到使用带权并查集,权值为 01 异或。那么如何处理糊涂与否呢?我们可以利用对带权并查集的结果去判断。具体的,每个点 \(U\) 都设置一个扩展点 \(V\),表示这个人所表述的。每次处理 \(a,b,c\),就将 \(V_a\) 和 \(U_b\) 合并,边权为 \(c\)。后面遍历下来对 \(U,V\) 处理,根据并查集中的权值即可判定 \(U_i,V_i\) 之间的边权,若为 \(1\),则这个人是糊涂的。

增加 \(V\) 点作为扩展域并查集作用的一个体现,即将这个人所说的东西与这个人独立出来,判断是否自洽。再在后面对这个人本身和这个人所说的相关联,判断是否愚蠢,达成目的。

#include<bits/stdc++.h>
using namespace std;
const int N = 4e5 + 10;
int n,m;
struct DSU{
	int fa[N],val[N];
	inline void init(int _n){
		for(int i = 1;i<=_n;++i)fa[i] = i, val[i] = 0;
	}
	int find(int x){
		if(x == fa[x])return x;
		int pa = find(fa[x]);
		val[x] ^= val[fa[x]];
		return fa[x] = pa;
	}
	inline bool merge(int x,int y,int d){
		int fx = find(x), fy = find(y);
		if(fx == fy)return val[x] ^ d == val[y];
		fa[fx] = fy;
		val[fx] = val[x] ^ val[y] ^ d;
		return true;
	}
	int & operator [](const int i){ return val[i]; }
}dsu;

int main(){
	scanf("%d%d",&n,&m);
	dsu.init(n << 1);
	int a,b,c;
	while(m--){
		scanf("%d%d%d",&a,&b,&c);
		if(!dsu.merge(a+n,b,c))return puts("-1"),0;
	}
	for(int i = 1;i<=n;++i){
		if(dsu.find(i) == dsu.find(i+n)){
			(dsu[i] ^ dsu[i+n]) ? putchar('1') : putchar('0');
		}else{
			dsu.merge(i,i+n,0);
			putchar('0');
		}
	}
	return 0;
}

标签:这个,Liar,int,查集,Confused,与否,Honest,带权,糊涂
From: https://www.cnblogs.com/fight-for-humanity/p/18565481

相关文章

  • 【0333】Postgres内核之 auxiliary process(辅助进程)创建 PGPROC
    1.auxiliaryprocess当我们是辅助进程(auxiliaryprocess)时,不会进行完整的InitPostgres初始化操作,但即使在辅助进程中,也有几件事需要被启动。这里第一件就是“创建一个PGPROC,以便我们能够使用LWLocks。在EXEC_BACKEND情形下,这一操作已由SubPostmasterMain()完......
  • 有限元求解Cahn Hilliard 相场方程
    CahnHilliard方程,相场因为最近在学习用有限元求解CahnHilliard方程内容,所以我把我的汇报内容放在这里,希望可以和大家一起学习,交流。因为我实在是懒得翻译,就放的英文版,但是英语都不多,我的英语水平也有限。如果有什么问题的话,也希望大家可以提供给我建议。目标方程......
  • 题解:P8267 [USACO22OPEN] Counting Liars B & U208878 晴天
    其实,这个题,只需要最简单的枚举,加上最简单的二分查找即可~\(1\leN\le1000\)?枚举吧~咋枚举?显然,最好状态下Bessie的位置一定是某个\(p_i\),否则差一个就会导致有个奶牛要说谎。所以我们枚举(理论来讲要先去个重,这样快一点,不过貌似数据没有重的~)\(p_i\),每次遍历这帮奶牛看看有......
  • Go 100 mistakes - #9: Being confused about when to use generics
    Go1.18addsgenericstothelanguage.Inanutshell,thisallowswritingcodewithtypes thatcanbespecifiedlaterandinstantiatedwhenneeded. Onelastthingtonoteabouttypeparametersisthattheycan’tbeusedwith methodarguments,onlywith......
  • honesty
    honestySubtitle:诚实Created:2023-11-15T14:41+08:00Published:2023-12-31T21:08+08:00Categories:FragmentTags:Diary目录以前的作业灵光后窗(RearWindow)失忆的金鱼秋离(FarewellintheFall)Farewellin2023以前的作业应该是翻译,真是翻译得一团稀碎。前三句对应......
  • POLIR-Management-TYPES of decisions{Structured(routine+familiar)Problems: Progra
    Inaverysimplesense,theproblemsmanagersencountercanbeclassifiedas:routineandfamiliar;newandunusual.Inresponse,managerswilluseoneoftwodifferenttypesofdecisions:StructuredProblemsandProgrammedDecisions;UnstructuredP......
  • Learning Auxiliary Monocular Contexts Helps Monocular 3D Object Detection (5)
    QualitativeResults如下图所示:  ......
  • Learning Auxiliary Monocular Contexts Helps Monocular 3D Object Detection (2)
    Featurebackbone采用DLA,输入维度为3×H×W的RGB图,得到维度D×h×w的特征图F,然后将特征图送入几个轻量级regressionheads,2Dboudingboxes的中心特征图用下面的模块得到:其中AN是AttentiveNormalization.用公式表示:类似的,2D和3Dboudingboxes的中心之间的offset用公......
  • Practical Covertly Secure MPC for Dishonest Majority – or: Breaking the SPDZ Li
    Abstract.SPDZ(pronounced“Speedz”)isthenicknameoftheMPCprotocolofDamgardetal.fromCrypto2012.˚SPDZprovidedvariousefficiencyinnovationsonboththetheoreticalandpracticalsidescomparedtopreviousworkinthepreprocessingmodel.In......
  • Replace bpmn-js and Let Frontend Developers Become More Familiar with Workflow B
    (背景:发在国外社区的文章,国内博客做份存档)PrefaceSeeingthistitle,someofyoumaywonder:Isn'tbpmn-jsthemostcommonfrontendsolutionforworkflowsystems?Whydoweneedtoreplacebpmn-js?Here,fromafrontendperspective,let'sfirstclarifytherel......