题目链接:
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递推计数解题思路

该博客详细介绍了HDU 4747问题的解题思路,即如何通过动态规划求解所有区间内未出现的最小非负整数和。博主首先引用了其他大神的博客作为参考,然后补充解释了递推关系,强调了在计算过程中考虑大于等于当前数的值对区间和的影响,并提供了具体的区间更新策略。最后,博主给出了实现算法的代码。
最低0.47元/天 解锁文章
738

被折叠的 条评论
为什么被折叠?



