思路:

考虑组合数学。

当所求中没有重复的时候,方案数就是\(C_{n + 1}^{k}\)

当有重复的时候...

设相等的数字之间的距离为\(len\)

当取0个数时,方案数就是\(C_{n - 1}^{k}\)

取1个数时,方案数大概是\(2 * C_{n - 1}^{k - 1}\) ,但是如果相同的数字之间那一段没有取任何一个其他的数,那么取任意一个相同的数都是等价的,所以要减去\(C_{n - len}^{i - 1}\)

取了两个数,方案数就是\(C_{n - 1}^{k - 2}\)

考试炸了范围...

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define int long long
const int maxn = 200010;
const int mod = 1e9+7;
int n;
inline int pow_mod(int x,int y) {
int res = 1;
while(y) {
if(y & 1) res = res * x % mod;
x = x * x % mod;
y >>= 1;
}
return res % mod;
}
inline int read() {
int q=0,f=1;char ch = getchar();
while(!isdigit(ch)){
if(ch==-'-')f=-1;ch=getchar();
}
while(isdigit(ch)){
q=q*10+ch-'0';ch=getchar();
}
return q*f;
}
int fac[maxn];
int a[maxn];
int vis[maxn];
int ifac[maxn];
inline int C(int x,int y) {
if(x < y) return 0;
if(y < 0) return 0;
return fac[x] * ifac[y] % mod * ifac[x - y] % mod;
}
int len;
int ans[maxn];
inline void pre () {
fac[0] = 1;
for(int i = 1;i <= n + 1; ++i) {
fac[i] = fac[i - 1] * i % mod;
}
ifac[n + 1] = pow_mod(fac[n + 1],mod - 2);
for(int i = n;i >= 0; --i) {
ifac[i] = ifac[i + 1] * (i + 1) % mod;
}
}
signed main () {
n = read();
for(int i = 1;i <= n + 1; ++i) {
a[i] = read();
if(vis[a[i]] == 0) {
vis[a[i]] = i;
}
else len = i - vis[a[i]] + 1;
}
pre();
for(int i = 1;i <= n + 1; ++i) {
int res = C(n - 1,i);
res = (res + 2 * C(n - 1,i - 1)) % mod;
res = (res - C(n - len + 1,i - 1) + mod) % mod;
res = (res + C(n - 1,i - 2)) % mod;
ans[i] = res;
}
for(int i = 1;i <= n + 1; ++i)
printf("%lld\n",ans[i]);
return 0; }

[NOI.AC] count的更多相关文章

  1. [NOI.AC]COUNT(数学)

    解析: 也可以将所有的可能都计算出来,后进行减法运算. 代码: #include<bits/stdc++.h> using namespace std; #define ll long l ...

  2. NOI.AC NOIP模拟赛 第五场 游记

    NOI.AC NOIP模拟赛 第五场 游记 count 题目大意: 长度为\(n+1(n\le10^5)\)的序列\(A\),其中的每个数都是不大于\(n\)的正整数,且\(n\)以内每个正整数至少出 ...

  3. SDOI2015 寻宝游戏 | noi.ac#460 tree

    题目链接:戳我 可以知道,我们相当于是把有宝藏在的地方围了一个圈,求这个圈最小是多大. 显然按照dfs序来遍历是最小的. 那么我们就先来一遍dfs序列,并且预处理出来每个点到根的距离(这样我们就可用\ ...

  4. # NOI.AC省选赛 第五场T1 子集,与&最大值

    NOI.AC省选赛 第五场T1 A. Mas的童年 题目链接 http://noi.ac/problem/309 思路 0x00 \(n^2\)的暴力挺简单的. ans=max(ans,xor[j-1 ...

  5. NOI.ac #31 MST DP、哈希

    题目传送门:http://noi.ac/problem/31 一道思路好题考虑模拟$Kruskal$的加边方式,然后能够发现非最小生成树边只能在一个已经由边权更小的边连成的连通块中,而树边一定会让两个 ...

  6. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  7. NOI.AC NOIP模拟赛 第二场 补记

    NOI.AC NOIP模拟赛 第二场 补记 palindrome 题目大意: 同[CEOI2017]Palindromic Partitions string 同[TC11326]Impossible ...

  8. NOI.AC NOIP模拟赛 第一场 补记

    NOI.AC NOIP模拟赛 第一场 补记 candy 题目大意: 有两个超市,每个超市有\(n(n\le10^5)\)个糖,每个糖\(W\)元.每颗糖有一个愉悦度,其中,第一家商店中的第\(i\)颗 ...

  9. NOI.AC NOIP模拟赛 第四场 补记

    NOI.AC NOIP模拟赛 第四场 补记 子图 题目大意: 一张\(n(n\le5\times10^5)\)个点,\(m(m\le5\times10^5)\)条边的无向图.删去第\(i\)条边需要\ ...

随机推荐

  1. CSS适配,方案

    1.尺寸常用单位:   https://www.cnblogs.com/whitewolf/p/css-em-px-percentage.html px.em.rem.% 2.CSS的长度单位适配方案 ...

  2. (转)OpenFire源码学习之四:openfire的启动流程

    转:http://blog.csdn.net/huwenfeng_2011/article/details/43413233 openfire启动 ServerStarter 启动流程图: 启动的总入 ...

  3. 1242 斐波那契数列的第N项

    1242 斐波那契数列的第N项  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题   斐波那契数列的定义如下:   F(0) = 0 F(1) = 1 F(n) = F( ...

  4. 选择排序-Python & Java

    选择排序:1.找出最小的数值放在第一位2.找出剩余数据中最小的数值放在第二位,以此类推,直到最后一个数值 算法的时间复杂度为:O(n) ''' 选择排序: 1.找出最小的数值放在第一位 2.找出剩余数 ...

  5. centos7下利用nfs搭建wordpress

    拓扑环境 web1 192.168.198.110 web2 192.168.198.120 mysql 192.168.198.130 DNS 192.168.198.10 NFS 192.168. ...

  6. 欧拉筛 线性筛 素数+莫比乌斯的mu[]

    https://blog.csdn.net/qq_39763472/article/details/82428602 模板来自https://blog.csdn.net/Avalon_cc/artic ...

  7. css 给图片添加滤镜效果,透明层毛玻璃效果

    我们用的第一个滤镜是sepia(),他会给图片增加一整降饱和度的橙色染色效果 原图 添加sepia滤镜的效果 img{ width:100%; transition: .5s filter; filt ...

  8. angulatJs 前端数据分页展示——例

    注:css用的是amazeui html: ···<div style="height:500px;overflow: auto;"> <table class= ...

  9. 关于vsphere exsi安装时遇到的问题

    我在虚拟机上安装vsphere 6.0的时候,在安装的过程中报错,出现了如下的内容. Error loading /tools.t00 Compressed MD5: Decompressed MD5 ...

  10. 关于apache 重定向设定

    本人在研究关于apache重定向的资料,在网上找了很多,但是就本人来说,方便理解的,找到了这么一个,记录了下来,原帖地址:http://www.exehack.net/8.html 关于apache配 ...