GMA Round 1 新年祝福
新年祝福
15个人聚集在一起,新年到来,他们每个人写下了一句新年祝福。大家把祝福收集起来,然后重新分回去。如果一个人拿到了自己写的祝福,他就会觉得很没有意思,因为得不到别人的祝福。要避免这种尴尬,一共会有多少种分配方案?
一句话题意:求满足下列条件的n的排列个数:对于任意i(1≤i≤n),排列的第i个数不是i。本题中n=15。
例如n=3时,满足条件的排列有2个:312和231
设答案数列为$a_n$,容易知道$a_0=1$,$a_1=0$,下面我们证明$a_n=(n-1)(a_{n-1}+a_{n-2})$,利用这个式子就可以很容易算出$a_{15}$
我们用这样一个角度看待n的一个排列:对于排列的第i个数$b_i$,我们连从i向$b_i$一条边,最后会得到一些环。例如2143对应两个环:1->2->1和3->4->3,长度均为2。31245对应3个环:1->3->2->1,4和5,长度分别为3、1、1。
一个符合条件的完全错位的排列不能有长度为1的环。要统计n时的所有合法排列,我们可以把它们分成两类:n所在环长度为2和n所在环大于2。第一类我们可以枚举与n在同一个环上的数字,一共有n-1种可能,此后剩下的n-2个数字可以独立考虑,方案数为$a_{n-2}$,所以是$(n-1)*a_{n-2}$。第二类在删除掉n这个数以后仍然是合法排列,可以在n-1的所有排列上任意位置插入一个n来得到,共有n-1种插入位置,所以是$(n-1)*a_{n-1}$。因此$a_{n}=(n-1)(a_{n-1}+a_{n-2})。$
定位:中等题、思维题
GMA Round 1 新年祝福的更多相关文章
- GMA Round 1 新年的复数
传送门 新年的复数 已知$\left\{\begin{matrix}A>B>0\\ AB=1\\ (A+B)(A-B)=2\sqrt{3}\end{matrix}\right.$ 求$(A ...
- GMA Round 1
学弟说我好久没更blog了. 因为自己最近其实没干什么. 所以来搬运一下GMA Round 1 的比赛内容吧,blog访问量.网站流量一举两得. 链接:https://enceladus.cf/con ...
- GMA Round 1 大吉大利,晚上吃鸡
传送门 大吉大利,晚上吃鸡 新年走亲访友能干点啥呢,咱开黑吃鸡吧. 这里有32个人,每个人都可能想玩或者不想玩,这样子一共有$2^{32}$种可能.而要开黑当然得4人4人组一队(四人模式),所以说如果 ...
- GMA Round 1 YGGDRASIL
传送门 YGGDRASIL 在YGGDRASIL世界,一年有213天. Demiurge推广种植了一种植物,姑且称之为“黄金果”,它第一期生长需要140天,此后第i期生长需要的天数$a_i$满足$a_ ...
- canvas动画效果新年祝福话语
html代码 <ul id="ul"></ul> css代码 * { margin:; padding:; } ul { list-style: none; ...
- GMA Round 1 数列与方程
传送门 数列与方程 首项为1,各项均大于0的数列{$a_n$}的前n项和$S_n$满足对于任意正整数n:$S_{n+1}^2-2*S_{n+1}*S_{n}-\sqrt{2}*S_n-1=0$,求$a ...
- GMA Round 1 离心率
传送门 离心率 P是椭圆$\frac{x^2}{a^2}+\frac{y^2}{b^2}=1$上一点,F1.F2为椭圆左右焦点.△PF1F2内心为M,直线PM与x轴相交于点N,NF1:NF2=4:3. ...
- GMA Round 1 波动函数
传送门 波动函数 f(x)是一个定义在R上的偶函数,f(x)=f(2-x),当$x\in[-1,1]$时,f(x)=cos(x),则函数$g(x)=f(x)-|cos(\pi x)|$,求g(x)在[ ...
- GMA Round 1 空降
传送门 空降 在一块100m*100m的平地上,10位战士从天而降!他们每人会均匀随机地落在这个地图上的一个点. 紧随其后,BOSS随机出现在这个地图上的某一点,然后它会奔向位于左上角的出口,而战士们 ...
随机推荐
- .Net Core下发送WebRequest请求的两种方式
1.使用RestSharp.NetCore 2.使用WebApi请求方式
- 【转】Crosswalk入门
原文:https://www.mobibrw.com/2015/1934 Crosswalk是一款开源的web引擎.目前Crosswalk正式支持的移动操作系统包括Android和Tizen,在And ...
- JSP基础知识➣Cookie和Session(五)
JSP Cookie 处理 Cookie是存储在客户机的文本文件,它们保存了大量轨迹信息.在servlet技术基础上,JSP显然能够提供对HTTP cookie的支持.JSP脚本通过request对象 ...
- weex用阿里矢量图
首先这段代码来自 zwwill在github上的 weex网易严选项目 他是在utils下封装了一个方法 let utilFunc = { initIconFont () { let domModul ...
- python全栈开发day65-templates:tags、母版和继承、组件、静态文件相关、simple_tag和inclusion_tag
一.昨日内容回顾 1.MVC和MTV框架 MVC: model 模型 存写数据 view 视图 给用户展示页面 control 控制器 负责调度 传递指令 MTV: M:model 模型 OR ...
- LVM实现逻辑卷镜像
本文系统 CentOS 6.5 x64 LVM的镜像功能,有点儿类似于Raid1,即多块儿磁盘互相同步,确保资料不会丢失. 1.在此添加4块物理硬盘,每块2G空间 2.将sdb.sdc.sdd.sde ...
- Vue2.0学习——axios用法详解
功能特性 在浏览器中发送 XMLHttpRequests 请求 在 node.js 中发送 http请求 支持 Promise API 拦截请求和响应 转换请求和响应数据 自动转换 JSON 数据 客 ...
- Java 异常处理的重要认识
异常类的继承结构 Exception : 一般标识的是程序中出现的问题,可以直接使用try---catch处理. Error : 一般值得是JVM错误,程序中无法处理. 检测异常类需要在throws后 ...
- Java实现简单计算器、抽票程序
计算器: import java.awt.BorderLayout; import java.awt.Container; import java.awt.Font; import java.awt. ...
- Mysql漂流系列(一):MySQL的执行流程
MySQL的执行流程 MySQL的执行流程: MySQL的执行流程分析: 1.当我们请求mysql服务器的时候,MySQL前端会有一个监听,请求到了之后,服务器得到相关的SQL语句,执行之前(虚线部分 ...