递推计数-hdu-4747-Mex

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

题目链接

http://acm.hdu.edu.cn/showproblem.php?pid=4747

题目大意:

给n个数,求所有区间内没有出现的最小非负整数和。

解题思路:

首先感谢大神博客:http://www.cnblogs.com/xin-hua/p/3325154.html可以解释的太少了。

我再解释一遍。

首先要明白,以i结束的所有区间的值的和记为f[i]肯定不超过以i+1结束的所有区间的值的和记为f[i+1]。

所以可以根据f[i]间接推出f[i+1],记第i个数为sa[i],显然只用考虑大于等于sa[i]的数j对f[i]=f[i-1]+?的影响,。如果j出现在1~i-1区间中,比较j最晚出现的位置与覆盖完全的1~j-1的最小位置的较小位置k,那么区间j的前一次出现的位置到k位置这个区间内所有点到i位置的值都+1.

这样逐次累加,直到不影响为止。

代码:

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#inclu
HDU - 4747 Mex【dp】(详解) mex的性质可知,以a1开始的区间mex值:mex(a1)、mex(a1,a2)、mex(a1,a2,a3)、...、mex(a1,a2,...,an)是递增的。假设ai是索引i最小的等于a0的值,则mex(a0,a1,..,ai,...)的值并不会因为a0的加入而改变,依旧等于mex(a1,..,ai,...)。这时,我们只需计算mex(a1)、mex(a1,a2)、...、mex(a1,a2,...,ai-1)等值因a0的加入而改变的值。给n个数所有区间没有出现的最小非负整数 阅读详情

相关推荐

hdu 4747(DP?线性递推

Mex Time Limit: 15000/5000 MS (Java/Others)Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 3876Accepted Submissi...

weixin_30780649的博客 321

HDU 4747 2018-1-31

Mex Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 3615    Accepted Submission(s): 1209 Problem Description Mex is a function on

ACM 268

动态规划妙用:为N的完全平方数的最小数量

使用动态规划的思想,为N的完全平方数的最小数量。

猫晨的技术小屋 1166

hdu-4747(线段树)

题目链接 思路:对于一个区间(i,j),i不变,mex(i,j)是随着j的增加而单调递增的(非严格单调递增)。所以当去掉i位置的数时,考虑mex(i+1,j)的变化,可以发现如果在i的右侧有一个最近的a[pos]=a[i],那么mex(pos,j)的值不变,而在(i+1,pos-1)之间的数,如果mex的值大于a[i],则将mex变为a[i]。 先mex(1,i)的值,用线段树来维护区间,然...

weixin_43843038的博客 361

hdu 4747 Mex 递推计数

想用线段树,但又想着是递推专题的,就忍者去想递推; 参考:http://www.2cto.com/kf/201309/245364.html 首先要明白,以i结束的所有区间的值的记为f[i]肯定不超过以i+1结束的所有区间的值的记为f[i+1]。所以可以根据f[i]间接推出f[i+1],记第i个数为sa[i],显然只用考虑大于等于sa[i]的数j对f[i]=f[i-1]+?的影响,。如果j出

曹讽 617

[dp] 对hdu4747 Mex 的详解

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4747题目大意:给一个含有n个数的序列 ns[1~n]定义函数 mex(l,r)为区间 [l,r] 中未出现的最小非负整数序列ns所有区间mex 可以表示为:for( l=1 ; l&lt;=n ; l++) for( r=l ; r&lt;=n ; r++) sum += mex( l...

隙间 1528

HDU 4747 线段树 + 区间更新 + java

传送门 : HDU 4747题外话 13年杭州网络赛的一题, 同学推荐做的, 算是磨练一下自己的线段树, 最近在系统的学java, 确实很骚气, 就用java写了, 搞事情啊 看来线段树还是有点成果的, 虽然慢了一点, 但是1A 有大神这题40行dp, 太可怕了, 附个链接:DP递推计数(ORZ) 题意 给定n个数找出Sum{mex(i, j)} mex(i, j )指[i

退役ACMer 846

简单计算几何 hdu-4491 Windmill Animation

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4491 题目意思: 给m个点,一个开始点一个水平方向的夹角。 这条直线顺时针旋转时,第一个碰到的点a,然后以a点为新的转轴,再逆时针转,找到a,最后顺序输出s个作为轴的点。 解题思路: 对于每一条旋转线,以轴为中心,分成两个相反向量,记为oaob. 对于每一个点c,如果该点在直

cc_again的专栏 1120

动态规划总结

转载请注明出处,谢谢。   http://blog.csdn.net/cc_again?viewmode=list          ----------  Accagain  2014年5月15日 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。 本人动态规划博客地址:http://blog.csdn.

code_or_code 2511

【骗自己是日更】开始dp习题啦。

emm首先dp习题题表来自https://www.cnblogs.com/dwtfukgv/articles/5525523.html,总结的很好就打算拿这个顺序写下去啦。这个人很菜,刚起步的那种菜,大二了还是咸鱼一条怕是没救了。1、递推: 简单: hdu 1003 经典dphdu 2084 数塔 简单从上往下递推 hdu 2018 母牛的故事 简单递推计数 hdu 2044 一只小蜜蜂…

S_amsara的博客 544

dp有哪些种类

dp有哪些种类 一、总结 一句话总结: 二、dp动态规划分类详解 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。 **********************************************************************************...

weixin_30546933的博客 1362

ACM动态规划总结

本文转载自:cc_again的专栏 感谢!~动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。动态规划(英语:Dynamic programming,DP)是一种在数学、计算机科学经济学中使用的,通过把原问题分解为相对简单的子问题的方式解复杂问题的方法。 动态规划常常适用于有重叠子问题最优子结构性质的问题,动态规划

FZU_zyt的专栏_(:з」∠)_ 563

【DP专辑】ACM动态规划总结

http://blog.csdn.net/cc_again?viewmode=list ---------- Accagain 2014年5月15日 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。 本人动态规划博客地址:http://blog.csdn.net/cc_again/article/catego

有一种力量叫乐观 1119

动态规划分类题目总结

动态规划分类有很多划分方法,网上有很多是按照状态来分,分为一维、二维、区间、树形等等。我觉得还是按功能即解决的问题的类型以及难易程度来分比较好,下面按照我自己的理解归纳,把动态规划的分类如下: 一、简单基础dp 这类dp主要是一些状态比较容易表示,转移方程比较好想,问题比较基本常见的。主要包括递推、背包、LIS(最长递增序列),LCS(最长公共子序列),下面针对这几种类型,推荐一下比较好的学...

独钓门前月 2801

动态规划

动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。 本人动态规划博客地址:http://blog.csdn.net/cc_again/article/category/1261899 ******************************************************************...

jianxingzhang的博客 1052

(转载)【DP专辑】ACM动态规划总结

本文转载自http://blog.csdn.net/cc_again/article/details/25866971

uiqrm的博客 796

动态规划题目整合

源博客链接:http://blog.csdn.net/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。 动态规划(英语:Dynamic programming,DP)是一种在数学、计算机科学经济学中使用的,通过把原问题分解为相对简单的子问题的方

ming_514 550

dp动态规划分类详解

转自:http://blog.csdn.NET/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。动态规划(英语:Dynamic programming,DP)是一种在数学、计算机科学经济学中使用的,通过把原问题分解为相对简单的子问题的方式解复杂问

曹讽 574
上一篇: 区间dp-hdu-4745-Two Rabbits
下一篇: 对抗搜索/dp-hdu-4753-Fishhead’s Little Game
Accagain
博客等级 码龄14年 376粉丝 316原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值