【Codeforces Round #439 (Div. 2) C】The Intriguing Obsession
【链接】 链接
【题意】
给你3种颜色的点。
每种颜色分别a,b,c个。
现在让你在这些点之间加边。
使得,同种颜色的点之间,要么不连通,要么连通,且最短路至少为3
边是无向边。
让你输出方案数
【题解】
求出a点集到b点集之间的连边方案数;
具体的,设dp[i][j]表示a点集个数为i,b点集个数为j时候的连边方案数。
(可以不连)
则通过简单的dp就能算出来所有的dp..
(显然问题是独立的)
然后最后答案就是dp[a][b]*dp[b][c]*dp[a][c];
即a到b之间的连边,b到c之间的连边,a到c之间的连边。
然后乘起来,就能覆盖到所有的情况了。
只能a->b->c->a->b....这样构图。
不然没有方案。
【错的次数】
在这里输入错的次数
【反思】
下次做题的时候前面几题做快一点,留时间给后面的题!
【代码】
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 5e3;
const ll MOD = 998244353;
ll dp[N+10][N+10];
int main()
{
for (int i = 0;i <= N;i++)
{
dp[0][i] = 1;
dp[i][0] = 1;
}
for (int i = 1;i <=N;i++)
for (int j = 1;j <= N;j++)
dp[i][j] = (dp[i-1][j] + dp[i-1][j-1]*j%MOD)%MOD;
ll a,b,c;
scanf("%lld%lld%lld",&a,&b,&c);
printf("%lld\n",dp[a][b]*dp[b][c]%MOD*dp[c][a]%MOD);
return 0;
}
【Codeforces Round #439 (Div. 2) C】The Intriguing Obsession的更多相关文章
- 【Codeforces Round #439 (Div. 2) B】The Eternal Immortality
[链接] 链接 [题意] 求b!/a!的最后一位数字 [题解] b-a>=20的话 a+1..b之间肯定有因子2和因子5 答案一定是0 否则暴力就好 [错的次数] 在这里输入错的次数 [反思] ...
- 【Codeforces Round #439 (Div. 2) A】The Artful Expedient
[链接] 链接 [题意] [题解] 暴力 [错的次数] 在这里输入错的次数 [反思] 在这里输入反思 [代码] #include <bits/stdc++.h> using namespa ...
- 【Codeforces Round #432 (Div. 1) B】Arpa and a list of numbers
[链接]h在这里写链接 [题意] 定义bad list是一个非空的.最大公约数为1的序列.给定一个序列,有两种操作:花费x将一个元素删除.花费y将一个元素加1,问你将这个序列变为good list所需 ...
- 【Codeforces Round #420 (Div. 2) C】Okabe and Boxes
[题目链接]:http://codeforces.com/contest/821/problem/C [题意] 给你2*n个操作; 包括把1..n中的某一个数压入栈顶,以及把栈顶元素弹出; 保证压入和 ...
- 【Codeforces Round #420 (Div. 2) B】Okabe and Banana Trees
[题目链接]:http://codeforces.com/contest/821/problem/B [题意] 当(x,y)这个坐标中,x和y都为整数的时候; 这个坐标上会有x+y根香蕉; 然后给你一 ...
- 【Codeforces Round #420 (Div. 2) A】Okabe and Future Gadget Laboratory
[题目链接]:http://codeforces.com/contest/821/problem/A [题意] 给你一个n*n的数组; 然后问你,是不是每个位置(x,y); 都能找到一个同一行的元素q ...
- 【Codeforces Round #423 (Div. 2) C】String Reconstruction
[Link]:http://codeforces.com/contest/828/problem/C [Description] 让你猜一个字符串原来是什么; 你知道这个字符串的n个子串; 且知道第i ...
- 【Codeforces Round #423 (Div. 2) B】Black Square
[Link]:http://codeforces.com/contest/828/problem/B [Description] 给你一个n*m的格子; 里面包含B和W两种颜色的格子; 让你在这个格子 ...
- 【Codeforces Round #423 (Div. 2) A】Restaurant Tables
[Link]:http://codeforces.com/contest/828/problem/A [Description] 有n个组按照时间顺序来餐馆; 每个组由一个人或两个人组成; 每当有一个 ...
随机推荐
- C#学习第一课
C#和Java存在很多相似之处,但是也存在一些差异.今天下午刚去图书馆借了C#的入门书籍,进过简单的入门,我了解了几点不同之处: 1. Java中的基本数据类型只有8种,数据类型不存在无符号和有符号的 ...
- 最简单的基于FFmpeg的移动端例子:Android 视频转码器
http://blog.csdn.net/leixiaohua1020/article/details/47056365
- Linux 获取上个月的第一秒和上个月的最后一秒
因为写脚本需求须要获得上个月的第一秒和上个月的最后一秒,查阅了相关资料,并通过自己实践.找到了以下这样的方法能满足要求.在此备注,若有其它好的方法.请留言.本人将不胜感激. 获取上个月的第一秒: da ...
- Dcloud课程8 开心一刻应用如何实现
Dcloud课程8 开心一刻应用如何实现 一.总结 一句话总结:app就是远程调用接口获得数据,我们在后台要做的,就是写一个个让页面获得接口的数据.这里用的是公共笑话接口. 1.ajax返回给页面的h ...
- Multiple CPUs,Multiple Cores、Hyper-Threading
CPU Basics: Multiple CPUs, Cores, and Hyper-Threading Explained 现在多数的家用电脑,仍然使用的是 Single CPU,Multiple ...
- ubuntu14.04 printk()默认打印的位置
tail /var/log/syslog 即可显示printk打印的信息
- vue使用marked.js实现markdown转html并提取标题生成目录
html: <template> <div class="wrapper"> <div class="container"> ...
- CentOS 6 IPv6 关闭方法
http://www.linuxidc.com/Linux/2012-06/63642.htm http://blog.csdn.net/ccscu/article/details/7814028
- Android: 分页浏览的利器 android View Pager
最近有一个项目需求,水平滑动实现视图切换(分页显示效果) 最先想到的是ImageSwitcher + ViewFilpper 来实现,这效果做出来我自己都不想用,更不用说客户的感觉了:滑动效果生硬,只 ...
- vue 自定义modal 模态框组件
参数名 类型 说明 visible Boolean 是否显示,默认false title String 标题 update:visible Boolean 更新visible, 使用:visible. ...