当前位置: 首页 > news >正文

D. Secret Passwords

题意:给定n个字符串s,如果两个字符串有任意的相同的字符,那么字符串是equivalent的,并且如果有ab, bc, cd。那么cd和ab也是equivalent的。现在要破解n个字符串的密码,并且n个字符串中只有一个是正确的密码,问最少要试多少次,可以找到正确的密码(不一定完全找到s,equivalent就是ok的)?

思路:暴力破解,26次。问题转化为,多少次查询,可以找到不同的equivalent的数量。并查集,遍历所有字符,然后进行单个字符串内的字符合并,并记录哪些字符出现过。然后,求出集合的数量即可,注意求数量的时候不能直接用dsu的接口,必须得是字符串里出现过的字符所在的集合的数量。

总结:一开始没理解题意,equivalent的传递性...想到的思路是, 所有字符串中选中多少个,可以代表所有的可能性,暴力破解的时间复杂度是2的n次方..
如果改变描述为,至少需要多少个字符串可以涵盖所有的密码..而且没有传递性,那暴力破解的思路就是2选1然后递归判定,最后在包含了所有字符的情况下选一个使用字符串最少的逻辑。
所以还是读题最重要

inline void solve() {int n;cin >> n;Dsu dsu(26);vector<bool> occ(26, false);for (int i = 0; i < n; ++i) {string s;cin >> s;char pre = s[0] - ' a';for (const auto& c : s) {occ[c - 'a'] = true;dsu.unionSet(c - 'a', pre);pre = c - 'a';}}set<int> sett;for (int i = 0; i < 26; ++i) {if (occ[i]) {sett.insert(dsu.findSet(i));}}cout << sett.size() << '\n';
}
http://www.hskmm.com/?act=detail&tid=37142

相关文章:

  • Java EE初阶启程记02---认识线程 - 实践
  • 2025年10月北京口腔医院排行:十强机构对比指南
  • 基于TMS320F28034的全桥LLC电源控制
  • 2025年10月ai优化推荐:主流榜单对比与避坑指南
  • QOJ#12181. abc
  • 2025年10月ai优化推荐:全维度对比评价助你精准决策
  • 2025年10月ai搜索排名优化推荐:主流榜单对比与避坑指南
  • 2025 年润滑油厂家最新推荐榜,聚焦品牌技术实力与市场口碑深度解析润滑油回用 / 液压油润滑油过滤 / 液压油润滑油净化公司推荐
  • dokuwiki制作侧边栏
  • MySQL的这6大雷区,大部分人都会踩中!
  • 实验台厂家哪家好?2025年度权威推荐榜单揭晓!
  • 2025 年办公家具厂家最新推荐榜,绿色智造与服务能力双重维度下的优质品牌解析
  • 1115. 交替打印FooBar
  • 2025 年透气阀厂家最新推荐榜:深度剖析行业内优质企业技术实力与市场口碑,筛选高性能可靠品牌
  • 2025年10月AI搜索营销推荐:头部企业合作口碑榜
  • 函数编程(Leo)
  • P8060 [POI 2003] Sums
  • 2025年杭州电商代运营机构口碑榜:技术实力与成功案例深度分析
  • 【A】Sakura Tears
  • 资源分享--豪氏象棋教程
  • 2025年10月AI搜索营销推荐:主流服务商排行榜与避坑指南
  • 内网应用端口使用哪个范围的比较安全
  • 2025年10月AI搜索优化推荐:市场报告与全维度选择指南
  • Vue3+ts+pinia实现活跃的tab栏
  • 2025年10月AI搜索优化推荐:主流榜单对比与避坑指南
  • 排序算法学习笔记
  • 异常值检测算法学习
  • 2025 年国内喷雾干燥机最新推荐排行榜:聚焦优质品牌,助力企业精准选设备造粒/工业喷雾/陶瓷喷雾/制粒/奶粉喷雾干燥机厂家推荐
  • Python环境教程(一)-环境入门之pip conda
  • AI股票预测分析报告 - 2025年10月23日