2729: [HNOI2012]排队
2729: [HNOI2012]排队
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 957 Solved: 449
[Submit][Status]
Description
Input
Output
Sample Input
Sample Output
HINT
Source
day1
题解:做完此题发现我还是摆脱不了逗比的本性——好好的高精度,结果输出时弄反了。。。呵呵呵。。。典型的对自己自信过头的后果
说思路吧:经典的插空思想,男生爱咋搞砸搞,于是N!,然后接下来轮到妹纸和Teacher,老师不在一起时,则很明显情况为m*C(n+1,1)*C(n+2,m-1)也就是m*(n+1)*C(n+2,m-1),在一起时就是C(n+3,m)*C(n+1,2),然后直接求和没了,高精度啥的是显然的。。。只求别在逗比TT
1 /************************************************************** 2 Problem: 2729 3 User: HansBug 4 Language: Pascal 5 Result: Accepted 6 Time:1920 ms 7 Memory:1008 kb 8 ****************************************************************/ 9 10 type 11 arr=array [0..100001] of longint; 12 var 13 i,j,k,l,m,n,a1,a2,a3,a4:longint; 14 a,b:arr; 15 procedure multy (var a:arr; b:longint);inline; 16 var 17 i:longint; 18 begin 19 for i:=1 to a[0] do a[i]:=a[i]*b; 20 i:=1; 21 while (i<=a[0])or(a[i]>0) do 22 begin 23 a[i+1]:=a[i+1]+a[i] div 10; 24 a[i]:=a[i] mod 10; 25 inc(i); 26 end; 27 dec(i); 28 a[0]:=i; 29 end; 30 31 procedure addty (var a,b:arr);inline; 32 var 33 i,k:longint; 34 begin 35 if a[0]>b[0] then k:=a[0] else k:=b[0]; 36 for i:=1 to k do 37 begin 38 a[i]:=a[i]+b[i]; 39 a[i+1]:=a[i+1]+a[i] div 10; 40 a[i]:=a[i] mod 10; 41 end; 42 if a[k+1]<>0 then inc(k); 43 a[0]:=k; 44 end; 45 46 begin 47 readln(n,m); 48 if (n=0)and(m=0) then begin writeln(0);halt; end; 49 fillchar(b,sizeof(b),0); 50 b[1]:=1; b[0]:=1; 51 multy(b,n+1); 52 multy(b,2); 53 multy(b,m); 54 for i:=n+2-m+2 to n+2 do multy(b,i); 55 a:=b; 56 fillchar(b,sizeof(b),0); 57 b[0]:=1; b[1]:=1; 58 multy(b,n+1); 59 multy(b,n); 60 for i:=n+4-m to n+3 do multy(b,i); 61 addty(a,b); 62 for i:=2 to n do multy(a,i); 63 for i:=a[0] downto 1 do write(a[i]); 64 writeln; 65 end.
转载于:https://www.cnblogs.com/HansBug/p/4282021.html
2729: [HNOI2012]排队相关推荐
- [bzoj2729][HNOI2012]排队 题解 (排列组合 高精)
Description 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不 ...
- [HNOI2012]排队
题目描述 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的) 输入输 ...
- P3223 [HNOI2012]排队(高中排列组合)
传送门 题意 nnn个男生,mmm个女生,222个老师排队 女生和女生不能相邻,老师和老师不能相邻,问方案数. 考虑到老师只有两个,所以可以对老师来讨论. Ⅰ.\color{Red}Ⅰ.Ⅰ.两只老师间 ...
- bzoj2729: [HNOI2012]排队
高精度+排列组合. 如果计算老师能挨在一起的情况 有 (n+2)! * A(n+3,m) 老师一定挨宰一起的情况 有 2*(n+1)!*A(n+2,m). 相减就是答案. #include<cs ...
- BZOJ2729 [HNOI2012]排队 【高精 + 组合数学】
题目链接 BZOJ2729 题解 高考数学题... 我们先把老师看做男生,女生插空站 如果两个老师相邻,我们把他们看做一个男生,女生插空站 对于\(n\)个男生\(m\)个女生的方案数: \[n!m! ...
- 数论三之排列组合Ⅱ——Virus Tree 2,RGB Coloring,123 Triangle,排列计数,排队,卡农
丝且人一口 Virus Tree 2 description solution code RGB Coloring description solution code 123 Triangle des ...
- # HNOI2012 ~ HNOI2018 题解
HNOI2012 题解 [HNOI2012]永无乡 Tag:线段树合并.启发式合并 联通块合并问题. 属于\(easy\)题,直接线段树合并 或 启发式合并即可. [HNOI2012]排队 Tag:组 ...
- 2019.4.summary
2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...
- 【青少年编程】【蓝桥杯】排队购票
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 我们将有关编程题目的教学视频已经发布到抖 ...
最新文章
- 每日一皮:一个项目开发的真实写照...
- pythonista3使用教程-pythonista3都能做什么
- 外挂学习之路(15)---lua语言的使用,
- liunx之Centos6.8杀毒软件的安装
- Source Insight上手教程
- javascript相等运算符与等同运算符(转自www.jqueryba.com)
- 10天智能锁项目实战第1天(了解单片机STM32F401RET6和C语言基础)
- [Jsoi2010]连通数
- hdu 1754 I hate it (线段树)
- 微信小程序 手写签名_【微信小程序canvas】实现小程序手写板用户签名(附代码)...
- 记录Elastic Job服务处于下线状态排查
- 流量卡之家:5G手机价格没那么“邪性” 门槛降低一半
- Cisco Encrypted Traffic Analysis(ETA)
- 毕业设计 stm32车牌识别系统设计与实现 - 单片机 嵌入式
- 中国大学mooc慕课python答案_中国大学mooc慕课_Python游戏开发入门_章节测试答案...
- matlab 判断矩阵是否正定
- 雷达干扰技术(二)数字干扰合成及相关技术
- No converter for [class com.defei.sms.result.Result] with preset Content-Type ‘null‘
- 分享一个挺不错的Git视频教程
- 微信公众号用什么软件编辑?
热门文章
- 铃儿响叮当用计算机怎么弹,铃儿响叮当钢琴弹奏教学视频
- 领导让我重写测试代码,我该怎么办?
- python运维案例开发_python运维开发之第六天
- java语言程序设计期中考试_《java语言程序设计》期中试卷(答案).doc
- linux打印显示etc中的文件,Linux命令之文件内容查看(cat、tac、nl、more、less、head、tail)...
- oracle占位符怎么打,PL/SQL Challenge 每日一题:2018-7-11 动态SQL中的占位符
- redis 公网 安全_redis配置之安全配置
- 小米温控配置不见了_小米11值得买吗?目前看来功耗很高啊?
- linux文件自动改名,C#如何在生成文件夹或者文件时候自动重命名
- Docker组队学习(三)