解题报告:luogup1892(代码片段)

tlx-blog tlx-blog     2023-04-01     607

关键词:

题目链接:P1892 [BOI2003]团伙
最近懒死了。
P1525 关押罪犯和相似,也要有一个记录敌人信息的数组。
这里对这个数组有个好些的理解:记录敌人集合中的任意一个,由于并查集的性质,其他的也随之确定。
注意的是,在两个团伙合并时,先前两个团伙已确定的敌人不会因此成为朋友。

(Code):

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;

#define read(x) scanf("%d",&x)

int n,m;
int f[1005],b[1005];
int l,r,ans=0;
char flag; 

void init(int n)for(int i=1;i<=n;i++) f[i]=i,b[i]=0;
int getf(int u)return (f[u]==u)?u:f[u]=getf(f[u]);
void merge(int u,int v)int t1=getf(u),t2=getf(v);if(t1^t2) f[t2]=t1;

int main()

	read(n),read(m);
	init(n);
	for(int i=1;i<=m;i++)
	
		cin>>flag;
		read(l),read(r);
		if(flag==‘F‘)
		
			merge(r,l);
			/*if(b[l]&&b[r]) merge(b[l],b[r]);
			if(b[l]) b[r]=b[l];
			else if(b[r]) b[l]=b[r];*/
                        //如果联合时两团伙的敌人也成为朋友,就把上面注释的东西加上
		
		else 
		
			if(b[l]!=0) merge(b[l],r);
			else b[l]=r;
			if(b[r]!=0) merge(b[r],l);
			else b[r]=l;
		
	
	for(int i=1;i<=n;i++) getf(i);
	for(int i=1;i<=n;i++) if(f[i]==i) ans++;
	printf("%d
",ans);
	return 0;

``

解题报告:luogup4170(代码片段)

题目链接:P4170[CQOI2007]涂色区间(dp)好题。我们假如已经有这个区间的最小步数:[BRG]如果在区间右端添加一个R会怎么样呢?考虑上一个涂到这个R未知的颜色是啥,显然是前面的这些之一或是他自己。如果是他自己,那么:[dp_l,r... 查看详情

luogup3144[usaco16open]关闭农场closingthefarm_silver解题报告(代码片段)

题目描述FarmerJohnandhiscowsareplanningtoleavetownforalongvacation,andsoFJwantstotemporarilyclosedownhisfarmtosavemoneyinthemeantime.Thefarmconsistsof NN barnsconnectedwith MM bidirect 查看详情

[luogup2586]gcd解题报告(莫比乌斯反演|欧拉函数)(代码片段)

题目链接:https://www.luogu.org/problemnew/show/P2568#sub题目大意:计算?$sum_x=1^nsum_y=1^n[gcd(x,y)==prime]?$题解:解法一:莫比乌斯反演套路题其实这样就可以了,但是还可以优化一下子设??T=dp?整除分块就好了,其实这就和yy的gcd一样了解法... 查看详情

[coi2007][luogup1823]patrik音乐会的等待解题报告(单调栈)(代码片段)

题目链接:https://www.luogu.org/problemnew/show/P1823题目:N个人正在排队进入一个音乐会。人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人。队列中任意两个人A和B,如果他们是相邻或他们之间没有人比A或B高,那... 查看详情

解题报告:luogup1445(代码片段)

题目链接:P1445[Violet]樱花数学题真的不会了,只推出了浅显的一步,真的菜。易得到:[xy=(x+y)n!]移项然后两边同时间上((n!)^2),构造平方数:[(n!)^2=(n!)^2+(x+y)n!-xy]右边十字相乘因式分解:[(n!)^2=(n!-x)(n!-y)]设(a=n!-x,b=n!-y),那么:[(n!)^... 查看详情

解题报告:luogup1433吃奶酪(代码片段)

题目链接:P1433吃奶酪我感觉可以改成:【模板】TSP问题(商旅问题)了。爆搜(T)一个点,考虑状压(dp)(还是爆搜)。我们用(dp[i][j])表示现在是(i)状态,站在了(j)点。那什么是状态呢?我们用一个零一串表示每一点有无被走过((0)... 查看详情

解题报告:luogup6057(代码片段)

题目链接:P6057[加油武汉]七步洗手法为武汉助威!大佬:真·小学奥数我:?怎么算啊?(ps):本来想切个绿题就滚去写文化课,结果......憋了好长时间。总算刚了出来,开始误入枚举白边的黑洞(这个字有锅吧?!)出不来了。... 查看详情

解题报告:luogup4170(代码片段)

题目链接:P4170[CQOI2007]涂色区间(dp)好题。我们假如已经有这个区间的最小步数:[BRG]如果在区间右端添加一个R会怎么样呢?考虑上一个涂到这个R未知的颜色是啥,显然是前面的这些之一或是他自己。如果是他自己,那么:[dp_l,r... 查看详情

解题报告:luogup2342&p5092(代码片段)

题目链接:P2342[USACO04OPEN]CubeStackingG双倍经验:P5092[USACO04OPEN]CubeStacking裸的加权并查集,直接维护下就好了,不过还是犯了(SB)错误,和(lhr)大佬一起沦为(18;;pts)。在询问的时候同步更新一下(f[x])及相关内容,保证是最新的。复杂... 查看详情

解题报告:luogup2401不等数列(代码片段)

还是很菜,只能做绿题。而且whk异常颓废,明天要给自己定任务了。。。没带学读了题目链接:P2401不等数列考虑(dp)。如何继承呢?我们来手玩一下吧,看(n=3)是的一种种(k=1)的情况:[3>1<2]我们发现可以在四个位置插入(4)。... 查看详情

解题报告:luogup5536xr-3核心城市(代码片段)

题目链接:P5536【XR-3】核心城市这题是某次月赛题。这题我完全是看标签猜的。优先选择直径中点即可,这里重要的是互通,很容易想到用堆维护可选的,预处理直径和距叶节点距离即可(最近),实质上是将无根树转化为以中... 查看详情

解题报告:luogup5745深基附b例数列求和(代码片段)

题目链接:P5745【深基附B例】数列求和现在想说:(O(N))的题要不怎么也想不出来,要不灵光乍现,就像这道题。我们维护一个类似单调队列的加法单调队列:若相加大于此数,就将队尾元素弹出,直至满足条件,顺便更新下(maxn)... 查看详情

「luogup2508」[haoi2008]圆上的整点解题报告(代码片段)

题面给定圆的半径,求圆上整点数这是一道很Nice的数学题!超爱!好吧,由于这道题,我去Study了一下复数(complexnumber)复杂的数真棒!!!有兴趣的戳这里!!!(huge o)思路:高斯素数的原理,将整数分解质因数后,再把每个质... 查看详情

hdu-1892seeyou~---二维树状数组运用(代码片段)

...计一片区域有多少本书,还可以增加书和减少,移动书。解题思路:直接二维数组数组模拟注意:每个下标+1,从(1,1)开始求区域和的时候给出的x1y1和x2y2不是标准的正对角线,需要转化1#inclu 查看详情

[leetcode]distinctsubsequences,解题报告(代码片段)

题目GivenastringSandastringT,countthenumberofdistinctsubsequencesofTinS.Asubsequenceofastringisanewstringwhichisformedfromtheoriginalstringbydeletingsome(canbenone)ofthecharacterswithoutdisturbingtherel 查看详情

解题报告besttimetobuyandsellstockwithcooldown(代码片段)

题目Sayyouhaveanarrayforwhichtheithelementisthepriceofagivenstockondayi.Designanalgorithmtofindthemaximumprofit.Youmaycompleteasmanytransactionsasyoulike(ie,buyoneandselloneshareofthestockmultipletimes) 查看详情

leetcode521longestuncommonsubsequencei解题报告(代码片段)

题目要求Givenagroupoftwostrings,youneedtofindthelongestuncommonsubsequenceofthisgroupoftwostrings.Thelongestuncommonsubsequenceisdefinedasthelongestsubsequenceofoneofthesestringsandthissubsequenceshouldno 查看详情

hdu4303houraijeweled解题报告(代码片段)

HDU4303HouraiJeweled解题报告评测地址:http://acm.hdu.edu.cn/showproblem.php?pid=4303评测地址:https://xoj.red/contests/view/1155/1题目描述KaguyaHouraisanwasonceaprincessoftheLunarians,araceofpeoplelivingontheMoon.Shewa 查看详情