HDU:4535 吉哥系列故事——礼尚往来(数学:错排)
吉哥系列故事——礼尚往来
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 1365 Accepted Submission(s): 696
那个江湖人称“叽叽哥”的基哥
每当节日来临,女友众多的叽叽哥总是能从全国各地的女友那里收到各种礼物。
有礼物收到当然值得高兴,但回礼确是件麻烦的事!
无论多麻烦,总不好意思收礼而不回礼,那也不是叽叽哥的风格。
现在,即爱面子又抠门的叽叽哥想出了一个绝妙的好办法:他准备将各个女友送来的礼物合理分配,再回送不同女友,这样就不用再花钱买礼物了!
假设叽叽哥的n个女友每人送他一个礼物(每个人送的礼物都不相同),现在他需要合理安排,再回送每个女友一份礼物,重点是,回送的礼物不能是这个女友之前送他的那个礼物,不然,叽叽哥可就摊上事了,摊上大事了......
现在,叽叽哥想知道总共有多少种满足条件的回送礼物方案呢?
每组数据包含一个正整数n,表示叽叽哥的女友个数为n( 1 <= n <= 100 )。
每组输出占一行。
用错排做,错排是小学奥数的东西。。。
错排推倒:
甲,乙,丙,丁,戊,五个人各自分别制作了一份新年贺卡,然后各自送给这五个人中的一个而不是自己,且最
后谁都能得到贺卡,共有多少种送出的方法?
雪帆奥数王老师分析与提示:
这种题一般都采用树形图结合枚举处理。
枚举方法如下(为了方便起见,A对着1,B对着2,依次类推)
A对着2,3,4,5,种类是一样的,所以只要枚举其中一类,然后乘以4即可。
A-2 (A-3,4,5,这四种是对称的,只枚举一种情况,到时候乘以4即可)
B-1 B-3,4,5(这三种也是对称的,可以只枚举B-3,到时候乘以3即可)
C-4,5,×2 ) C-1 C-4 (C-5 , ×2)
D-5 D-5 D-5
E-3 E-4 E-1
所以方法为
【(1×2)+(1+1×2)×3】×4=44 种
但是人数较多怎么办呢?能不能找到一定的规律呢?
探讨方法如下:
先从1个人开始讨论,如果是一个人制作了一份新年贺卡,很显然只能是0种
如果是两个人,那么他们可以互相交换,1种方法,
如果是三个人,通过枚举,也只有2种方法,继续讨论递推关系
设n个不同元素分别标号1,2,3,……,n,要求它们分别被放入标号为1,2,3,……,n的位置上,一个位置
有且只有一个元素,且元素的标号与位置的标号不能相同,记其方法数为(排列与组合)错排问题
从中任取一个元素,不妨取1号元素,还剩n-1个元素,再从这n-1个元素对应的位置中选一个,共n-1种方法
假设选取的位置是2号位,以下分两种情况
第一种,1号元素放入2号位置且2号元素也放入1号位置,此时剩下n-2个元素继续错排,共(排列与组合)错排问题种方法
第二种,1号元素放入2号位置但2号元素不放入1号位置,既然2号元素不放入1号位置,不妨把2号元素看作1号元
素,于是等价于新的1号元素不放入1号位置(雪帆老师提示:好好理解这句话的意思),那么剩下n-1个元素继续错排,共(排列与组合)错排问题种方法
于是得到递推式(排列与组合)错排问题
(排列与组合)错排问题
所以,三个元素错排是(3-1)(0+1)=2(种)方法,四个元素错排是(4-1)(1+2)=9(种)方法,四个元素错排有
五个元素错排是(5-1)(2+9)=44(种)方法,……
错排递推公式
F(n)=(n-1)(F(n-1)+F(n-2)) F表示方法。F(n)表示n个物体错排的种类
#include <stdio.h>
#define mod 1000000007
long long a[101];//得用long long ,int过不了
void dabiao()
{a[1]=0;a[2]=1;for(int i=3;i<101;i++){a[i]=(i-1)*(a[i-1]+a[i-2])%mod;}
}
int main()
{int t;scanf("%d",&t);dabiao();while(t--){int n;scanf("%d",&n);printf("%lld\n",a[n]);}return 0;
}
HDU:4535 吉哥系列故事——礼尚往来(数学:错排)相关推荐
- HDU 4535 吉哥系列故事——礼尚往来
http://acm.hdu.edu.cn/showproblem.php?pid=4535 题目大意: 有n个妹纸没人送给吉哥一个礼物,他决定进行合理的分配,即将这些礼物送回去,就不用花钱买新礼物了 ...
- 杭电4535吉哥系列故事——礼尚往来
吉哥系列故事--礼尚往来 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Tot ...
- HDU 4513 吉哥系列故事――完美队形II(Manacher)
题目链接:[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher V - 吉哥系列故事――完美队形II 题意 吉哥又想出了一个新的完美队形游戏! 假设有n个人 ...
- HDU 4512 吉哥系列故事――完美队形I(最长公共上升子序列)
吉哥系列故事--完美队形I Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...
- HDU 4502 吉哥系列故事——临时工计划(动态规划)
吉哥系列故事--临时工计划 T ...
- HDU 4507 吉哥系列故事――恨7不成妻 数位DP
吉哥系列故事--恨7不成妻 Time Limit: 1000/500 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Tot ...
- 吉哥系列故事——礼尚往来(简单容斥问题)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4535 Description 吉哥还是那个吉哥 那个江湖人称"叽叽哥"的基哥 每当节日 ...
- HDU 4507 吉哥系列故事——恨7不成妻 详解(变态数位DP)
Problem Description 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: ...
- HDU - 4507 吉哥系列故事――恨7不成妻 (数位DP)
Description 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: 2+1+4=7 ...
最新文章
- 教你制作可以随身携带的FreeBSD系统[转]
- [整理] C#调用SQLDMO.DLL时间数据库备份 / 还原。 (香神无涯) // C#实现SQLSERVER2000数据库备份还原的两种方法 (带进度条)...
- java 鼠标拖动图形_java怎么实现鼠标在桌面拖动过程中 画 矩形的 功能?
- ImportError: cannot import name 'six' from 'django.utils'
- jquery报变量没定义错误的原因
- [转] oracle 数据库 SQL plus 连接方法
- 双三次插值(BiCubic插值)
- Office2016装Mathtype找不到WLL
- 【深度学习】Github 最受欢迎的深度学习项目 TOP 20
- 鹅厂流出两份Android Framework技术宝典火了,完整版 PDF 限时开放下载
- 山东 计算机专业,山东省内计算机专业大学排名?
- 采药问题 c语言程序,采药-题解(C语言代码)
- 浏览器获取mac地址_真香浏览器,时隔2个月终于又更新了!!!
- linux maskrom模式,微雪电子RK3308主板CC启动模式介绍
- 无法将值vmware-tray.exe写入注册表
- 2019年快来了,送给每位程序员一份新年计划清单
- SQL高级语句(一)
- 形式语义学-chapter 3 Attribute Grammars
- pandas数据上采样
- CMake Error at CMakeLists.txt:97 (ADD_TARGET_DEFINITIONS): Unknown CMake command ADD_TARGET_DEFIN
热门文章
- 5.物体的多边形表示
- shell内建命令--Linux
- 2022年中国互联网数据中心(IDC)行业产业链及市场现状分析(附国家绿色数据中心公示名单)[图]
- vue+elemnt ul 图片上传隐藏按钮+图片回显
- 四十二、Docker-虚拟化入门
- html表格怎么取消自动换行,css怎么控制表格不要自动换行?
- 计算机专业除了当码农,还有什么好的就业方向?
- 六、Hystrix详解三:Hystrix的健康监测
- 刚才发现微软拼音-简洁2010是目前比较适合程序员的输入法
- AI 加持实时互动|ZegoAvatar 面部表情随动技术解析