随笔分类 - ACM——思维
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1086 题意:给出n个点的树,让你对树进行分块,每块的大小范围在[b, 3b]之间。 思路:一开始想着维护一个sz[u]代表以u为根的子树(不包括u本身)的大小,如果在范围之内就分成一块,但是这样写感觉
阅读全文
摘要:http://acm.timus.ru/problem.aspx?space=1&num=2064 题意:有n只虫子在爬树,每个虫子往上爬ti距离后会往下掉落ti距离,每爬一个单位距离耗费一个单位时间,然后重新往上爬。有q个询问,询问当前的x时刻,爬的最高的虫子所在的最高位置。 思路:画个以时间为x
阅读全文
摘要:http://acm.timus.ru/problem.aspx?space=1&num=2070 题意:A认为如果某个数为质数的话,该数字是有趣的。B认为如果某个数它分解得到的因子数目是素数的话,那么该数字是有趣的。 现在问[L,R]里面有多少个数是同时满足这两个条件或者同时不满足这两个条件的数。
阅读全文
摘要:http://codeforces.com/problemset/problem/760/B 题意:有n张床m个枕头,每张床可以有多个枕头,但是相邻的床的枕头数相差不能超过1,问第k张床最多能拥有的枕头数是多少。每张床至少有一个枕头。 思路:因为每张床至少需要一个枕头,所以先将m减掉n之后来考虑剩余
阅读全文
摘要:http://codeforces.com/problemset/problem/760/C 题意:有n个盘子,每个盘子有一块肉,当肉路过这个盘子的时候,当前朝下的这一面会被煎熟,每个盘子有两个数,pi代表接下来去第pi个盘子,bi为1的话,这块肉会被反面,0的话这块肉不变。对于每块肉,要让它的两面
阅读全文
摘要:http://poj.org/problem?id=3318 题意:问A和B两个矩阵相乘能否等于C。 思路:题目明确说出(n^3)的算法不能过,但是通过各种常数优化还是能过的。 这里的随机算法指的是随机枚举矩阵C的一个位置,然后通过A*B计算是否能够得到矩阵C相应位置的数,如果不等,就直接退出了,如
阅读全文
摘要:http://codeforces.com/problemset/problem/152/C 题意:给出n条长度为m的字符串,对于第一条字符串的每个位置利用第2~n条字符串的相应位置的字符去替换相应的位置,问能构造出多少种字符串。 思路:因为每个能交换的位置是固定的,所以交换之后那个位置始终由在那个
阅读全文
摘要:http://codeforces.com/problemset/problem/758/D 题意:给出一个进制数n,还有一个数k表示在n进制下的值,求将这个数转为十进制最小可以是多少。 思路:模拟着做,有点像two-pointer的做法。正着扫这个字符串,如果找到一个符合题意的即比n小的数,那么这
阅读全文
摘要:http://codeforces.com/problemset/problem/758/C 题意:教室里有n列m排,老师上课点名从第一列第一排开始往后点,直到点到第一列第m排,就从第二列第一排开始点,当点完第n列的名之后,接着点第n-1列的名。以此类推,就是从列上来看的话:1,2,3,4,……,n
阅读全文
摘要:http://codeforces.com/problemset/problem/305/B 题意:就是判断 p / q 等不等于那条式子算出来的值。 思路:一开始看到 1e18 的数据想了好久还是不会,暴力了一发显然错了。后来倒着想,就是 p / q(整除)的值一定要大于等于 a[i],否则就不行
阅读全文
摘要:http://codeforces.com/contest/755/problem/E 题意:给出n个点和一个距离d,让你在这个n个点的图里面构造一个子图,使得这个子图的直径和补图的直径的较小值为d,如果不可能输出-1,如果可能把子图的边表示出来。 思路:一个图的直径就是图的任意两点之间的距离的最大
阅读全文
摘要:http://codeforces.com/problemset/problem/755/D 题意:给出一个n正多边形,还有k,一开始从1出发,向第 1 + k 个点连一条边,然后以此类推,直到走完 n 次。对于每一步都要输出当前多边形中有多少个多边形。 思路:画了几幅图后发现规律:两个点相连,这条
阅读全文
摘要:http://codeforces.com/problemset/problem/755/B 题意:A可以喊出n个字符串,B可以喊出m个字符串,如果一个字符串之前被喊过,那么它再也不能喊了,A先喊,最后没得喊的输。问谁赢。 思路:用map判断A、B中字符串一样的个数,因为A可以先喊,然后B再喊,每个
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2830 题意:…… 思路:对于每一列,它是固定的,用dp[][]处理出连续的长度。例如: 假设我们扫第四列的时候,我们可以知道 i = 4,j = 1这个位置是4,那么它上面是有3个连续的1,因此它的面积可以是4
阅读全文
摘要:http://codeforces.com/contest/750/problem/C 题意:有n场比赛,每场比赛有一个c,代表比赛结束后分数的增长情况,有一个d,代表这场比赛在div1或者div2打。div1 >= 1900,div2 < 1900。求打完这n场比赛后可能得到的最大分数。如果无限大
阅读全文