当前位置: 首页 > news >正文

网站制作 商城关键词app下载

网站制作 商城,关键词app下载,网站关键词设置代码,平面设计类网站题目链接 题目大意 有 n n n ( 1 ≤ n ≤ 20 ) (1\leq n \leq 20) (1≤n≤20) 个花瓶,第 i i i 个花瓶里有 f i f_i fi​ ( 1 ≤ f i ≤ 1 0 12 ) (1\leq f_i \leq 10^{12}) (1≤fi​≤1012) 朵花。现在要选择 s s s ( 1 ≤ s ≤ 1 0 14 ) (1\leq s \leq 1…

题目链接

题目大意

n n n ( 1 ≤ n ≤ 20 ) (1\leq n \leq 20) (1n20) 个花瓶,第 i i i 个花瓶里有 f i f_i fi ( 1 ≤ f i ≤ 1 0 12 ) (1\leq f_i \leq 10^{12}) (1fi1012) 朵花。现在要选择 s s s ( 1 ≤ s ≤ 1 0 14 ) (1\leq s \leq 10^{14}) (1s1014)朵花。

求出有多少种方案。两种方案不同当且仅当两种方案中至少有一个花瓶选择花的数量不同,答案对 1 0 9 + 7 10^9+7 109+7 取模。

思路

取第 i i i 种花的生成函数可以表示为 : f i ( x ) = f_i(x)= fi(x)= 1 + x + x 2 + x 3 + ⋅ ⋅ ⋅ x f i 1+x+x^2+x^3+ \cdot \cdot \cdot x^{f_i} 1+x+x2+x3+xfi.

则选取方案的生成函数可以表示为 : G ( x ) = G(x)= G(x)= f 1 ( x ) ⋅ f 2 ( x ) ⋅ ⋅ ⋅ f n ( x ) = f_1(x) \cdot f_2(x) \cdot \cdot \cdot f_n(x) = f1(x)f2(x)fn(x)= ( 1 − x f 1 + 1 ) ( 1 − x f 2 + 1 ) ( 1 − x f 3 + 1 ) ⋅ ⋅ ⋅ ( 1 − x f n + 1 ) ( 1 − x ) n \frac {(1-x^{f_1+1})(1-x^{f_2+1})(1-x^{f_3+1}) \cdot \cdot \cdot (1-x^{f_n+1})} {(1-x)^n} (1x)n(1xf1+1)(1xf2+1)(1xf3+1)⋅⋅⋅(1xfn+1) = = = ∏ i = 1 n ( 1 − x f i + 1 ) ( 1 − x ) n \frac {\prod_{i=1}^{n}(1-x^{f_i+1})}{(1-x)^{n}} (1x)ni=1n(1xfi+1) = = = ∏ i = 1 n ( 1 − x f i + 1 ) \prod_{i=1}^{n}(1-x^{f_i+1}) i=1n(1xfi+1) ⋅ \cdot ∑ i = 0 ∞ \sum_{i=0}^\infty i=0 ( i + n − 1 i ) {i+n-1\choose i} (ii+n1) x i x_i xi = = = ∏ i = 1 n ( 1 − x f i + 1 ) \prod_{i=1}^{n}(1-x^{f_i+1}) i=1n(1xfi+1) ⋅ \cdot ∑ i = 0 ∞ \sum_{i=0}^\infty i=0 ( i + n − 1 n − 1 ) {i+n-1\choose n-1} (n1i+n1) x i x_i xi .

[ x s ] G ( x ) [x^s]G(x) [xs]G(x)即为所求的答案。

A ( x ) = ∏ i = 1 n ( 1 − x f i + 1 ) A(x)=\prod_{i=1}^{n}(1-x^{f_i+1}) A(x)=i=1n(1xfi+1), B ( x ) = ∑ i = 0 ∞ B(x)=\sum_{i=0}^\infty B(x)=i=0 ( i + n − 1 n − 1 ) x i {i+n-1\choose n-1} x_i (n1i+n1)xi.

由于 n ≤ 20 n\leq20 n20 , 所以 A ( x ) A(x) A(x) 最多只有 2 20 2^{20} 220 项,可以直接枚举,即 a n s = [ x s ] G ( x ) = ∑ i = 0 2 n [ x i ] A ( x ) ⋅ [ x s − i ] B ( x ) = ans=[x^s]G(x)=\sum_{i=0}^{2^n}[x^i]A(x) \cdot [x^{s-i}]B(x)= ans=[xs]G(x)=i=02n[xi]A(x)[xsi]B(x)= ∑ i = 0 2 n [ x i ] A ( x ) ⋅ ( s − i + n − 1 n − 1 ) \sum_{i=0}^{2^n}[x^i]A(x) \cdot {s-i+n-1\choose n-1} i=02n[xi]A(x)(n1si+n1),由于 n n n 很小可以暴力计算组合数,总的时间复杂度为 O ( n ⋅ 2 n ) O(n \cdot 2^n) O(n2n).

code

#include <bits/stdc++.h>
#define int long long
#define ll long long
#define pii pair<int, int>using namespace std;
const int mod = 1e9 + 7;
int f[30];int ksm(int x, int k)
{int res = 1;while (k > 0){if (k & 1)res = res * x % mod;x = x * x % mod;k >>= 1;}return res;
}signed main()
{ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int n, s;cin >> n >> s;int fac = 1;for (int i = 1; i <= n; ++i){cin >> f[i - 1];if (i < n)fac = fac * i % mod;}int infac = ksm(fac, mod - 2);int ans = 0;for (int i = 0; i < (1ll << n); ++i){int cnt = 0, sum = 0;for (int j = 0; j < n; ++j){if ((1ll << j) & i)cnt++, sum += f[j] + 1;}if (sum > s)continue;int tmp = 1;for (int j = 0; j < n - 1; ++j){int p = (s - sum + n - 1 - j) % mod;tmp = tmp * p % mod;}tmp = tmp * infac % mod;ans = (ans + ((cnt & 1) ? mod - tmp : tmp) % mod) % mod;}cout << (ans + mod) % mod << '\n';return 0;
}
http://www.hengruixuexiao.com/news/8984.html

相关文章:

  • 关于外贸的网站谷歌seo推广
  • 网站建设 简单动态网站搭建题库西安关键词优化平台
  • 东莞高端网站建设费用小学生摘抄新闻2024
  • 十大网站黄页的免费营销推广工作内容
  • 有什么网站可以做团购seo营销方法
  • 网页设计师联盟网站seo免费优化网站
  • 哈尔滨仿站定制模板建站泉州网站seo外包公司
  • 柳州市建委网站淘宝关键词排名查询工具
  • 专业的深圳网站设计seo优化或网站编辑
  • 做网站和做新媒体运营百度热搜风云榜
  • 成都网页设计专业seo网络营销外包
  • 做问卷用哪个网站制作网页的网站
  • 小型企业网站建设项目长春关键词优化报价
  • 成都初中abc分类seo外包 靠谱
  • 为赌博网站做宣传百度搜索平台
  • 怎么做网站流量app网络推广公司
  • 百度关键词网站怎么做网络营销公司名称
  • 做网站自己买服务器吗营销推广网
  • 做网站靠谱的公司如何建立一个自己的网站啊
  • 国家网站标题颜色搭配软文推广有哪些平台
  • 自己建一个网站需要多少钱?搜索引擎有哪些软件
  • 信息技术会考做网站哪里注册域名最便宜
  • 成都企业模板建站上海整站seo
  • 搭建b2c网站百度资源平台
  • 网站建设项目需求说明外贸推广平台
  • 营销型企业网站关键词挖掘网站
  • 北京电子商务网站建设交换友情链接
  • wordpress不能上传webpseo免费优化
  • 自助网站免费注册新能源汽车公司
  • 物联网软件开发外包刷移动关键词优化