并查集
Demoo.
来记录不会的题啦
展开
-
C. Where is the Pizza? Codeforces Round #788 (Div. 2)
题意:给你排列a和b,再给你一个c数组,里面不确定的数是0,确定的数要么是a[i]要么是b[i],求有多少种排列c。思路:c[i]如果是1的话说明已经确定不用管了,如果是0,要么选a[i]要么选b[i],当a[i]==b[i]的时候,我们只能填a[i]一个数,只有一种情况,当a[i]!=b[i]的时候,如果选a[i]的时候就不能再选b数组中等于a[i]的数了,这两个数是有关联的,我们把有关联的数放到一个集合中,如果集合里的数个数为1的话,就是a[i]==b[i]的情况,我们就只有一种情况,如果集合里的数被确原创 2022-06-24 11:17:54 · 145 阅读 · 0 评论 -
红色警报(并查集)
战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。 输入格式: 输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其间以1个空格分隔。在城市信息之后给出被攻占的信息,原创 2022-04-22 19:53:06 · 56 阅读 · 0 评论 -
排座位pta
布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。 输入格式: 输入第一行给出3个正整数:N(≤100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:宾客1 宾客2 关系,其中关系为1表示是朋友,-1表示是死对头。注意两个人不可能既是朋友又是敌人。最后K行,每行给出一对需要查询原创 2022-04-16 10:29:13 · 632 阅读 · 1 评论 -
文件传输(并查集)
当两台计算机双向连通的时候,文件是可以在两台机器间传输的。给定一套计算机网络,请你判断任意两台指定的计算机之间能否传输文件? 输入格式: 首先在第一行给出网络中计算机的总数N(2≤N≤104),于是我们假设这些计算机从 1 到N编号。随后每行输入按以下格式给出: I c1 c2 其中I表示在计算机c1和c2之间加入连线,使它们连通;或者是 C c1 c2 其中C表示查询计算机c1和c2之间能否传输文件;又或者是 S 这里S表示输入终止。 输出格式: 对每个...原创 2022-04-08 13:10:43 · 115 阅读 · 0 评论