摘要: http://codeforces.com/contest/828/problem/C 并查集的神奇应用。 阅读全文
posted @ 2017-12-31 11:40 ACMsong 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.bnuoj.com/v3/contest_show.php?cid=9147#info A题 sort之后交换首尾两个数。 B题 for一遍,如果每个数都在对应位置了,输出n;否则看一下不在对应位置的每个位置,是不是再映射一次以后恰好是自己,如果是cnt+2;否则cnt 阅读全文
posted @ 2017-12-31 11:39 ACMsong 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.bnuoj.com/v3/contest_show.php?cid=9148#info A题 满足条件的只有(1,2,4),(1,2,6),(1,3,6),所以先满足4,剩下的满足6,如果还有剩下的或者不够就不行。 B题 for一遍1到6即可。 C题 论半场排名,肯定是 阅读全文
posted @ 2017-12-31 11:39 ACMsong 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 比赛链接:https://www.bnuoj.com/v3/contest_show.php?cid=9146#info A题 国际象棋棋盘,黑白相间染色。 B题 最大值只取决于每个连通块的大小,一个连通块大小是k,它就会让结果乘以2^(k-1)。 C题 概率dp。居然第二天又考到没看出来。设dp[ 阅读全文
posted @ 2017-12-31 11:38 ACMsong 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://nanti.jisuanke.com/t/15773 近日,微软新大楼的设计方案正在广泛征集中,其中一种方案格外引人注目。在这个方案中,大楼由 nn 栋楼组成,这些楼从左至右连成一排,编号依次为 11 到 nn,其中第 ii 栋楼有 h_ih​i​​ 层。每栋楼的每一层为一 阅读全文
posted @ 2017-12-31 11:37 ACMsong 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 一般对于两个字符串,长度分别为n和m,其时间复杂度为O(nm)。 但是针对小字符集的情况,可以把复杂度降低到O(n^2+km),其中n为两个字符串较短的长度。这种方法对于两个字符串长度相差很大的情况比O(nm)要优化很多。 就假设所有的字符都是小写字母,这样就符合小字符集的前提了。设较短的字符串为S 阅读全文
posted @ 2017-12-31 11:36 ACMsong 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 数位DP其实是很灵活的,所以一定不要奢求一篇文章就会遍所有数位DP的题,这一篇只能是讲清楚一种情况,其他情况遇到再总结,在不断总结中慢慢体会这个思想,以后说不定就能达到一看到题目就能灵活运用的水平。(其实DP都是这样……) 这一篇要说的数位DP是一道最简单的数位DP:http://acm.hdu.e 阅读全文
posted @ 2017-12-31 11:35 ACMsong 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 问题重述: Description乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过50个长度单位。然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。请你设计一个程序,帮助乔治计算木棒的可能最小长度。每一节木棍的长度都用大于零的整数表示。Inp 阅读全文
posted @ 2017-12-31 11:35 ACMsong 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 问题描述:给一个数组a1,a2,...,an.求这个数组的最大连续子段和。(非空子段) 即,定义Sij=ai+...+aj,则题目要求的是 max{Sij}(1<=i<=j<=n) N^3枚举和优化之后的N^2枚举就不说了,还有NlogN的二分算法也不提,想了解的可以看我的另一篇博客:http:// 阅读全文
posted @ 2017-12-31 11:34 ACMsong 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 今天花了很长时间终于弄懂了这个算法……毕竟找一个好的讲解真的太难了,所以励志我要自己写一个好的讲解QAQ 这篇文章是在懂了这个问题n^2解决方案的基础上学习。 解决的问题:给定一个序列,求最长不下降子序列的长度(nlogn的算法没法求出具体的序列是什么) 定义:a[1..n]为原始序列,d[k]表示 阅读全文
posted @ 2017-12-31 11:33 ACMsong 阅读(622) 评论(0) 推荐(1) 编辑
摘要: 方法一:增量构造法 理解递归必须得理解函数到底是做什么的。 方法二:位向量法 枚举每一位选或者不选,复杂度比方法一略高但更好理解,因为与输出全排列思路差不多,满n位就输出。 缺点是输出不是按照字典序。 方法三:二进制法 稍加思考就会发现,方法二其实与二进制是对应的。 这个方法优点就是代码简单。 注意 阅读全文
posted @ 2017-12-31 11:32 ACMsong 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.bnuoj.com/v3/problem_show.php?pid=25660 这个二分真的是烧脑QAQ,想了一晚上才懂了一个大概。 首先,整体思路是二分,直观上感受一下,就是给第0类边加一个权值,这个权值越大,会让第0类边选的个数变少;权值变小,会上第0类边的个数 阅读全文
posted @ 2017-12-31 11:30 ACMsong 阅读(112) 评论(0) 推荐(0) 编辑