[国家集训队]礼物 题目背景 一年一度的圣诞节快要来到了.每年的圣诞节小 E 都会收到许多礼物,当然他也会送出许多礼物.不同的人物在小 E 心目中的重要性不同,在小 E 心中分量越重的人,收到的礼物会越多. 题目描述 小 E 从商店中购买了 n n n 件礼物,打算送给 m m m 个人,其中送给第 i i i 个人礼物数量为 w i w_i wi​.请你帮忙计算出送礼物的方案数(两个方案被认为是不同的,当且仅当存在某个人在这两种方案中收到的礼物不同).由于方案数可能会很大,你只需要输出模 P…
题目描述 一年一度的圣诞节快要来到了.每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物.不同的人物在小E心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多.小E从商店中购买了n件礼物,打算送给m个人,其中送给第i个人礼物数量为wi.请你帮忙计算出送礼物的方案数(两个方案被认为是不同的,当且仅当存在某个人在这两种方案中收到的礼物不同).由于方案数可能会很大,你只需要输出模P后的结果. 输入输出格式 输入格式: 输入的第一行包含一个正整数P,表示模: 第二行包含两个整整数n和m,分…
LINK:礼物 n个物品 m个人 每个人要分得wi 个物品 每个物品互异 分给每个人的物品不分顺序 求方案数. \(n,p\leq 1e9 m\leq 5\) 方案数 那显然是 第一个人拿了w1件物品 方案为组合数 第二个人在第一个人之后拿 由于礼物不分顺序 所以这么做是正确的. 方案数显然为乘法原理 组合数 是一个1e9的 模数也是1e9的 卢卡斯定理肯定不行. 上扩展卢卡斯 考虑质因数分解p 最后采用中国剩余定理合并即可. 这个模型出过好多遍了 一定要会写. //#include<bits/…
好吧学长说是板子...学了之后才发现就是板子qwq 题意:求$ C_n^{w_1}*C_{n-w_1}^{w_2}*C_{n-w_1-w_2}^{w_3}*...\space mod \space P$ 当然,如果$\Sigma w_i >n$,则无解. (不会扩展卢卡斯?) #include<cstdio> #include<iostream> #define ll long long #define R register ll using namespace std; i…
[AHOI2012]树屋阶梯 题目描述 输入格式 一个正整数N( 1 ≤ N ≤ 500 1\le N \le 500 1≤N≤500),表示阶梯的高度. 输出格式 一个正整数,表示搭建方法的个数.(注:搭建方法的个数可能很大) 输入输出样例 样例输入1 3 样例输出1 5 说明/提示 40 % 40\% 40% 的数据: 1 ≤ N ≤ 20 1\le N \le 20 1≤N≤20 80 % 80\% 80% 的数据: 1 ≤ N ≤ 300 1\le N \le 300 1≤N≤300 1…
[HNOI2009]有趣的数列 题目描述 我们称一个长度为 2 n 2n 2n 的数列是有趣的,当且仅当该数列满足以下三个条件: 它是从 1 ∼ 2 n 1 \sim 2n 1∼2n 共 2 n 2n 2n 个整数的一个排列 { a n } n = 1 2 n \{a_n\}_{n=1}^{2n} {an​}n=12n​: 所有的奇数项满足 a 1 < a 3 < ⋯ < a 2 n − 1 a_1<a_3< \dots < a_{2n-1} a1​<a3​<…
题面 思路 根据二项式定理, 那么 算  需要用快速幂. 可以根据组合式的递推公式算组合数.我是这么写的. 或者是利用组合数的定义式,但是因为有取余, 所以要用逆元. 其中  为逆元, 这个可以直接用费马小定理, 正好前面写了快速幂, 岂不是美滋滋. Code #include <bits/stdc++.h> using namespace std; long long mod = 10007; int a, b, k, n, m; long long ans = 0; long long k…
鉴于大家都在找这些神牛的论文.我就转载了这篇论文合集 国家集训队论文分类 组合数学 计数与统计 2001 - 符文杰:<Pólya原理及其应用> 2003 - 许智磊:<浅谈补集转化思想在统计问题中的应用> 2007 - 周冬:<生成树的计数及其应用> 2008 - 陈瑜希<Pólya计数法的应用> 数位问题 2009 - 高逸涵<数位计数问题解法研究> 2009 - 刘聪<浅谈数位类统计问题> 动态统计 2004 - 薛矛:<…
[LG2183][国家集训队]礼物 题面 洛谷 题解 插曲:不知道为什么,一看到这个题目,我就想到了这个人... 如果不是有\(exLucas\),这题就是\(sb\)题... 首先,若\(\sum_{i=1}^mw_i>n\)就直接\(Impossible\)了 然后我们考虑怎么求方案,其实很简单啊... 就是 \[ ans=\prod_{i=1}^m(n-\sum_{j=1}^{i-1}w_j) \] 因为模数小,要用\(exLucas\) 代码 #include <iostream>…
[国家集训队]礼物(扩展Lucas定理) 传送门可以直接戳标题 172.40.23.20 24 .1 答案就是一个式子: \[ {n\choose \Sigma_{i=1}^m w}\times\prod_{i=1}^m {\Sigma_{j=1}^m w_j-\Sigma_{j=1}^{j< i}w_j\choose w_i} \] 解释一下这个式子怎么来的... 先从所有的礼物里面选出\(\Sigma w\)出来 每个人依次选,选择的方案就是从剩下的礼物中挑出\(w_i\)个 直接扩展Luc…