hdu 2454 Degree Sequence of Graph G
2013-05-01 00:51
555 查看
Problem - 2454
模拟,利用图的性质,将当前度数最大的点(假设度数为d(x))删除的同时,把紧接着的前d(x)大的度数分别减一。如果最终可以全部相消,那么就是一个简单图,否则不是。
View Code
——written by Lyon
模拟,利用图的性质,将当前度数最大的点(假设度数为d(x))删除的同时,把紧接着的前d(x)大的度数分别减一。如果最终可以全部相消,那么就是一个简单图,否则不是。
View Code
#include <cstdio> #include <iostream> #include <algorithm> #include <set> #include <stack> #define REP(i, n) for (int i = 0; i < (n); i++) using namespace std; multiset<int> cnt; stack<int> tmp; int main() { int T, n, x; cin >> T; while (T-- && cin >> n) { int sum = 0; cnt.clear(); REP(i, n) { cin >> x; if (x) cnt.insert(x); sum += x; } if ((sum & 1) || *cnt.rbegin() >= n) { puts("no"); } else { while (true) { if (cnt.size() == 0) { puts("yes"); break; } if (cnt.size() == 1) { puts("no"); break; } int mx = *cnt.rbegin(); cnt.erase(cnt.find(mx)); if (mx > cnt.size()) { puts("no"); break; } int t; while (!tmp.empty()) tmp.pop(); REP(i, mx) { t = *cnt.rbegin(); if (t > 1) tmp.push(t - 1); cnt.erase(cnt.find(t)); } while (!tmp.empty()) { cnt.insert(tmp.top()); tmp.pop(); } } } } return 0; }
——written by Lyon
相关文章推荐
- hdu 2454 Degree Sequence of Graph G
- hdu 2454 Degree Sequence of Graph G (判断简单图)
- hdu 2454 Degree Sequence of Graph G
- HDU 2454 Degree Sequence of Graph G(Havel定理 推断一个简单图的存在)
- HDU 2454 Degree Sequence of Graph G(Havel定理 判断简单图的存在)
- hdu2454 Degree Sequence of Graph G(havel定理)
- HDU 2454 Degree Sequence of Graph G(Heavel定理)
- Degree Sequence of Graph G(Hdu_oj 2454)
- HDU 2454 Degree Sequence of Graph G (可简单图化的判定 havel定理)
- HDU 2454 Degree Sequence of Graph G(Havel-Hakimi定理,图论基础)
- hdu 2454 Degree Sequence of Graph G (推断简单图)
- HDOJ题目2454 Degree Sequence of Graph G(判断是否是简单图)
- [HDOJ2454]Degree Sequence of Graph G
- hdu2454 Degree Sequence of Graph G (Havel-Hakimi定理,可图化判定)
- 【HDU】2817-A sequence of numbers(快速幂)
- hdu 3415 Max Sum of Max-K-sub-sequence
- HDU--杭电--3415--Max Sum of Max-K-sub-sequence--暴力或单调队列
- Hdu 5496 Beauty of Sequence (组合数)
- hdu 2817 A sequence of numbers
- hdu 3415 Max Sum of Max-K-sub-sequence(单调队列)