答案=所有情况中总共递减次数*2

放完i个和放完i-1个之间的递减次数是可以递推的。

有一部分是放完i-1个之后产生的,还有一部分是放完第i个之后新产生的。

注意减去多加的部分。

2的i次方可以打个表,然后就再开一个sum预处理2的i次方的前缀和,就可以递推了。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std; const int maxn=+;
long long MOD=1e9+;
long long w[maxn],ans,q[maxn],sum[maxn];
int n,x; long long M(long long a,long long b)
{while(a<) {a=a+b;} a=a%b; return a;} void init()
{
q[]=q[]=; for(int i=;i<=;i++) q[i]=M(*q[i-],MOD);
sum[]=; for(int i=;i<=;i++) sum[i]=M(sum[i-]+q[i],MOD);
} int main()
{
init(); int T; scanf("%d",&T);
while(T--)
{
scanf("%d",&n); memset(w,,sizeof w); ans=;
for(int i=;i<=n;i++)
{
scanf("%d",&x);
if(i!=) ans=M(ans+sum[i-]-w[x],MOD);
w[x]=M(w[x]+q[i-],MOD),ans=ans*;
}
printf("%lld\n",M(ans,MOD));
}
return ;
}

ZOJ 3929 Deque and Balls的更多相关文章

  1. 期望+DP ZOJ 3929 Deque and Balls

    题目链接 题意:给你n个数,按照顺序依次放入一个双端队列(可放在头部,也可以放在尾部),求xi > xi+1的期望 * 2^n mod (1e9 +7) 分析:期望*2^n=出现这种排法的概率* ...

  2. ZOJ 3932 Deque and Balls

    There are n balls, where the i-th ball is labeled as pi. You are going to put n balls into a deque. ...

  3. 【ZOJ 3929】Deque and Balls(普通dp)

    题意:给出一个序列,按照顺序一个一个放入双端队列(可以放在头部也可以放在尾部),一个队列的美丽指数就是数列中a[i]>a[i+1]的个数,求美丽指数的期望*2^n的值. 解题思路:方便起见,我们 ...

  4. ZOJ-3929 Deque and Balls (DP+找规律)

    题目大意:n个数,每个数的大小都在1~n之间.操作n次,第 i 次将第 i 个数放到一个双端队列里面,放到队列两端的概率是相等的.问操作n次之后双端队列中元素满足xi>xi+1的对数的期望,输出 ...

  5. 【转载】图论 500题——主要为hdu/poj/zoj

    转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...

  6. 主席树[可持久化线段树](hdu 2665 Kth number、SP 10628 Count on a tree、ZOJ 2112 Dynamic Rankings、codeforces 813E Army Creation、codeforces960F:Pathwalks )

    在今天三黑(恶意评分刷上去的那种)两紫的智推中,突然出现了P3834 [模板]可持久化线段树 1(主席树)就突然有了不详的预感2333 果然...然后我gg了!被大佬虐了! hdu 2665 Kth ...

  7. 整体二分(SP3946 K-th Number ZOJ 2112 Dynamic Rankings)

    SP3946 K-th Number (/2和>>1不一样!!) #include <algorithm> #include <bitset> #include & ...

  8. ZOJ 2970 Faster, Higher, Stronger

    F - Faster, Higher, Stronger Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld &am ...

  9. ZOJ 3279-Ants(线段树)

    传送门:zoj 3279 Ants Ants Time Limit: 2 Seconds      Memory Limit: 32768 KB echo is a curious and cleve ...

随机推荐

  1. 【dp 背包变形】 poj 1837

    #include <cstdio> #include <memory.h> #include<iostream> using namespace std; ][]; ...

  2. c++中string的用法

    之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至 ...

  3. 【转】对于JNI方法名,数据类型和方法签名的一些认识

    [转]对于JNI方法名,数据类型和方法签名的一些认识   之前一直用jni,但是没有考虑Java重载函数,如何在jni-C++里命名,今天看到一篇文章,讲到了类型签名. 原文链接:http://www ...

  4. jquery获得select的文本

    本来以为jQuery("#select1").val();是取得选中的值, 那么jQuery("#select1").text();就是取得的文本. 这是不正确 ...

  5. scull_p_read()函数分析

    /* * Data management: read and write */ static ssize_t scull_p_read (struct file *filp, char __user ...

  6. elasticsearch集群内部节点超时解决

    默认配置为:节点每隔1s同master发送1次心跳,超时时间为30s,测试次数为3次,超过3次,则认为该节点同master已经脱离了.以上为elasticsearch的默认配置.在实际生产环境中,每隔 ...

  7. CentOS6下配置Django+Apache+mod_wsgi+Sqlite3过程

    0. 安装环境: CentOs版本:      VMWare中CentOs 6.4 Apache版本:      Httpd 2.2.15 http://httpd.apache.org/ Sqlit ...

  8. JNDI深入浅出

    1.什么是JNDI JNDI(The Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和 ...

  9. Windows API 之 CreateFile

    Creates or opens a file or I/O device. The most commonly used I/O devices are as follows: file, file ...

  10. 简单实现contentOS下开机自动启动tomcat

    看过网上很多写tomcat开机自启动的例子,很多都是写了一个比较复杂的脚步.找到一个比较简单的. 首先编辑 vi /etc/rc.d/rc.local 在尾部加入 export JDK_HOME=/u ...