Wannafly模拟赛 树(dp)
来源:互联网 发布:少儿编程前景 编辑:程序博客网 时间:2024/05/18 00:06
题目:https://www.nowcoder.com/acm/contest/submit/86fc8c46a8ce4c1fba763b8cf311f805?ACMContestId=2&tagId=4
思路:当时瞎想,题目说了是一棵树,其实不用管连接了,直接dp就行了
用dp[i][j]代表i个结点用j种颜色合法的方案数
dp[i][j] = dp[i-1][j] + dp[i-1][j-1] * (k - (j-1))
代码:
#include<bits/stdc++.h>using namespace std;typedef long long ll;const int MOD = 1e9+7;const int N = 305;ll dp[N][N];int main(){ int n,k; scanf("%d %d",&n,&k); int u,v; for(int i = 1;i <= n-1;i++) scanf("%d %d",&u,&v); dp[0][0] = 1; for(int i = 1;i <= n;i++) for(int j = 1;j <= k;j++) dp[i][j] = (dp[i-1][j] + dp[i-1][j-1] * (k - (j-1))) % MOD; ll ans = 0; for(int i = 1;i <= k;i++) ans = (ans + dp[n][i]) % MOD; printf("%lld\n",ans); return 0;}//dp[i][j] = dp[i-1][j] + dp[i-1][j-1] * (k - (j-1))
阅读全文
0 0
- Wannafly模拟赛 树(dp)
- Wannafly模拟赛 树【思维+Dp】
- 牛客网 Wannafly模拟赛2 树 dp+思维
- Wannafly模拟赛3 监视任务(贪心+线段树)
- Wannafly模拟赛4 CSum(线段树)
- Wannafly模拟赛3 贝伦卡斯泰露 【折半搜索+hash,状压dp】
- 10.9wannafly模拟赛
- Wannafly模拟赛4
- Wannafly模拟赛3
- Wannafly模拟赛3 题解
- Wannafly模拟赛3 题解
- Wannafly模拟赛5 ASplit
- Wannafly模拟赛5 DAria
- Wannafly模拟赛4 题解
- Wannafly模拟赛3-F 监视任务(贪心+线段树区间更新)
- Wannafly模拟赛4 D Fancy Signal Translate(字典树)
- Wannafly模拟赛2: A. Contest(Cdq分治)
- Wannafly模拟赛2-Contest(CDQ分治)
- 【theano-windows】学习笔记六——theano中的循环函数scan
- Win10上Loadrunner12无法用Internet Explorer录制的情况
- Spring之AOP使用xml配置更方便(使用AspectJ框架)(重点)
- Java中跳出指定循环
- HDOJ 1106 排序
- Wannafly模拟赛 树(dp)
- 9.4 9.5 学到了什么
- Swift
- 基于jQuery的zTree树插件实现筛选
- iptables规则的查看、添加、删除和修改
- web开发第四课数据库操作
- C#编写的计算器程序(仿windows自带的计算器)
- AndroidUtils(六)SP工具类
- 371. Sum of Two Integers, 不用加减乘除运算符计算两数之和