梳理思路

从头开始吧



一:

T1:Censoring(字符串hash)

hash+灵活运用+神仙思路:

jg[]表示答案串,c[]是读入串,lhash[]表示新字符串的hash值,shash[]表示原字符串的hash值

用两个指针js表示最后输出字符串的长度,zz表示原字符串加到哪了,

每从原字符串里往答案加一个新字符,就从枚举一遍n个的单词的列表看哪个单词能删,就把js-=该单词长度

删完一个就break掉,防止算重(不知道会不会)

核心代码

T2:记忆的轮廓(大神概期+DP)

(1)首先,要先读懂题,认真读
     譬如:数据保证j是k的父亲,建单向边;
         走到错误节点才会读档!错误叶子;
         走到错误叶子读档还要再走一步才能回去;
   ***注意:又是一道有t的题,记得清零;***
(2)其次,
     one:既然有存档这个神奇的东西,dp是一定是二维的;
     所以设f[i][j](i为当前正确节点,还剩j次存档机会到n的期望步数)
     则f[i][j]=min(f[i][j],从i到k的期望步数+f[k][j-1]) i+1<=k<=n;
     ***注意:初始化时只有f[n][0]=0;***
       因为f[n-1][0]即走到n-1时就没有存档机会了,而题中说1,n两点必须存档,
       所以其他的f值都是最大值;
     two:维护从i到j的期望步数dp[i][j](i,j均为正确节点且i,j中间不存档)
      则dp[i][j]=dp[i][j-1]+从j-1到j的期望步数;
          从j-1到j的期望步数=从j-1直接到j的期望+从j-1走到错误叶子再走一步再回到i再到j的期望;
      用g[i]维护从错误节点i走到错误叶子再走一步的期望步数;
      则g[i]=sigma((1/du[i])*g[j]+1)=1+(1/du[i])+sigma(g[j]);(j是i的儿子)
      用s[i]记录正确节点i所有错误儿子的g值和;
      设d=d[j-1];
      即可得dp[i][j]=dp[i][j-1]+(1/d)/*j-1直接到j*/+sigma((1/d)*(1/*从j-1到他儿子k的一步*/+g[k]+dp[i][j]))(sigma要除去正确节点)
                =dp[i][j-1]+(1/d)+((d-1)/d)*(1+dp[i][j])+sigma((1/d)*g[k]);                     
                      |------->定值<-------| |---->即s[i]<----|
      等式两边同乘d,把dp[i][j]移到左边得dp[i][j]=dp[i][j-1]*d+d+s[j-1];
    最后输出f[1][p-1]即可 因为1必须存档;
      three:建树
        因为只连了错误节点的边,所以从1到n-1都要dfs一遍,dfs前du别忘了加自己的一个正确儿子;
        dfs同时处理g,s;
      four:玄幻的时间优化
       因为dp数组增速很快,所以如果i与j相差40以上dp[i][j]已经是极大值对答案没有贡献,因此j只需要枚举到min(n,i+40)即可;

原文地址:https://www.cnblogs.com/qwertyuiopasdfghjklzxcvbnm/p/11670733.html

时间: 2024-10-28 20:38:04

梳理思路的相关文章

建立三年学习思路 教你系统有效的自学摄影

最近好多新人加我微信问想学摄影,无从入手,怎么办? 我想我还是系统的来谈谈这个问题比较好,当然,话题仅限于刚入门的朋友参考,老鸟自动忽略即可.本文首先是谈思路,然后谈方法,不做具体的技术教授,技术贴请自己网络上搜索,早就铺天盖地.但能给初学者摄影学习梳理思路与方法的帖子却很少,催吹器材与炫耀技术帖却很多,往往给很多想学摄影却因为看着这些误导的帖子认为门槛很高而退却.于是我更多想给很多初学者一点建议,仅供根据自己的情况参考着学习上手. 第一步:你需要一个相机,还是要学摄影? 好多新手一开口习惯问:

移动端破解TLS加密的数据的设计思路

本文主要讲解了破解移动端HTTPS数据的思路,今天跟大家分享一下. 在上一篇文章中,讲述了如何通过浏览器和wireshark之间的关系,来破解利用浏览器访问的加密数据,在那篇文中曾提到过,中间截获的数据是没有办法解密,其实也不准确.举个栗子,如果在局域网中,能够通过共享等方式拿到那个环境变量为SSLKEYLOGFILE对应的文件,还是能够解密相应的数据流量的,当然还有其他的解决思路,这就是我们这次会涉及到的内容.但是这次的重点是移动端如何破解TLS加密数据,毕竟移动为王. 由于这块内容比较多,准

微服务架构(Microservice Architecture)

之前一段时间,有听部门架构说起接下来公司要使用微服务架构来研发系统,当时没怎么在意,因为是第一次听说微服务这个名词(果然无知者无畏啊):正好赶上五一假, 我自告奋勇的,接了编写微服务架构培训文档这个任务(也许因为我是文科生,文笔稍微好点).五一假期三天,基本都是在看资料,梳理思路以及编写接下来的培训文档中度过. 下面,就说说我这几天的一些收获吧:先说说资料来源吧:有架构给我的一些资料,以及自己百度和论坛.社区找来的一些资料,权当做一个总结式的简介... 目录如下: 一.微服务架构介绍 二.出现和

基于Ceph快照的异地灾备设计

引子 技术改变生活.越来越方便的手机让大家能够更有效的利用碎片时间,我很享受在上下班的公交车上或在阳光明媚的花园里梳理思路,并写成文字上传到简书:要是搁在几年前的PC时代画风可能是坐在星巴克靠窗的桌子上边喝咖啡边敲键盘:如果时间再久远点,应该有间书房有张书桌,书桌边有个磨墨的小书童- 第一种情形跟后两种情形有着本质的区别.咖啡可能洒在键盘上烧坏主板,辛苦一下午写出的文字再也找不回来了:后院可能起火将写了两天的文字烧成灰烬,再也找不回来了.花园散步也可能摔一跤手机掉进水里开不了机,但不必担心因为我

软件设计

软件设计 一定是创建订单的时候填充market字段,我曾经一度打算在回调的时候再根据回调方来填充Market,但是如果没有回调呢?Market这样的标志性字段一定要依赖于靠谱的操作: 对于重载方法要注意,尤其套调用的重载方法,对于某些核心校验必须要放置在里层方法调用,否则因为重载都是public出去的,都可以被外界调用,如果在外层方法实现校验,里层重载方法被外界直接调用,校验会被跳过:考虑CheckMarket是放在CreateOrder(String encryptedString)还是Cre

读书会总结

1月18日下午,周筠老师与我们开展了第二次读书交流会,首次参与这类活动的我,也是收获很多,在此整理分享本人认为比较重要的几点感悟. 有关团队 作为多人组成的共同体,团队不是各自的“我行我素”,亦不是缺乏计划组织的“一窝蜂”行动.好的团队合作首先需要合理的分工.正如篮球队伍中由敏捷灵活的队员充当小前锋,负责快速推进上篮,具有身高和力量优势者扮演中锋角色,侧重于篮下防守,良好的分工需要认清每位成员的特点,充分发挥每一个成员的优点和长处,包容短处.各成员各司其职,协作互补,团队的整体水平才能得到极致的

【转】企业网站建设方法论

麦肯锡并不神秘,方法论铸就神奇!这是出现在麦肯锡系列丛书封面上非常醒目的一句广告语.博文标题的想法正来源于此,感谢麦肯锡.今天我们要谈论的主角并非麦肯锡,而是方法论,是建设企业网站的方法论.正如标题说言:网站建设并不神秘,方法论铸就神奇. 1.企业网站需要灵魂 伴随互联网的飞速普及,及相关建站软件的日新月异,现如今建设一个企业网站已相当容易,即使是对技术一窍不通的小白也能依靠智能软件信手拈来,所以说,科技很给力.通过观察不难发现,依靠上述这种简单粗暴方式建设网站的企业不再少数,尤其是中小企业,分

【转载】高效读书法以及笔记步骤演示

文章来源微信公众号:清华南都 作为一个mindjet mindmanager的资深用户,我深感思维导图带给工作的便利.此处省略好处100字. 之所以又翻回头来看思维导图的书,是因为最近用思维导图的方式帮助自己和家人就几个问题进行了分析.所以觉得这种方式在个人生活.个人管理以及实现理想目标上也有帮助,有助于梳理思路,明确自己的方向,同时能大幅度提升效率.希望从基础学起,以便对思维导图的用法有更深的思考. 我看的是思维导图丛书——tony buzan的一套6册的版本,看下来,按照有用程度排序: 大脑

前言 产品经理的诞生

产品经理的工作思路与流程: 1.发现市场需求(空白市场 or 现有市场产品的完善) 2.提交商业需求文档(BRD文档) 3.组织头脑风暴(关键节点把控,梳理思路) 4.产品原型设计 5.产品原型验证(投入市场,获取市场反馈) 6.用户需求分析与把控 (判断产品需求的优先级) 7.产品高保真原型图定制 8.配合项目经理开展研发工作 9.配合市场营销团队开展市场营销工作 10.争取资源,并有效屏蔽来自领导的压力,保证产品的顺利运营 11.产品迭代,与产品方向的探索挖掘 12.对产品线与产品团队进行管