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

P10467 [CCC 2007] Snowflake Snow Snowflakes 题解

Description

给你 \(n\) 个六元组,让你判断其中是否有两个六元组是同构的。

\(1\le n\le 10^5\)

Solution

一个比较 Naive 的做法是直接对每个六元组内部从小到大排序,比如 4 3 2 1 6 5 排序后变为 1 2 3 4 5 6。如果两个六元组同构,那么此时排序后结果就是相同的,直接对新的六元组做哈希即可。

#include<bits/stdc++.h>
#define int long long
#define base 13331
using namespace std;
long long n,a[100005][10];
unsigned long long hsh[100005];
signed main(){cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=6;j++){cin>>a[i][j];}sort(a[i]+1,a[i]+1+6);for(int j=1;j<=6;j++){hsh[i]=hsh[i]*base+a[i][j];}}sort(hsh+1,hsh+1+n);for(int i=2;i<=n;i++){if(hsh[i]==hsh[i-1]){cout<<"Twin snowflakes found."<<endl;return 0;}}cout<<"No two snowflakes are alike."<<endl;return 0;
}

如果这个题由六元组拓展到 \(k\) 元组,\(k\) 还非常大,我们 \(O(nk\log k)\) 的做法可能就寄了,因此考虑一些好玩的东西。

考虑设计一个 和组内元素次序无关,数值有关 的哈希函数 \(H(s)\)

\[H(s)=(\sum_{i=1}^k s_i +\prod_{i=1} ^k s_i)\mod p \]

其中 \(p\) 为某大质数,也可以直接自然溢出。

#include<bits/stdc++.h>
#define int long long
#define base 13331
using namespace std;
long long n,a[100005][10];
unsigned long long hsh[100005];
signed main(){cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=6;j++){cin>>a[i][j];}hsh[i]=1;for(int j=1;j<=6;j++){hsh[i]*=a[i][j];}for(int j=1;j<=6;j++){hsh[i]+=a[i][j];}}sort(hsh+1,hsh+1+n);for(int i=2;i<=n;i++){if(hsh[i]==hsh[i-1]){cout<<"Twin snowflakes found."<<endl;return 0;}}cout<<"No two snowflakes are alike."<<endl;return 0;
}
http://www.zskr.cn/news/66200.html

相关文章:

  • VSCode 常用快捷键/命令大全
  • 2025年十大广东机械设备源头厂家排行榜,新测评精选源头制造
  • 毕业生找工作TOP5权威推荐:精准破局求职困境,助力毕业生高
  • 2025苯板造型供应商TOP5权威推荐:甄选定制厂家,助力保
  • nestjs集成grpc服务 - 指南
  • 0,1序列
  • 提升开发效率的关键:Python 在工程应用中的五大实战技巧
  • 2025年十大专业的活动策划专业公司推荐,实力强的活动策划公
  • 2025年哈尔滨苯板立体雕刻加工厂/制造厂哪家更值得选?
  • 2025年黑龙江苯板雕刻制造商推荐:苯板雕刻优质供应商和生产
  • 实用指南:实验十三 Z-buffer算法实验
  • 关于python更换永久镜像源
  • 2025年电力在线监测系统推荐制造商:高性价比供应商与工厂深
  • 2025年国内防爆接地箱供应商推荐:接地箱定制靠谱企业有哪些
  • 实用指南:攻防世界-cat_cat_new(任意文件读取、Linux敏感文件、flask-session伪造)
  • 2025简历撰写网站TOP5权威推荐:资质齐全信誉好的简历平
  • `pytest + YAML + Allure` 的接口自动化测试框架是业界广泛运用的组合
  • 2025年口碑好的儿童保温杯/设计感保温杯实力厂家TOP推荐榜
  • AI元人文构想:未来的算法规制——从“代码律法”到“价值共生”
  • 2025年比较好的打包箱高评价厂家推荐榜
  • 2025年比较好的加装电梯TOP品牌厂家排行榜
  • 2025年比较好的双层保温饭盒厂家实力及用户口碑排行榜
  • 2025年热门的日本留学签证/日本留学官方认可榜
  • 2025年江浙沪老牌美术高中推荐:美术高中服务怎么联系?哪家
  • 2025年度十大混凝土密封固化剂专业供应商排行榜,新测评精选
  • 2025年质量好的吨袋包装机厂家最新实力排行
  • CentOS7环境下的yum源配置问题
  • 代码随想录Day1_数组
  • 靠谱的混凝土密封固化剂厂家TOP5权威推荐:定制与服务双优企
  • 2025年比较好的隔热服生产厂家