Luogu P3223 [HNOI2012]排队 组合
2024-10-21 13:13:35
本来做了一道 P4901 排队 后来发现自己做错题了。。。到也都是数学qwq
这题最恶心的就是两只(雾)老师。
那我们分类讨论:
1.两个老师之间是男生:
$ A(n,n)*A(n+1,2)*A(n+3,m) $
首先男生有$ A(n,n)=n! $种排列方式;然后有$ n+1$ 个空隙(加上开头和结尾)可以放老师,所以老师是$ A(n+1,2)=(n+1)!/(n+1-2)!=(n+1)*n$;然后有$ n+3$ 个空隙(加上开头和结尾)可以放女生,所以女生是$ A(n+3,m)=\frac{(n+3)!}{(n+3-m)!}$
2.两个老师之间是女生(相当于捆绑):
$A(n,n)*A(2,2)*m*A(n+1,1)*A(n+2,m-1)$
首先男生有$ A(n,n)=n! $种排列方式;老师按先后分有$A(2,2)=2$种排列;然后女生中任取$1$个有$m$种;然后有$ n+1$ 个空隙(加上开头和结尾)可以放 老师+女生+老师(捆绑),所以 老师+女生+老师一个整体的位置 是$ A(n+1,1)=(n+1)!$;然后有$ n+2$ 个空隙(加上开头和结尾,并且 老师+女生+老师 看作一个整体)可以放$m-1$女生,所以女生是$ A(n+2,m-1)=\frac{(n+2)!}{(n+3-m)!}$
所以原式:$A(n,n)*A(n+1,2)*A(n+3,m)+A(n,n)*A(2,2)*m*A(n+1,1)*A(n+2,m-1)$
化简可得:$\frac{(n+1)!*(n+2)*(n^2+3*n+2*m)}{(n+3-m)!}$
然后自己死在了scanf上:少写了一个%d...fk
#include<cstdio>
#include<iostream>
#define R register int
using namespace std;
const long long B=10000000000ll;
int n,m,sz=;
long long ans[];
inline void mul(int x) { R tmp=;
for(R i=;i<=sz;++i) ans[i]*=x,ans[i]+=tmp,tmp=ans[i]/B,ans[i]%=B;
if(tmp) ++sz,ans[sz]=tmp;
}
signed main() {
scanf("%d%d",&n,&m); ans[]=;
for(R i=;i<=n+;++i) mul(i); mul(n*(n+)+*m);
for(R i=n-m+;i<=n+;++i) mul(i); //cout<<sz<<endl;
printf("%lld",ans[sz]); for(R i=sz-;i;--i) printf("%010lld",ans[i]); putchar('\n');
}
2019.05.17
最新文章
- PHP 使用分页方法修改多数据字段
- android使用微软雅黑字体
- java基础(59):Eclipse把自动括号匹配改成C++那样的(强迫症,没办法)
- 【数据结构】非常有用的hash表
- C# 8 函数 调用 常用类 时间 日期型
- 【Android Developers Training】 89. 最大化的使用谷歌云消息(Google Cloud Messaging)
- IDL 指针
- 在SQL中用正则表达式替换html标签(2)
- 【CSA49G】【XSY3315】jump DP
- SqlSugar GridView aspnetpager 分页排序
- vue-resource+element upload上传(遇到formData总是变为object格式)
- Docker 最佳入门
- 阿里云搭建JAVA WEB环境(SQL Server + TomCat + 配置域名)
- Writing DynamicTableEntity to Azure Storage Table
- sklearn的K折交叉验证函数KFold使用
- windows 下 wamp php单元测试工具PHPUnit的安装
- CM (Cloudera Manager) 的安装,便于CDH的离线部署
- 20172319 2018.10.12《Java程序设计教程》第6周课堂实践(补写博客)
- 每日英语:South India&#39;s Streetside Coffee Culture
- C# 调用人脸识别 虹软ArcFace2.0实例
热门文章
- BZOJ5442: [Ceoi2018]Global warming
- [BZOJ1396&;2865]识别子串
- CH#56C 异象石 和 BZOJ3991 [SDOI2015]寻宝游戏
- 谁是Docker的开发者
- 让开发更简单 —— Coding Enterprise 发布
- Entity Framework Code-First(1):Introduction
- Servlet的一些细节
- Object.prototype.toString.call(arg)详解
- 浅析C#中的事件
- SuperSocket使用自定义协议与服务端通信发送实例