「HNOI2004」树的计数
序列入门题。。。
首先特判掉 的情况:度数为 则有唯一解,否则无解。
然后特判掉总度数不为 的情况:无解。
再特判一下出现度数为 的点,也就是树不连通的情况。
特判掉这些之后,就可以直接套公式了。。。
如果不想用组合数来简化式子的话就直接 rush 高精吧
参考代码:
#include <cstdio>
#include <vector>
using namespace std;
int n, d[233];
struct BigInteger {
vector < int > s;
BigInteger() { s.clear(); }
BigInteger clean() { while (s.size() && !s.back()) s.pop_back(); return *this; }
BigInteger operator = (int x) {
s.clear();
while (x) s.push_back(x % 10), x /= 10;
return this -> clean();
}
BigInteger operator * (const int& x) {
int g = 0;
for (int i = 0; i < s.size(); ++i) s[i] *= x;
for (int i = 0; i < s.size(); ++i)
s[i] += g, g = s[i] / 10, s[i] %= 10;
while (g) s.push_back(g % 10), g /= 10;
return this -> clean();
}
BigInteger operator / (const int& x) {
int g = 0;
for (int i = s.size() - 1; i >= 0; --i) {
g = g * 10 + s[i];
if (g >= x) s[i] = g / x, g %= x; else s[i] = 0;
}
return this -> clean();
}
void output() { for (int i = s.size() - 1; i >= 0; --i) printf("%d", s[i]); puts(""); }
} ans;
int main() {
#ifndef ONLINE_JUDGE
freopen("cpp.in", "r", stdin), freopen("cpp.out", "w", stdout);
#endif
scanf("%d", &n);
int sum = 0;
for (int i = 1; i <= n; ++i) scanf("%d", d + i), sum += d[i];
if (n == 1) { puts(d[1] == 0 ? "1" : "0"); return 0; }
if (sum != 2 * n - 2) { puts("0"); return 0; }
for (int i = 1; i <= n; ++i)
if (d[i] == 0) { puts(n == 1 ? "1" : "0"); return 0; }
ans = 1;
for (int i = 1; i <= n - 2; ++i) ans = ans * i;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= d[i] - 1; ++j) ans = ans / j;
ans.output();
return 0;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
2019-06-11 「NOI2015」软件包管理器
2019-06-11 「USACO5.5」矩形周长Picture