D. Secret Passwords_并查集
D. Secret Passwords
题目大意
给一堆字符串,两个串有一个字母一样就算等效。问所有字符串里有几个不等效的。
思路
并查集入门题
ll fa[N] ;
ll find(ll x){
return fa[x] = fa[x] == x ? x : find(fa[x]) ;
}
void solve(){
ll n ; cin >> n ;
ll ans = n ;
vct<vct<ll> > letter(40) ;
rep(i , 1 , n) fa[i] = i ;
rep(i , 1 , n){
string s ;
cin >> s ;
for (char c : s) letter[c - 'a'].pb(i) ;
}
rep(i , 0 , 30){
if(letter[i].size() < 2) continue ;
ll ft = find(letter[i][0]) ;
rep(j , 1 , letter[i].size() - 1){
ll fi = find(letter[i][j]) ;
if(ft != fi){
ans -- ;
fa[fi] = ft ;
}
}
}
cout << ans << "\n" ;
}//code_by_tyrii
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2021-11-04 洛谷-P1196 银河英雄传说