[dp] Jzoj P5870 地图

news/2024/11/30 14:25:49/

Description

Input

Output

Sample Input

4
2 1 1 2

Sample Output

2

Data Constraint

 

 

题解

  • 设f[i][j]为剩下i个1,j个2的地图数量
  • 如果2号用了一条边就是1号点了
  • 根据情况dp

代码

 1 #include <cstdio>
 2 using namespace std;
 3 int n,num[3],f[2010][2010],mo=998244353;
 4 int main()
 5 {
 6     freopen("map.in","r",stdin);freopen("map.out","w",stdout);
 7     scanf("%d",&n);
 8     for (int x,i=1;i<=n;i++) scanf("%d",&x),num[x]++;
 9     f[0][0]=1;
10     for (int i=0;i<=n;i++)
11         for (int x=i;x>=0;x--)
12         {    
13             int y=i-x;
14             if (x>=1&&y==0) (f[x+1][y]+=1ll*f[x-1][y]*x%mo)%=mo;
15             if (x>=2) (f[x][y+1]+=1ll*f[x-2][y]*((1ll*x*(x-1)/2)%mo)%mo)%=mo;
16             if (y>=2) (f[x][y+1]+=1ll*f[x+2][y-2]*((1ll*y*(y-1)/2)%mo)%mo)%=mo;
17             if (i*x) (f[x][y+1]+=1ll*f[x][y-1]*x%mo*y%mo)%=mo;
18         }
19     printf("%d",f[num[1]][num[2]]);
20 }

 

转载于:https://www.cnblogs.com/Comfortable/p/9688483.html


http://www.ppmy.cn/news/264154.html

相关文章

HDU5870 Alice's Adventure in Wonderland

大概做法是这样的 考虑最朴素的做法&#xff0c;预处理出1到所有点的最短路数组dis1和方案数数组cnt1&#xff0c;和预处理出n到所有点的最短路数组dis2和方案数数组出cnt2,然后暴力枚举点对(A,B),如果A和B之间没有连边&#xff0c;那么就可以考虑添加一条正权边&#xff0c;满…

【JZOJ5870】地图

Description 给定N个度数为1或2的点&#xff0c;求所有带标号简单无向图&#xff08;无重边和自环&#xff09;的方案数。 Solution 设度数为2的点有 n n n个&#xff0c;度数为1的有 m m m个。 因为只有1和2&#xff0c;所以图一定是由许多链和大小大于等于3的简单环构成的…

RDA5870调试

时间&#xff1a;20100506 现象&#xff1a;我司准备在MTK6253上换蓝牙芯片为RDA5870. 调试过程&#xff1a; 1、首先将RDA5870给的相关代码放到我们自己的工程中&#xff0c;编译通过。但是在添加的时候要注意用相关的宏名控制。 首先在工程文件中添加&#xff1a; RDA_BLUETO…

mysqldump 逻辑备份的正确姿势

在上一篇文章 MySQL 命令行工具之 mysqldump 深入研究 中&#xff0c;我们搞定了mysqldump的参数和基本原理。那么我们该怎么样最好的使用它的&#xff1f;它有哪些坑呢&#xff1f; 1. 利用mysqldump进行逻辑备份 1&#xff09;全逻辑备份&#xff1a; mysqldump -uxxx -p --f…

AMD OpenCL 大学课程

AMD OpenCL大学课程是非常好的入门级OpenCL教程&#xff0c;通过看教程中的PPT&#xff0c;我们能够很快的了解OpenCL机制以及编程方法。下载地址&#xff1a;http://developer.amd.com/zones/OpenCLZone/universities/Pages/default.aspx 教程中的英文很简单&#xff0c;我相信…

【Linux】软硬链接

文章目录 制作软硬链接&#xff0c;对比差别提出软硬链接的应用场景总结 制作软硬链接&#xff0c;对比差别 制作软链接 1.先创建一个文件&#xff0c;并向其中写入内容&#xff1a; 2.建立软链接&#xff1a;ln -s myfile.txt my-soft 可以发现&#xff0c;软链接是一个独…

tp703n怎么做无线打印服务器,TP-Link TL-WR703N无线路由器无线AP模式怎么设置

TP-Link TL-WR703N无线路由器配置简单&#xff0c;不过对于没有网络基础的用户来说&#xff0c;完成路由器的安装和无线AP模式的设置&#xff0c;仍然有一定的困难&#xff0c;本文学习啦小编主要介绍TP-Link TL-WR703N无线路由器无线AP模式的设置方法! TP-Link TL-WR703N无线路…

TP-Link 886nV6 刷第三方系统回忆

886nV6刷第三方系统 886n普遍只有8m的闪存&#xff0c;刷不了大的第三方系统。因为手头没有闪存就没换&#xff0c;OpenWRT成了优先级最高的系统。相关的刷机教程可去相关论坛查看。 本人在tb购买CH341A编程器使用sop8夹具&#xff0c;夹住flash的引脚进行烧录。 刷机坑的提醒…