博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 2513
阅读量:5863 次
发布时间:2019-06-19

本文共 1047 字,大约阅读时间需要 3 分钟。

欧拉回路+并查集(判断图的联通)+Tire树(快速查找字符串,并且记录相应点的度数)

Tire树相关知识

#include 
using namespace std;const int maxc = 26;const int maxn = 500001;struct TrieNode{ int key; TrieNode * child[maxc]; TrieNode() { key=-1; memset(child,0,sizeof(child)); }};int count[maxn];TrieNode * root;int tot=-1;int insert(char * s){ if(root==NULL) root=new TrieNode; int did; TrieNode * tem=root; for(;*s!='\0';s++) { did=*s-'a'; if(tem->child[did]==NULL) tem->child[did]=new TrieNode; tem=tem->child[did]; } if(tem->key==-1) tem->key=++tot; count[tem->key]++; return tem->key;}struct UFSTree{ int val; int parent; int rank;}t[maxn];void init(){ for(int i=0;i
t[p2].rank) t[p2].parent=p1; else { t[p1].parent=p2; if(t[p1].rank==t[p2].rank) t[p2].rank++; }}int main(){ char f[11],s[11]; init(); while(scanf("%s %s",f,s)!=EOF) { int k1=insert(f); int k2=insert(s); int p1=find(k1); int p2=find(k2); if(p1!=p2) Union(p1,p2); } if(root==NULL) { cout<<"Possible"<

 

 

 

 

转载于:https://www.cnblogs.com/lj-vs-lishimin/archive/2012/10/12/2774380.html

你可能感兴趣的文章
团队项目 NABCD分析java音乐播放器
查看>>
触发器
查看>>
【set&&sstream||floyed判环算法】【UVa 11549】Calculator Conundrum
查看>>
mybatis基础_sqlMapConfig配置详解
查看>>
hibernate简介以及简单配置
查看>>
Entity Framework Tutorial Basics(26):Add Entity Graph
查看>>
论Postgres的“已提交的而且 xmin’比当前事务的XID小的记录对当前事务才是可见的”...
查看>>
windows中最重要的三个动态链接库及功能
查看>>
如何分析性能测试需求
查看>>
20145229吴姗珊《Java程序设计》第二周学习总结
查看>>
铅酸蓄电池正确使用与充电管理
查看>>
关于DropDownList
查看>>
用eclipse编写Hadoop程序
查看>>
JS-元素大小深入学习-offset、client、scroll等学习研究笔记
查看>>
作业五 :团队项目准备素材搜集
查看>>
转 博弈类题目小结(hdu,poj,zoj)
查看>>
Team Project Specification–IP Domain search tool
查看>>
mk、cd、pwd、ls、touch、vi、cat、cp、mv的使用及命令快捷方式
查看>>
关于指针的传值与传址
查看>>
关于int main(int argc,char* argv[])详解
查看>>