【Hash】bzoj4337 BJOI2015树的同构
来源:互联网 发布:自动切换窗口软件 编辑:程序博客网 时间:2024/05/23 16:36
http://www.lydsy.com/JudgeOnline/problem.php?id=4337
树的哈希,模板题。
#include<bits/stdc++.h>#define fer(i,j,n) for(int i=j;i<=n;i++)#define far(i,j,n) for(int i=j;i>=n;i--)#define ll long long#define pa pair<int,int>const int maxn=1010;const int INF=1e9+7;using namespace std;/*----------------------------------------------------------------------------*/inline ll read(){ char ls;ll x=0,sng=1; for(;ls<'0'||ls>'9';ls=getchar())if(ls=='-')sng=-1; for(;ls>='0'&&ls<='9';ls=getchar())x=x*10+ls-'0'; return x*sng;}/*----------------------------------------------------------------------------*/struct kaga{ int next; int point;}e[maxn];int m,n,ans[maxn][maxn],last[maxn],k=0,root,cnt=0;void add_edge(int x,int y){ e[++k].next=y;e[k].point=last[x];last[x]=k;}void insert(int x,int y){ add_edge(x,y); add_edge(y,x);}map<int,int> l[maxn];map<vector<int>,int> h;int dfs(int x,int fa){ if(l[x][fa])return l[x][fa]; vector<int> now; for(int j=last[x];j;j=e[j].point) { int y=e[j].next; if(y!=fa)now.push_back(dfs(y,x)); } sort(now.begin(),now.end()); if(!h[now])h[now]=++cnt; return l[x][fa]=h[now];}bool judge(int i,int j){ fer(k,1,n) if(ans[j][k]!=ans[i][k])return false; return true;}int main(){ int m=read(); fer(i,1,m) { memset(last,0,sizeof(last)); k=0; n=read(); fer(j,1,n)l[j].clear(); fer(j,1,n) { int x=read(); if(x)insert(x,j); } fer(j,1,n) ans[i][j]=dfs(j,0); sort(ans[i]+1,ans[i]+n+1); fer(j,1,i) if(judge(i,j)) { cout<<j<<endl; break; } }}
阅读全文
0 0
- BZOJ4337(BJOI2015)[树的同构]--树Hash
- bzoj4337: BJOI2015 树的同构 树hash
- 【bzoj4337】【BJOI2015】【树的同构】【hash】
- 【Hash】bzoj4337 BJOI2015树的同构
- BZOJ4337: [BJOI2015] 树的同构(Hash)
- 【Hash】BZOJ4337(BJOI2015)[树的同构]题解
- 【BJOI2015】【BZOJ4337】树的同构
- bzoj4337 BJOI2015 树的同构
- [BZOJ4337 BJOI2015 树的同构]树哈希
- 【树哈希】BZOJ4337 BJOI2015 树的同构
- 2017.10.6 BJOI2015 bzoj4337 树的同构
- bzoj4337树的同构(树hash)
- BZOJ 4337 BJOI2015 树的同构 Hash
- BZOJ 4337: BJOI2015 树的同构|Hash
- bzoj 4337: BJOI2015 树的同构 (树hash)
- [树hash]BZOJ 4337——BJOI2015 树的同构
- 【BZOJ】4337 BJOI2015 树的同构 树hash
- 4337: BJOI2015 树的同构
- HTML第二天学习
- Linux系统中段错误的原因
- ajax+ashx返回值详解
- 第二场个人训练赛(水题合集)
- 机器学习_2之目标跟踪Camshift算法
- 【Hash】bzoj4337 BJOI2015树的同构
- log4j日志存储到数据库
- 好久好久与
- html5学习2017.07.07
- 树中相关计算
- 翻车笔记:openjudge8469:特殊密码锁
- 揭秘 DeepMind 的关系推理网络
- git config git ssh git https
- android 读取U盘apk文件信息,拔掉U盘导致进程被杀