这个……真心看不出来是个DP,我在树状数组的康庄大道上欢快的奔跑了一下午……看了题解才发现错的有多离谱。

参考:http://www.cnblogs.com/kuangbin/archive/2012/11/11/2765329.html

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm> #define LL long long int using namespace std; const int MAXN = ; int val[MAXN];
int pos[MAXN];
int cnt[MAXN];
int diff[MAXN];
bool vis[MAXN];
LL dp[MAXN];
int N; int main()
{
while ( scanf( "%d", &N ) == && N )
{
memset( cnt, , sizeof(int)*(N+) );
memset( pos, , sizeof(int)*(N+) ); for ( int i = ; i <= N; ++i )
{
scanf( "%d", &val[i] );
++cnt[ i - pos[ val[i] ] ];
pos[ val[i] ] = i;
} memset( vis, false, sizeof(bool)*(N+) );
diff[] = ;
vis[ val[N] ] = true;
for ( int i = ; i <= N; ++i )
{
if ( vis[ val[N-i+] ] )
diff[i] = diff[i - ];
else
{
diff[i] = diff[i - ] + ;
vis[ val[N-i+] ] = true;
}
} int tot = N;
dp[] = N;
for ( int i = ; i <= N; ++i )
{
dp[i] = dp[i - ] - diff[i - ];
tot -= cnt[i - ];
dp[i] += tot;
} int Q;
scanf("%d", &Q );
while ( Q-- )
{
int w;
scanf("%d", &w);
printf("%I64d\n", dp[w] );
}
}
return ;
}

HDU 4455 Substrings ( DP好题 )的更多相关文章

  1. hdu 4455 Substrings(计数)

    题目链接:hdu 4455 Substrings 题目大意:给出n,然后是n个数a[1] ~ a[n], 然后是q次询问,每次询问给出w, 将数列a[i]分成若干个连续且元素数量为w的集合,计算每个集 ...

  2. HDU - 4455 Substrings(非原创)

    XXX has an array of length n. XXX wants to know that, for a given w, what is the sum of the distinct ...

  3. hdu 4455 Substrings(找规律&DP)

    Substrings Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  4. hdu 4455 Substrings (DP 预处理思路)

    Substrings Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  5. HDU 4455 Substrings[多重dp]

    Substrings Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  6. HDU 4455.Substrings

    Substrings Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  7. HDU - 3652 数位DP 套路题

    题意:统计能被13整除和含有13的数的个数 解法没法好说的..学了前面两道直接啪出来了 PS.HDU深夜日常维护,没法交题,拿网上的代码随便对拍一下,输出一致 #include<bits/std ...

  8. HDU 1520 树形dp裸题

    1.HDU 1520  Anniversary party 2.总结:第一道树形dp,有点纠结 题意:公司聚会,员工与直接上司不能同时来,求最大权值和 #include<iostream> ...

  9. HDU - 1520 树形DP入门题

    写了两种DP,第一种是按照自己习惯来xjb敲的,第二种参考别人 熟悉一下树形DP的套路 dp[i][]是维护i及以下的关系最优值的,所以我觉得两次DP记忆搜索之间不清-1应该是正确的(也就做了一次加法 ...

随机推荐

  1. 创建 XXXXXXXX 的配置节处理程序时出错: 请求失败

    今天碰到这个错误,之前的程序在测试的时候都没有问题,同样的程序打包通过QQ传给其他人,在XP下测试也没有问题,我的Win7系统从QQ信箱下载压缩包,解压之后执行程序就会出问题,本来还是考虑自己程序是不 ...

  2. requireJS的学习

    官方文档 http://www.requirejs.cn/ 参考链接 http://www.w3cschool.cc/w3cnote/requirejs-tutorial-1.html http:// ...

  3. 【Java-Method】读《重构》有感_Java方法到底是传值调用还是传引用调用(传钥匙调用)

    今天读<重构>P279, Separate Query from Modifier,将查询函数和修改函数分离. 问题的产生 突然想到 Java 的传对象作为参数的方法到底是 传引用调用,还 ...

  4. Drupal 新建Modules

    最简单的模块包含了2个文件夹,它们放置于同一个文件夹下:包含模块信息的文件以.info为后缀名,而实现功能的文件则以.module结尾. 可以给模块一个友好的(human-readable)名字,但是 ...

  5. 第2章-如何安装KEIL5—零死角玩转STM32-F429系列

    第2章     如何安装KEIL5 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章内 ...

  6. System.Web.Caching.Cache

    此类是利用缓存来保存信息的.可以把一些稳定的数据,不会随用户而改变的信息利用Cache保存起来,可以优化网站的速度. Cache辅助类已上传:GitHub Cache和Session,cookie的区 ...

  7. visual attention

    The visual attention mechanism may have at least the following basic components [Tsotsos, et. al. 19 ...

  8. WKWebView 屏蔽长按手势 - iOS

    研究半天还跟正常套路不一样,WKWebView 需要将 JS 注入进去,套路啊 ... 查半天资料,为了后者们开发可以提高效率,特此分享一下,不到的地方多多包涵哈. 废话不多说,直接上 code,将如 ...

  9. textkit

    更详细的内容可以参考官方文档 <Text Programming Guide for iOS>. “Text Kit指的是UIKit框架中用于提供高质量排版服务的一些类和协议,它让程序能够 ...

  10. 泉五培训Day5

    T1 陪审团 题目 [题目描述] 陪审团制度历来是司法研究中的一个热议话题,由于陪审团的成员组成会对案件最终的结果产生巨大的影响,诉讼双方往往围绕陪审团由哪些人组成这一议题激烈争夺.小 W提出了一个甲 ...