码迷,mamicode.com
首页 > 其他好文 > 详细

869C

时间:2017-10-09 21:00:43      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:return   技术   pen   ++i   颜色   src   its   splay   const   

dp

我好像很zz。。。

想了好长好长时间,然后没想出来,怒掉rating。。。

其实我们可以吧三种颜色两两计算,因为这样加入第三种颜色不会影响之前的方案,那么我们跑一个dp,计算数量分别为a,b的方案数,乘起来就行了。。。

(我还去想数三元环什么的。。。)

技术分享
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 5010;
const ll mod = 998244353;
int a, b, c;
ll dp[N][N];
int main()
{
    scanf("%d%d%d", &a, &b, &c);
    for(int i = 0; i <= 5000; ++i) dp[1][i] = dp[i][1] = i + 1;
    for(int i = 2; i <= 5000; ++i)
        for(int j = 2; j <= 5000; ++j)
            dp[i][j] = (dp[i - 1][j] + (ll)j * dp[i - 1][j - 1]) % mod;
    printf("%lld\n", dp[a][b] * dp[b][c] % mod * dp[c][a] % mod);
    return 0;
}
View Code

 

869C

标签:return   技术   pen   ++i   颜色   src   its   splay   const   

原文地址:http://www.cnblogs.com/19992147orz/p/7642743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!