ACM学习历程—HDU2068 RPG的错排(组合数学)
Description
Input
Output
Sample Input
Sample Output
假设i个人在他本来位置,其余人错排的种数是f[i],那么题目要求的就是所有大于等于(n+1)/2的f[i]的和,n+1是为了对奇数偶数情况统一。
假设k个人错排是p[k],
那么就是n个人先取出i个人在自己位置C(n, i),其余人再错排p[n-i],然后控制i的范围就OK了。
这里需要注意的是由于题目没有模的情况,所以所有数可能会很大,所以在求p和c的时候最好是相邻项间递推。
代码:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <set>
#include <map>
#include <queue>
#include <string>
#include <algorithm>
#define LL long long using namespace std; int n;
LL p[], c[], ans; void init()
{
p[] = ;
p[] = ;
p[] = ;
for (int i = ; i < ; ++i)
p[i] = (i-)*(p[i-]+p[i-]);
} void cal()
{
c[] = ;
for (int i = ; i <= n; ++i)
c[i] = c[i-]*(n-i+)/i;
} void work()
{
ans = ;
int half = (n+)/;
for (int i = ; i+half <= n; ++i)
ans += c[i+half]*p[n-i-half];
printf("%I64d\n", ans);
} int main()
{
//freopen("test.in", "r", stdin);
init();
while (scanf("%d", &n) != EOF && n)
{
cal();
work();
}
return ;
}
ACM学习历程—HDU2068 RPG的错排(组合数学)的更多相关文章
- HDU2068 RPG的错排 —— 错排
题目链接:https://vjudge.net/problem/HDU-2068 RPG的错排 Time Limit: 1000/1000 MS (Java/Others) Memory Lim ...
- Hdu2068 RPG的错排 2017-06-27 15:27 30人阅读 评论(0) 收藏
RPG的错排 Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submis ...
- hdu2068 RPG的错排 错排+组合
RPG的错排 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- hdu2068 RPG的错排
RPG的错排 时间限制:1000/1000 MS(Java / Others)内存限制:32768/32768 K(Java / Others)总提交内容:16421接受的提交内容:6670 问题描述 ...
- HDU-2068 RPG的错排(组合, 错排)
RPG的错排 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- hdu2068 RPG的错排 组合数/递推
#include<stdio.h> ]; long long c(int a,int b) { ,j; ;i>=a-b+,j<=b;i--,j++) sum=sum*i/j; ...
- [HDU 2068] RPG的错排 (错排问题)
RPG的错排 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2068 题目大意: 有N个人对应N个名字,然后你去把每一个名字对应到每个人,只要求答对一半 ...
- ACM -- 算法小结(二)错排公式的应用
pala提出的问题: 十本不同的书放在书架上.现重新摆放,使每本书都不在原来放的位置.有几种摆法? 这个问题推广一下,就是错排问题: n个有序的元素应有n!种不同的排列.如若一个排列式的所有的元素都 ...
- HDU RPG的错排 【错排&&组合】
RPG的错排 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
随机推荐
- 笔记本中LVDS屏与eDP屏的比较
LVDS,即Low Voltage Differential Signaling,是一种低压差分信号技术接口.它是美国NS公司(美国国家半导体公司)为克服以TTL电平方式传输宽带高码率数据时功耗大.E ...
- js错误: Unexpected number in JSON at position 2792 value里面有双引号怎么解决
源头 出现这个报错提示,大家从错误就可以看的出来,这就是json的错误,一般来说都是json格式出现了错误,本人遇到比较多的情况就是json字符串里面出现了一些会影响json格式的符号,这次出现这个 ...
- java 表示当前时间的第二天的几点
Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); cal.add(Calendar.DAY_OF_YEAR, 1); ...
- 深入Asyncio(九)异步生成器
Async Generators:yield inside async def functions 如果在async def中使用yield会发生什么,答案就是生成一个异步生成器函数,如果有生成器.协 ...
- WCF配置心得
根据蒋金楠老师的博文所说的, WCF的终结点有三个要素组成,分别是地址(Address).绑定(Binding)和契约(Contract),简记可写成Endpoint = ABC. 地址:地址决定了服 ...
- 转载 ----MAC 上搭建lua
MAC 上搭建lua 其实mac上搭建lua环境,google上大把资料,我只是整合一下,因为小弟搭建的时候确实碰到一些问题. 下载和安装lua:(转自这里) 1. 下载最新版的lua-5.2. ...
- delphi视频聊天
用Delphi开发视频聊天软件 一.引言 我们知道视频聊天软件的关键技术在于采集视频,并实时传输给聊天软件在线的人.对于视频的采集,这里采用微软公司的关于数字视频的一个软件包VFW(Video for ...
- 【BZOJ3319】黑白树 并查集
[BZOJ3319]黑白树 Description 给定一棵树,边的颜色为黑或白,初始时全部为白色.维护两个操作:1.查询u到根路径上的第一条黑色边的标号.2.将u到v 路径上的所有边的颜色设为 ...
- Servlet单例模式(注意)
package com.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax ...
- SQL Server 中 GO 的用法(转)
本科里学了那么多年SQL Server一直看到书上各种SQL语句中间夹杂着那么几个看似毫无意义的GO,看着就让人莫名,问老师,老师一般只会告诉你,不要理他,这个东西没用的.但是个性纠结并且有轻微强迫症 ...