pku 2513 Colored Sticks Trie树+并查集+欧拉回路(半欧拉回路)

通过Trie树和并查集解决棍子两端颜色匹配问题,确保所有棍子能连成一条直线。采用欧拉回路原理,分析颜色出现次数,确保最终路径的可行性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目意思:有许多的棍子,每一个棍子的两个端点都标记一种颜色, 端点颜色相同的两个棍子可以连在一起,问最后能不能把所有的棍子连成一条直线。。

刚开始题目理解错误,,误以为最后连成一个环,怎样搞都不对,,后来用有道才发现理解错误,,英语差的真的伤不起啊。。。

先用Trie树把颜色改为点,并记录每一种颜色出现的次数,再用并查集判断是否连通,,之后用欧拉回路判断能否构成直线。。

这里存在两种情况:

1-3 , 3-5,  5-1   和    1-3 ,  3-5,  5-1 ,  1-2

一种是所有的所有的颜色都出现偶数次,

另一种是有两种颜色出现奇数次,, 这样就很简单了。。

# include<stdio.h>
# include<string.h>
# define N 250005
# define MAX 26
struct Trie{
	int num,xuhao;
	struct Trie *next[MAX];
};
int t,adj[2*N],father[2*N];
Trie *NewTrie()
{
	Trie *temp=new Trie;;
	int i;
	temp->num=0;
	for(i=0;i<MAX;i++)
		temp->next[i]=NULL;
	return temp;
}
int updata(Trie *p,char s[])
{
	int len,i;
	Trie *temp=p;
	len=strlen(s);
	for(i=0;i<len;i++)
	{
		if(temp->next[s[i]-'a']==NULL) temp->next[s[i]-'a']=NewTrie();
		temp=temp->next[s[i]-'a'];
	}
	temp->num++;
	if(temp->num==1) {t++;temp->xuhao=t;adj[t]=1;}
	else adj[temp->xuhao]++;
	return temp->xuhao;
}
int find(int x)
{
	while(father[x]!=x)
		x=father[x];
	return x;
}
void Union(int a,int b)
{
	int x,y,min;
	x=find(a);
	y=find(b);
	min=x<y?x:y;
	father[x]=father[y]=father[a]=father[b]=min;
}
int main()
{
	int i,count,flag,a,b;
	char s1[15],s2[15];
	Trie *p;
	p=NewTrie();
	t=0;
	for(i=0;i<2*N;i++)
		father[i]=i;
	while(scanf("%s%s",s1,s2)!=EOF)
	{
		a=updata(p,s1);
		b=updata(p,s2);
		Union(a,b);
	}
	count=0;
	flag=0;
	for(i=1;i<=t;i++)
	{
		if(father[i]!=1) {flag=1;break;}
		if(adj[i]%2!=0) count++;
		if(count>=3) {flag=1;break;}
	}
	if(flag==1) printf("Impossible\n");
	else printf("Possible\n");
	return 0;
}

转载于:https://www.cnblogs.com/183zyz/archive/2011/05/06/2039355.html

内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值