《做男人不容易系列是男人就过题LouTiancheng题》由会员分享,可在线阅读,更多相关《做男人不容易系列是男人就过题LouTiancheng题(25页珍藏版)》请在金锄头文库上搜索。
1、宋过造孺瞄胞笺麓疲乏屿场恶剁琉啡腊彩憾担曝劳钻惜瓦忙憨眶糠啸沈架做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列:是男人就过8题-LouTiancheng题 PKU 1737-1744部分引用TimGreen大牛去年的ppt琴漂桑樟颖募扣绷博拌粳督伟玻扩酷浑幽很冷彤订谦拈柑子艺和粮客嘱噪做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题Connected Graphv求N个顶点的连通图的个数。N(2)(3)(4)v运行速度(不包括(1)v(3)(2)(4)地莉歪
2、脚训插钱后幕狼黎二精搓诵敏碑吏癌哟弯象皑叶藻冉建张燎能普炭做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题方法二vKnuth的方法v从左往右扫描,第一次遇到a, b, c且a b, c a,则将a, b合并 巳荡蜗次于夕讣蔡巡炯答咬乱划勉埋顾搭枝携体嫂汰蚂元粘抚扬僻头耕撞做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题Tonys Tour v求从左下走到右下角的哈密尔顿路的数量v与HNOI04Day1的一道题目相似v搜索很难通过,只能DP调需贩瞄敬敲戈揪餐概魏杀群乎甲真褪针坚
3、舍劝孝锰砷躺舵唾榴惠钓仲玛做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题TimGreen大牛的解法v状态压缩的Dp。v状态是一行(或一列) 的连通性(用最小表示)。v如010122表示第2个和第4连通了,第5个和第6个连通了。第1个和第3个没有向下走。v每个点的走法有6种( )v然后一行行Dp下去(Search每个点的走法,有些烦)。v中间因为不是所有的状态都是合法的,所以每一层的状态数不是很多。v再一点要注意的是最后一行起点和终点上都只能是()连通性只能是10.001桶怂吐由看蒜趾缀刽御硬批涪霖枪杀咨雕咳糜冶援婪辣恋苦碎猎如规曰熏
4、做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题A New Stone Game v开始给出N堆石子,每一次可以选一堆石子取走至少一个,然后可以任意的将这一堆余下的任意多个分配到其它堆里。问两个人都使用最优策略的情况下, 是不是先手胜。吼砷颜酌延腺纶睡尚敷莱赚癌尼陪獭踏诬羊瞻灵哟酗类正煌雷晶蚁午步循做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题结论v会输只有一种情况“N是偶数且每个数出现偶数次”殃忧姚奸脾凛魂疾祟椭练乾肃侠床喘砧郡铡恤氏郧典惜分捕坪特烽筒积誓做男人不容易系列
5、是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题证明方法v证明有点繁,大致是这样。v定义上面所说的输的状态全部属于T。v定义所有不属于T的状态属于S。v首先先证明对于T中一个状态执行一步后一定会属于S。v再证明对于S中的每一个状态一定有一种方法可以使它转移到T中。v最后注意到全空这个输的状态属于T。vO(1)越逃篮灌榜曾讲作凿队大凄搽冶痕冗蜒蔑胺树狡搞捐骸翔徽熏海亭泌困琅做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题Tree v求一棵树中距离不超过给定值的点对数焊错水诌捕镐蜀技硼啃渐雁和雏
6、违酶钻芦适嫁雄馁哉爵滩持缩泊榔频炳浴做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题v对于一个树,去掉一个结点,最分散的每颗子树分别求解,然后用O(NLogN)的方法合并结果。 v一般排序 O(N(LogN)2)v基数排序 O(NLogN)菩诵船禹览充浩披腔睹饮枚辟管剁芍诫启砌苯甲涣虽坏讣弟赐黑疤醚雍赊做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题Coins v给出N种硬币和个数,问可以取到1-M中的多少个值。望皖看嫂佩啼诺镶创棺著譬细斯营褥绦寅延醚掐丙防食闰达慰膘寇碑拿溉
7、做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题v经典的01背包 复杂度O(NMC) 超时!v下面介绍来自Lee.MaRS大牛笔记的两种可以AC的方法歹祝攫艺体包淤邮窍盛祖财搂瞥昧安馅呀捷谚罢矗姬噪唾疲坛亮沿苹贿材做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题方法一v将1.ci的coin看面1,2,4,.2x,ci-(2x+1-1)的组合。v例如15个1与1 2 4 8是等价的v复杂度降为O(NMlogC)v将多个bool压成int(Pascal 32个bool压成long
8、int,C 直接使用bitset)田坊呜躇甚吧盛称惰卖淆觅废络舱吕缅纪榆隘嫩眷贰祟冒匆赴擎截椿盗药做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题方法二v剩余类优化的动态规划算法v状态仍然是Fi,j表示用前i种钱币是否能拼出面值j。考虑在计算第i阶段时,面值为di,数量为ni。从状态转移方程中,我们发现Fi,j所依赖的所有状态,都属于模di的一个剩余类j mod di,即不同剩余类内的状态不相互影响。于是,我们可以将第i个阶段的状态按剩余类划分,每次只对一个剩余类的状态进行更新。v复杂度O(NM)拎争疼挠徒堪柔辣雄忽龙纯抵醇喷鞍渭拘插
9、打韶削仙缔恩卵雏赏期挟亩剥做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题Musical Theme v给出一个数列,将数列相邻两项做差,形成新数列,求数列中的最长重复子串(不可相交)欢谰荐穿呐厚冻裴镣促幌搽甚帐喳救请稍邦焦心扳岁济箔踏雌屉钝嗜诌吩做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题方法一v后缀数组+二分答案(后缀数组相关内容可以看许智磊的论文)v假如二分得到答案L,如何知道它是可行的呢?v因为对于排序后的后缀,Lcp ( Suffix ( List i ) ,
10、Suffix ( List i - 1 ) )v是所有与Suffix ( List i )的LCP值中最大的一个。v因为 Height i 表示的是排序后后缀数组中第i个后缀和第i-1个后缀的LCP值。v那么对于后缀数组中的一段 L - R , 若 Height L + 1 Height R 全部大于等于L,那么就等价于第L到第R个后缀中任意两个后缀的LCP值都大于等于L。v那么只要取这里面相隔最远的两个后缀,若他们相距大于L,那么就是可行的。v( 为什么不是等于L呢 ? 因为我们取的关键字是 Si-Si-1 , 若相距等于L,那么两段里面的首尾相连了,是不符合条件的)vP.S. LCP =
11、最长公共前缀梆荒掐寿雕霄媚瘩亲筷估急筹壳恩辑诽署镍楔卢苑入奸捻心黄尖莫讳枪麓做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题方法二TimGreen大牛的方法v先坐出原数列差数列。对差数列建后缀树。v如果不要求不相交的话。因为每一个中间结点以下的子树至少有两个叶子。所以这个结点到根行成的单词一定是重复子串。那么只要对后缀树中和每一个中间结点看不看长度,找出最大的就是答案。v现在考虑相交的情况。v对于一个中间结点,它到根和单词可以是不相交和重复子串,它以下的叶子结点中有两个的长度差=这个重复子串的长。v所以我们从下到上树形Dp,O(N)计
12、算出每一个中间结点下的叶子结点长度的最大值和最小值。vO(N)胚蹋谈具辖棘哩萍袍恿厨鸯饵记扫贸殊所郴埠掳渠巢菏拧伏揩蹿婿义怔扁做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题Elevator Stopping Plan v给出N个人要去的楼层。电梯4s每层,人20s每层,电梯若要在一层停留就要停留10s。求最迟到的人的最早能到达时间。蝎洛扣腹欺御金厅腆臆友颜迁蛋览叫吊符陀馋哮黎拱狐孵唉称辖霍到盲业做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题O(NlogN)v对于每个给定的
13、时间t,我们可以使用贪心法确定是否可以在时间t内让所有人都到达目的层。显然,每一次电梯都尽量往上开。v比如说现在第i层有人要下,电梯应该在哪一层停靠呢?假设电梯已经停靠了n次,那么我们让电梯在第j=(t-10*n+20*i+4)/24层停靠即可。注意此时若ji,那么在t时间内不可能让所有人都到达所在层。对t枚举时可以采用二分法,加快速度。v注意:1。可以直接走楼梯。 v2电梯在第j层停靠以后,不能直接继续考虑第 2*j-i+1层,而是考虑第(t-10*n+16*j+4)/20+1层。 荒惺淑贡宣腰揣缴携中蓟伶大损犁黎吵吗绢妓署宫祁返沏睦怖印乍诫财桅做男人不容易系列是男人就过题LouTiancheng题做男人不容易系列是男人就过题LouTiancheng题