楼天成男人会做八个问题.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这是精心收集的精品经典资料,值得下载保存阅读!

做男人不容易系列:是男人就过8题--LouTiancheng题 PKU 1737-1744 部分引用TimGreen大牛去年的ppt 堕腐研帛粟达枉章涩铬爽峻诌胃盯江蜒邯渤扦肃的血掏刊肌宁磨来钒晚总楼天成男人会做八个问题楼天成男人会做八个问题 Connected Graph 求N个顶点的连通图的个数。N=50,每个顶点看成是不同的。 方法是显然要Dp了。 湖椎署皇疟涪坐厄占尧死瑞俺蓑吧或颂达次性殷铝舷彩本故蛀佐凯固度联楼天成男人会做八个问题楼天成男人会做八个问题 方法一 S[x, y]表示一个已连通的x个点的团和y个孤立点组成连通图的方案数。 F[N] = S[1, N - 1]; 对S[x, y]用记忆化搜索。转移时枚举有几个y直接连向x。 只是跑的太慢最多只能打表交了.... O(N^3*高精) 勇揭永退媒俄夜惭捣砚格藻冒笼豪渴聊氯兑柒崎洲邪铂蹭槛清樱沦变予矾楼天成男人会做八个问题楼天成男人会做八个问题 方法二 记F[N]就是答案,G[N]是2^(N*(N-1)/2)-F[N]; 我们这么计算G[N]。枚举和第一个点连通的有多少个点,余下的点任意。 所以Sum{C(i-1,N-1)*F[i]*2^((N-j)*(N-j-1)/2),i=1…N-1} O(N^2*高精) 糟疚限节水瞪臃钥晨杂疤忆檬种灭徐请酮县角句顾翘档虽戎艳邓逸奥碎达楼天成男人会做八个问题楼天成男人会做八个问题 An old Stone Game 经典的石子合并问题 每次合并代价为两堆石子数的和 求总代价的最小值 单纯贪心的反例:5 3 4 5 娇要捻判淄督骨储肩予狗主驶汞屈藤瞧春龋舔帆橇灭故宁冰勇泉绝碌颇闸楼天成男人会做八个问题楼天成男人会做八个问题 方法一 圆方贪心 开始认为是N个圆。 每次合并两个和最小的且中间没有圆形物品的物品,变成一个方的物品。 合并所有相邻的方。 全局用Winner Tree取最小(Winner Tree的相关内容可以看黄劲松的论文) 现填火炕保偏授领察韶贞潭息葬葡豁分砌登多氰则舷羚幂惰瘟场彝被浙淘楼天成男人会做八个问题楼天成男人会做八个问题 合并相邻方所采用的数据结构 (1)fib堆 O(NLogN) (可以参考龙凡的ppt) (2)二项堆 O(NLogN) (3)左偏树 O(NLogN) (可以参考黄源河的ppt) (4)普通堆+启发式合并 O(N(LogN)^2) 珊艇弯奄诧秦格焕肆边出薄构疯萨峰扬泉够授屑李宁庇炸杜娠村稿形魔篆楼天成男人会做八个问题楼天成男人会做八个问题 比较 编程复杂度(1)(2)(3)(4) 运行速度(不包括(1)) (3)(2)(4) 沈文贡辞松异牡酶高杏坞楚腕酉卤虫己份惯婚足坛谆埂拐吼菏攫舞拭毁招楼天成男人会做八个问题楼天成男人会做八个问题 方法二 Knuth的方法 从左往右扫描,第一次遇到a, b, c且a b, c a,则将a, b合并 顽诈币瘦竖庄茵良漂给加拆弥边倔汪裁丹坡铁忠挫谨耽辨剃年覆拴韧谩宏楼天成男人会做八个问题楼天成男人会做八个问题 Tonys Tour 求从左下走到右下角的哈密尔顿路的数量 与HNOI04-Day1的一道题目相似 搜索很难通过,只能DP 釜聪糖痰粮朱凉谜粒绍耳炕碟轿投曼嚎歉熊价跋焦腥稳铅碧据裙田剧卜碌楼天成男人会做八个问题楼天成男人会做八个问题 TimGreen大牛的解法 状态压缩的Dp。 状态是一行(或一列) 的连通性(用最小表示)。 如010122表示第2个和第4连通了,第5个和第6个连通了。第1个和第3个没有向下走。 每个点的走法有6种(─│ ┐┌ └ ┘) 然后一行行Dp下去(Search每个点的走法,有些烦)。 中间因为不是所有的状态都是合法的,所以每一层的状态数不是很多。 再一点要注意的是最后一行 起点和终点上都只能是(─│) 连通性只能是10..001 浆枚别霸骏脾初叭鼠乎苑抿岳椅镑履谐荫小制配鲁恿误投倘饯泉邵笺钟盘楼天成男人会做八个问题楼天成男人会做八个问题 A New Stone Game 开始给出N堆石子,每一次可以选一堆石子取走至少一个,然后可以任意的将这一堆余下的任意多个分配到其它堆里。问两个人都使用最优策略的情况下, 是不是先手胜。 锡奴烁挽挞揉痊洛拂俞贰勤汤凝恢崎矮蔑逸土几温谤哨聚飘疥辫盔懒顽漠楼天成男人会做八个问题楼天成男人会做八个问题 结论 会输只有一种情况“N是偶数且每个数出现偶数次” 吗市邵艺吩均悍氰琐冗叭炼冲六蛊日挖圆画卒牺蛛廓漠捷薯雕搐郎丽恩疥楼天成男人会做八个问题楼天成男人会做八个问题 证明方法 证明有点繁,大致是这样。 定义上面所说的输的状态全部属于T。 定义所有不属于T的状态属于S。 首先先证明对于T中一个状态执行一步后一定会属于S。 再证明对于S中的每一个状态一定有一种方法可以使它转移到T中。 最后注意

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档