当前位置: 首页 > news >正文

潍坊360做网站怎么样竞价sem托管

潍坊360做网站怎么样,竞价sem托管,百度云搜索引擎网站,天天炫拍免费做相册管方网站下载思路:动态规划前缀和 这道题还是很难的,因为你如果需要推出状态方程是很难想的。 在题中我们其实可以发现,这里在访问nextVisit数组的过程中,其实就是对于当前访问的房子之前的房子进行了回访。 怎么说呢?比如你现在…

思路:动态规划+前缀和

这道题还是很难的,因为你如果需要推出状态方程是很难想的。

在题中我们其实可以发现,这里在访问nextVisit数组的过程中,其实就是对于当前访问的房子之前的房子进行了回访。

怎么说呢?比如你现在在第i个房间里,你为什么会在第i个房间呢?是因为前面的房间你都已经访问了偶数次才会到达这里的吧?是的,我们发现,在规则上说,其实就是在访问偶数次之后我们才会向右边的房间去,在这之前,也就是这间房子左边,我们都已经访问偶数次了。

那我们不妨可以看看,从某个房间到达奇数次-->这个房间到达偶数次这个状态是怎么样的。我们发现不论你选取哪一个房子,都是要经历这个过程的,所以我们可以把状态方程f的含义定为:

访问第i间房子的奇数次到访问第i间房子的偶数次所需要的天数。这就是f[i]的含义。

那么我们可以推知,从第j间房子访问到第i间房子的总天数就是f[i]=f[j]+f[j+1]+...+f[i-1]+2.

为什么需要+2呢?因为你在第一次访问第i间房子之后,你需要回访,然后再回来的时候才会访问偶数次,也就是访问了2次,也就是两天,其他的那些和,其实就是你回访其他房间所用的时间。

好了,如果我们真需要处理这些和的话,势必会让时间复杂度变成n**2。怎么才能进行优化呢?

说到求和,我们会想到一个知识点,那就是前缀和,前缀和会用On的时间来进行操作,这样的话就好说了,我们就用前缀和进行优化。

设s为前缀和数组,那么s[0]=0,至于为什么需要这样,参考一下灵神在这道题里面的题解的解释:303. 区域和检索 - 数组不可变 - 力扣(LeetCode)

那么,就这样推下去的话:s[1]=f[0],s[2]=f[1]+f[0]......s[i+1]=f[i]+s[i]

而我们上面写的f[i]也就可以化简为:f[i]=s[i]-s[j]+2,我们把这两个式子结合一下,

就变成了:s[i+1]=s[i]*2-s[j]+2。这样就算是完成了

class Solution {
public:int firstDayBeenInAllRooms(vector<int>& nextVisit) {int n=nextVisit.size();const int mod=1e9+7;vector<long>s(n);for(int i=0;i<n-1;i++){int j=nextVisit[i];s[i+1]=(s[i]*2-s[j]+2+mod)%mod;}return s[n-1];}
};

http://www.dt0577.cn/news/28759.html

相关文章:

  • 做销售在哪些网站注册好免费引流推广工具
  • 苏州哪家做网站好些百度咨询电话 人工
  • 榆林网站建设网站域名在哪里查询
  • 信誉好的宜昌网站建设制作网页代码大全
  • wordpress中文标题不显示不出来seo网站推广是什么意思
  • 吉安网站制作凡科网建站系统源码
  • 电子商务网站的建设方式软文文案
  • 网站做分享链接2023网站seo
  • 然后做服装网站张家界百度seo
  • 北京建网站价格企业管理培训机构
  • 制作个人网站怎么制作百度网盘下载
  • 网站建设想法建站快车
  • 沈阳网站建设 景乔科技免费源码资源源码站
  • 做的网站必须放在idc机房吗网址推广
  • 德宏企业网站建设公司6整合营销的概念
  • 响应式网站改为自适应如何引流客源最快的方法
  • 搜索推广的流程一个具体网站的seo优化
  • WordPress博客首页如何静态seo网站优化教程
  • 两学一做专栏网站如何做好网络推广销售
  • 动态网站建设过程企业网站制作流程
  • jsp个人网站毕业论文怎么做杭州seo推广优化公司
  • 广东卫视你会怎么做网站浙江企业网站建设
  • 青岛网站建设推广服务seo教程网站
  • 内在空间官网泰安短视频seo
  • 网站建设 国家技术规范百度网盘免费下载
  • wex5做视频网站文件外链网站
  • 做网站有未来吗网站提交入口百度
  • 做网站资讯如何推广自己的店铺
  • 企业做网站分哪几种软件培训机构排行榜
  • 网站更改备案信息网站制作哪家公司好