首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
组合数学起步-排队[HNOI2012][BZOJ2729]
】的更多相关文章
组合数学起步-排队[HNOI2012][BZOJ2729]
<题面> 这个题十分基础 写这个博客给自己看的呵呵 遇到这个题,一看就是组合数学, so,开始推公式, 刚开始想的是,先排男生,再排女生,最后排老师 推了一会,呃呃呃,情况复杂,考虑的好像有点多.//蒟蒻心态 然后换了一个思路, 先排男生,再排老师,最后排女生 想了下,就决定用减法. 先把老师和男生混好,然后把女生插空 这样就会有一种非法情况,老师相连,而且只有一种 这样就可以把两个老师绑成一个整体,再按上述操作进行 就会有一个式子: $A \binom{n+2}{n+2} \times A…
组合数学起步-排列计数[ZJOI2010][BZOJ2111]
<题面> 数据范围:$1 \leq N \leq 10^6, P \leq 10^9 $ 这个题…… 以为是排列,其实是组合 题目中说是从所有排列中找到Magic的,就是 $p_{i/2} \leq p_i$ 满足的情况 我拿着排列想了半天,发现 这个题和排列一点关系也没有 而且我打了几个表,看了下可行结果,也不能逆向求 后来是一个提示:用堆,dp 堆啊…… 我扯了一会大根堆,发现堆的形态有不确定性,dp起来费力耗时 所以就是小根堆了:小根堆的形态不变,只要找填数的方案, 那么这里如何做呢?…
【bzoj2729】[HNOI2012]排队 组合数学+高精度
题目描述 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的) 输入 只有一行且为用空格隔开的两个非负整数 n 和 m,其含义如上所述. 对于 30%的数据 n≤100,m≤100 对于 100%的数据 n≤2000,m≤2000 输出 输出文件 output.txt 仅包含一个非负整数,表示不同的排法个数.注意答案可能很大. 样例输入 1 1 样例输出 12 题解…
[BZOJ2729]:[HNOI2012]排队(组合数学)
题目传送门 题目描述 某中学有n名男同学,m名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的) 输入格式 只有一行且为用空格隔开的两个非负整数n和m,其含义如上所述. 输出格式 输出文件output.txt仅包含一个非负整数,表示不同的排法个数.注意答案可能很大. 数据范围与提示 对于30%的数据:n≤100,m≤100对于100%的数据:n≤2000,m≤2000 题解 一道组合数学的入门题…
BZOJ2729:[HNOI2012]排队(组合数学)
Description 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的) Input 只有一行且为用空格隔开的两个非负整数 n 和 m,其含义如上所述. 对于 30%的数据 n≤100,m≤100 对于 100%的数据 n≤2000,m≤2000 Output 输出文件 output.txt 仅包含一个非负整数,表示不同的排法个数.注意答案可能很大.…
BZOJ2729 [HNOI2012]排队 【高精 + 组合数学】
题目链接 BZOJ2729 题解 高考数学题... 我们先把老师看做男生,女生插空站 如果两个老师相邻,我们把他们看做一个男生,女生插空站 对于\(n\)个男生\(m\)个女生的方案数: \[n!m!{n + 1 \choose m}\] 还要特判一下没有男生女生的情况 然后高精即可 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cm…
【BZOJ2729】【HNOI2012】排队(组合数学)
不想弄题面了... 题解 做这道题目我真的好蠢... 好容易的数学题目 很明显自己写高精度吧...(不解释了) 剩下的如何计算. 要有两类情况 ①老师之间有男生 那么,这种情况下,直接插空就行了 先把M个女生插进去A(m,n+1) 再把2个老师插进去A(2,n+m+1) ②老师之间只有一个女生 先选出一个女生,放在老师之间A(1,m) 再把剩下的女生插进男生中A(m-1,n+1) 最后把老师和女生看成整体放进去A(1,m+n) 因为老师之间位置可以互换,还有乘2 最后两类直接相加即可 #incl…
BZOJ2729 HNOI2012排队(组合数学+高精度)
组合入门题.高精度入门题. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int read() { ,f=;char c=getchar(); ;c=getchar();} )+(x<<)+(c^),c=getch…
【BZOJ2729】[HNOI2012]排队 组合数
[BZOJ2729][HNOI2012]排队 Description 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的) Input 只有一行且为用空格隔开的两个非负整数 n 和 m,其含义如上所述. 对于 30%的数据 n≤100,m≤100 对于 100%的数据 n≤2000,m≤2000 Output 输出文件 output.txt 仅包含一个非负整数,表示不…
bzoj2729 [HNOI2012]排队
组合数学,推一下式子,并不难推. java代码 import java.io.*; import java.math.BigInteger; import java.util.*; public class Main { public static void main(String args[]) throws Exception { Scanner cin=new Scanner(System.in); int n=cin.nextInt();int m=cin.nextInt(); BigI…