经典问题求解 hnu2课件.docVIP

  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文档。上传文档
查看更多
经典问题求解 归并排序求逆序……………………………………………………………………….1 zipper,经典dp…………………..……………………………………………………1 2分图最小覆盖,poj2226…………………………………………………...………..2 混合图欧拉回路……………………………………………………………………….5 欧拉路径的判定……………………………………………………………………….8 打印欧拉路径………………………………………………………………………….9 最小割应用,poj 2125………………………………………………………………..10 8. 同余类, blog, poj 1465………………………………………………………………….14 9. 同余应用最短路, hoj有题……………………………………………………………..15 10. dp用于概率递推………………………………………………………………………17 11. 最长递增子序列,nlogn算法………………………………………………………..19 12. 2分求解A + A^2 + A^3 + .. + A^N(矩阵模板)…………………..……………….20 13. 常用结论………………………………………………………………………………22 14. 大数模板………………………………………………………………………………27 15. 第1类环排列问题(数论)…………………………………………………………32 16. 给定一个图,求最少添加多少条边变双连通图……………………………………34 18. 图的度序列(havel)定理,并输出邻接矩阵………………………………………37 19. 经典匹配, 信与信封问题…………………………………………………………..39 20. 线段树求解Joseph问题………………………………………………………………41 21. 2^x?mod?n?=?1?Again……………………………………………………………………43 22. 出纳员的雇佣(差分约束)………………………………………………………….45 23. booksort( IDA* )………………………………………………………………………..46 24. 矩阵求和A + A^2 + A^3 + .. + A^N,另一种方法………..…………………………48 25. 欧拉序列配合线段树………………………………………………………………….51 26. km算法求解最小权匹配,poj 2516………………………………………………….54 1.归并排序求逆序(num为结果) __int64?a[500001],b[500001]; __int64?num; void?merge(__int64?s,__int64?i,__int64?e) {??__int64?k=s,d=i+1,t=0; ???while(k=id=e) ??????if(a[k]a[d]) ??????{??num+=i-k+1;//关键? ?????????b[t++]=a[d++];? ??????} ??????else?b[t++]=a[k++]; ???if(ki)? ?????for(;d=e;d++) ???????b[t++]=a[d]; ???else ?????for(;k=i;k++) ???????b[t++]=a[k]; ???for(k=s,d=0;dt;d++) ???????a[k++]=b[d]; } void?sort(__int64?s,__int64?e) {??__int64?i,j; ???if(se) ???{??i=(s+e)/2; ??????sort(s,i); ??????sort(i+1,e); ??????merge(s,i,e); ???} } 2.zipper #include cstdio #include cstdlib #include cstring const int N = 205; char a[N], b[N]; char c[410]; bool dp[N][N]; int main() { int t, tc; scanf( %d, t ); for( tc = 1; tc = t; tc++ ) { scanf( %s%s%s, a, b, c ); int i, j, lena, lenb; lena = strlen( a ); lenb = strlen( b ); dp[0][0] = 1; for( i = 1; i = lena; i++ ) { if( dp[i-1][0]

文档评论(0)

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

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

1亿VIP精品文档

相关文档