传送门

题意

给出三个集合,每个集合的元素数量为a,b,c,现在需要连边,满足集合内元素不可达或最短路为3,求可行方案数

分析

设dp[i][j]为a集合元素为i个,b集合元素为j个的可行方案,易知(a,b),(b,c),(c,a)的方案是独立的,且可行方案为a->b->c,或旋转形式,那么就求一个两个集合的连边方案数即可。
转移方程 dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*j;

trick

代码

#include <bits/stdc++.h>
using namespace std;#define ll long long
#define F(i,a,b) for(int i=a;i<=b;++i)
#define R(i,a,b) for(int i=a;i<b;++i)
#define mem(a,b) memset(a,b,sizeof(a))const ll mod = 998244353;
ll a,b,c;
ll dp[5050][5050];
int main()
{cin>>a>>b>>c;F(i,0,5000) dp[i][0]=dp[0][i]=1;F(i,1,5000)F(j,1,5000) dp[i][j]=(dp[i-1][j]+dp[i-1][j-1]*j%mod)%mod;ll ans=1;ans=ans*dp[a][b]%mod*dp[b][c]%mod*dp[c][a]%mod;cout<<ans<<endl; return 0;
}

转载于:https://www.cnblogs.com/chendl111/p/7634323.html

Codeforces Round #439 (Div. 2)C - The Intriguing Obsession(简单dp)相关推荐

  1. Codeforces Round #439 (Div. 2) C.The Intriguing Obsession(组合数、记忆化搜索)

    题意: 给出a个红色点,b个蓝色点,c个紫色点,我们可以在这些点之间连任意数量长度为1的边,但是限制同颜色的点之间不能连边且同颜色的点之间的最短路径至少为3,求方案数% 998244353, a,b, ...

  2. Codeforces Round #246 (Div. 2) D. Prefixes and Suffixes kmp + dp

    传送门 文章目录 题意: 思路: 题意: 思路: 通过完美子串的定义,我们不难发现满足条件的子串就是kmpkmpkmp中ne[n]ne[n]ne[n]不断向前跳得到的串,现在问题就是如何求这些前缀串在 ...

  3. Codeforces Round #595 (Div. 3) F. Maximum Weight Subset 树形dp

    传送门 文章目录 题意: 思路: 题意: n≤200n\le200n≤200 思路: 明显的树形dpdpdp,所以考虑一下dpdpdp状态. 这个题状态挺神的..可能是因为我太菜了,看了半天才看懂. ...

  4. Codeforces Round #674 (Div. 3) F. Number of Subsequences 简单计数dp

    传送门 文章目录 题意: 思路: 题意: 给你一个长度为nnn的串,包含a,b,c,?a,b,c,?a,b,c,?四种字符,其中???可以变成为a,b,ca,b,ca,b,c的任意一种,让你求abca ...

  5. Codeforces Round #620 (Div. 2) F2. Animal Observation (hard version) dp + 线段树

    传送门 文章目录 题意: 思路: 题意: 比如下面这个图: 思路: 对于这个题,比较容易就能考虑到dpdpdp,设f[i][j]f[i][j]f[i][j]为到了第iii行,覆盖了[j,j+k−1][ ...

  6. Codeforces Round #439 (Div. 2) E. The Untended Antiquity 二维线段树||二维树状数组

    http://codeforces.com/contest/869/problem/E 题意:n*m的矩阵,q次操作,三种类型 类型1:给指定矩阵加上围栏 类型2:给指定矩阵去掉围栏 类型3:查询两点 ...

  7. Codeforces Round #439 (Div. 2) Problem C (Codeforces 869C) - 组合数学

    - This is not playing but duty as allies of justice, Nii-chan! - Not allies but justice itself, Onii ...

  8. Codeforces Round #439 (Div. 2)

    一句话题意: A:传送门 题意:给定两个长为\(n\)的数组\(a\),\(b\),令\(ans=\)有序对\((i,j)\)的个数使得\(a_i\ xor\ b_j\)在这\(2n\)个数中出现过, ...

  9. Codeforces Round #439 (Div. 2) E. The Untended Antiquity (hash+数状数组)

    这个题,做出来的人很多,我感觉是数据不够强,我看了很多人的代码直接暴力也能过了,直接暴力如果数据够强的话肯定是时间超限,边缘数据不够强.如果和上次一样估计很多人的E会GG.我看到一位OIdalao的代 ...

最新文章

  1. 2016-2017-2软件工程课程总结
  2. 让你的 IDEA 好用到飞起来的配置
  3. 机器学习模型部署都有哪些坑?剑桥研究者梳理了99篇相关研究
  4. C Primer Plus 第6章 C控制语句:循环 6.9 选择哪种循环
  5. 《Scala By Examples》第6章 类和对象
  6. Linux进程状态如何切换,Linux系统如何切换前台进程和后台进程(2)
  7. 标杆徐2018 Linux自动化运维实战,标杆徐2018 Linux自动化运维系列⑦: SaltStack自动化配置管理实战...
  8. @计算机专业大学生,毕业后如何明确自己的职业方向,该走那条路?
  9. ASP.NET 4.0 来了
  10. IO流 (五) ----- 对象数据的序列化与反序列化
  11. 小白Linux入门之:常用命令介绍
  12. (百看不如一练系列)整理的40个前端练手项目|||实践出真知
  13. 软件系统的沙盘测试是什么东西,沙盘(一款安全软件)_百度百科
  14. 塑料颗粒行业调研报告 - 市场现状分析与发展前景预测
  15. 织梦php调用模型,织梦dede新建模型中自定义联动类别调用
  16. 如何制作笔记本操作系统恢复盘
  17. 全球及中国电化学研磨设备行业盈利模式与竞争态势分析报告2022-2028年
  18. python编写sql注入工具毕业设计_Python编写SQL注入工具(2)
  19. 【程序】Marvell 88W8801 WiFi模块连接路由器,并使用lwip2.0.3建立http服务器(20180807版)
  20. 模型训练之决策树、随机森林、提升树

热门文章

  1. mt4量化交易接口:分享日常量化选股方法
  2. 广成子:值得收藏-史上最全Linux ps命令详解
  3. HTML5在线摄像头应用
  4. 微信支付 SDK 惊现重大漏洞:黑客可 0 元购买任意商品
  5. 真实骑手数据:73万大学毕业生在送外卖
  6. Android全面屏最大纵横比适配
  7. Verilog中{}的应用
  8. 输出100以内不能被7整除的数
  9. Android App开发动画特效中帧动画和电影淡入淡出动画的讲解及实战(附源码和演示视频 简单易懂)
  10. 文件服务器 协同编辑,在 Office 365 中协同共享一同编辑文件