摘要: 题目大意: 给定一些木棒,木棒两端都涂上颜色,求是否能将木棒首尾相接,连成一条直线,要求不同木棒相连接的一端必须是同颜色的。 解题思路: 可以用图论中欧拉路的知识来解这道题,首先可以把木棒两端看成节点,把木棒看成边,这样相同的颜色就是同一个节点 问题便转化为:给定一个图,是否存在“一笔画”经过涂中每 阅读全文
posted @ 2017-02-16 22:10 despair_ghost 阅读(263) 评论(0) 推荐(0) 编辑
摘要: #include #include using namespace std; int n,m,k,vis[10],ans; char c[10][10]; void dfs(int i) { if(m==k) { ans++; return ; } if(i>=n) return ;... 阅读全文
posted @ 2017-02-16 16:34 despair_ghost 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 参考刘汝佳<算法指南>P163 阅读全文
posted @ 2017-02-16 16:21 despair_ghost 阅读(865) 评论(0) 推荐(0) 编辑
摘要: #include #define ll long long using namespace std; //返回a*b%n,要求00){ if(p&1) ans=(ans*a)%n; a=(a*a)%n; p>>=1; } return ans; } //扩展欧几里得算法 void gcd(ll a,ll b,... 阅读全文
posted @ 2017-02-16 15:41 despair_ghost 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题目大意建模: 一个有N个节点的无向图,要求对每个节点进行染色,使得相邻两个节点颜色都不同,问最少需要多少种颜色? 那么题目就变成了一个经典的图的染色问题 例如:N=7 A:BCDEFG B:ACDEFG C:ABD D:ABCE E:ABDF F:ABEG G:ABF 画成图就是: 首先考虑四色定 阅读全文
posted @ 2017-02-16 11:06 despair_ghost 阅读(263) 评论(0) 推荐(0) 编辑