博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2513 Colored Sticks 解题报告
阅读量:5227 次
发布时间:2019-06-14

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

    第一次接触欧拉回路。虽然在离散数学里学过,敲代码还是第一次。

    本题是说端点颜色相同的两根木棒可连接,能否将所有的木棒连成一条直线。

    将颜色视为节点v,将木棒视为边e,构成图G。如果能找到一条一笔画的路经过所有边,那么便符合条件。也就是判断是否是欧拉回路。

    欧拉回路的条件是:

    (1) 图是连通的。

    (2) 度数为基数的点的个数是两个,或者不存在。

    连通可以通过用并查集判断。度数可以建一个数组保存当前点的度数。

    值得注意的是有全空的数据,此时应该输出Possible。这点坑了我一下,在Discuss里发现有人提出了,改一下就A了。

#include 
#include
const int maxn=500010;int root[maxn];int degree[maxn];struct Node{ int next[26]; int id;} dic[1000000];int index=0;int id=0;int find(int x){ return root[x]?root[x]=find(root[x]):x;}bool union_set(int a,int b){ a=find(a); b=find(b); if(a==b) return false; root[b]=a; return true;}int insert(char* s){ int now=0; int len=strlen(s); for(int i=0;i

 

转载于:https://www.cnblogs.com/IT-BOY/p/3230159.html

你可能感兴趣的文章
jQuery总结第一天
查看>>
Java -- Swing 组件使用
查看>>
Software--Architecture--DesignPattern IoC, Factory Method, Source Locator
查看>>
poj1936---subsequence(判断子串)
查看>>
黑马程序员_Java基础枚举类型
查看>>
[ python ] 练习作业 - 2
查看>>
一位90后程序员的自述:如何从年薪3w到30w!
查看>>
在.net core上使用Entity FramWork(Db first)
查看>>
System.Net.WebException: 无法显示错误消息,原因是无法找到包含此错误消息的可选资源程序集...
查看>>
UIImage 和 iOS 图片压缩UIImage / UIImageVIew
查看>>
MongoDB的数据库、集合的基本操作
查看>>
ajax向后台传递数组
查看>>
疯狂JAVA16课之对象与内存控制
查看>>
[转载]树、森林和二叉树的转换
查看>>
WPF移动Window窗体(鼠标点击左键移动窗体自定义行为)
查看>>
软件测试-----Graph Coverage作业
查看>>
django ORM创建数据库方法
查看>>
创建Oracle synonym 详解
查看>>
php7 新特性整理
查看>>
RabbitMQ、Redis、Memcache、SQLAlchemy
查看>>