首页 > 其他分享 >五行学说

五行学说

时间:2023-10-08 20:22:19浏览次数:28  
标签:学说 五行 && mod include define

五行学说

带权并查集。

我们发现,克一次相当于生两次。

image-20231008201411483

如图,火、土、金的部分。

发现,这样这个问题就同食物链问题很像了。

#include<cstdio>
#include<algorithm>
using namespace std;
const int mod=5,N=100010;
#define add(a,b) (a+=b)>=mod&&(a-=mod)
#define sub(a,b) (a-=b)<0&&(a+=mod)
int n,m,f[N],d[N];
void read(int &x){
	x=0;
	char c=getchar();
	while(c<'0'||c>'9')c=getchar();
	while(c>='0'&&c<='9'){
		x=x*10+c-48;
		c=getchar();
	}
}
void gc(char &x){
	x=getchar();
	while(x!='k'&&x!='s')x=getchar();
}
int find(int x){
	if(f[x]==x)return x;
	int fa=f[x];
	f[x]=find(f[x]);
	add(d[x],d[fa]);
	return f[x];
}
bool edge(int u,int v,int dis){
	int fu=find(u),fv=find(v);
	if(fu==fv){
		add(dis,d[v]);
		if(dis!=d[u])return 1;
	}
	else{
		f[fu]=v;
		sub(dis,d[u]);
		d[fu]=dis;
	}
	return 0;
}
int main(){
	freopen("theory.in","r",stdin);
	freopen("theory.out","w",stdout);
	read(n),read(m);
	int ans=0;
	for(int i=1;i<=n;++i)f[i]=i;
	while(m--){
		char c;
		int a,b;
		gc(c),read(a),read(b);
		ans+=c=='k'?edge(a,b,2):edge(a,b,1);
	}
	printf("%d",ans);
	return 0;
}

标签:学说,五行,&&,mod,include,define
From: https://www.cnblogs.com/wscqwq/p/17750056.html

相关文章

  • 中医学习记录0-阴阳五行
    中医学习记录0-阴阳五行 无极-太极-两仪-四象-八卦 两仪:阴、阳四象:少阴、太阴、少阳、太阳八卦:乾-天、坤-地、震-雷、巽(xùn)-风、坎-水、离-火、艮(gèn)-山、兑-泽  参考资料:21张图搞清楚真正标准完整的先天八卦太极图,含太极图画法太极、两仪、四象与八卦......
  • 【230914-3+1】古代五行说认为:物质有金木水火土五种属性,且金克木、木克土、土克水、水
    ......
  • 奇门遁甲、五行八卦和周易的关系
    周易、五行和奇门是中国传统的预测和推算方法,它们有一些共同的深层原理和推算依据。以下是它们的主要原理和依据:周易的深层原理和推算依据阴阳哲学:基于阴阳的相互作用和变化规律,推演事物的发展趋势。六十四卦:通过解读六十四卦中的卦象,分析其中的阴阳、动静、卦辞等信息,来预测......
  • 六十花甲子纳音表中的五行是怎么算出来的
    一、背景老人家人经常说谁是什么命,一般地是出自六十花甲子纳音表。看了纳音表中的五行属性不是按顺序排的,那是怎么算的呢?二、计算方法伪代码大概是这样的//纳音,顾名思义,音只有宫商角徵羽五音,所以只能是1到5//又因为每个五行都占相邻的两个天干地支,所以就有了下面的对应关系......
  • 西瓜(错,第五行)
    #include<iostream>#include<string>#include"Windows.h"#include"minecraft.h"TxMinecraftmc;usingnamespacestd;intmain(intargc,char**argv){boolcon=mc.ConnectMinecraft("zk","2839fa7a......
  • 24万个取名名字五行名字ACCESS\EXCEL数据库
    虽然之前弄到过一个《30万个名字汉字起名中文取名ACCESS数据库》数据库,但是有一些小缺点,比如没有单名,比如没有五行属性,而今天弄到的这份就包括,看截图:字数统计:名字单字的包含7088条,2个字的包含234337条;金属性名字有60697条,木属性名字有112682条,水属性名字有100979条,火属性名字有......
  • 第八期|元气分五行
    中医最基础的两个概念:元气和阴阳。元气是人活着的根本,身体健康或者生病,在中医看来,都与元气有关。 我们身体里的元气运转,形成了一个圈,我们称它为“元气圈。就像自然界中的水不断上升和下降,也会形成一个圈。 “元气圈”非常重要,关乎到我们的生老病死。就好比大自然中,水循环不......
  • 2.3 逻各斯学说:存在永恒不变的真理吗?
    purethinking和毕达哥拉斯学派年代很接近的一位哲人叫赫拉克里特,他也要回答宇宙的本源是什么,他说宇宙的本源是火。他并不把火看成真实宇宙的本源,火是什么?变动不拘的象......
  • 只有五行的算法----Floyd-Warshall
    上图为一个城市地图,图中有4个城市,8条公路,公路上的数字表示这条公路的长短,并且这些公路是单向的,我们现在要求出任意两个城市之间的最短路径,也就是求任意两点的最短路径。我......
  • BC5-牛牛学说话之-字符
    题目描述会说浮点数之后,牛牛开始尝试字符。输入一个字符,输出这个字符。输入描述输入一个字符,范围在ascii范围内输出描述输出这个字符示例1输入:a输出:a解题思路......