上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 59 下一页
摘要: 整理一些结论。 1、关于组合数 $C_n^m = \frac{n!}{m!(n-m)!}$ $C_n^m = C_n^{m-1} + C_{n-1}^{m-1}$ $C^0_n+C^1_n+C^2_n+...+C^{n-1}_n+C^n_n=2^n$ $C_n^m ≡ C_{n/p}^{m/p} \ 阅读全文
posted @ 2018-04-27 08:58 MJT12044 阅读(429) 评论(4) 推荐(1) 编辑
摘要: 链接 思路 二分+搜索+剪枝。 首先二分一个答案,表示最多可以切出x块。(一个结论:切出的一定是从较小的前x块。如果一个木材可以满足很多个需要的木材,那么切出最小的,就意味着以后再选时的机会更多。) 然后暴力搜索前x块分别由哪个木材切出。 剪枝1:如果所有提供的木材加起来也不能满足需要的木材,直接跳 阅读全文
posted @ 2018-04-27 08:17 MJT12044 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 链接 思路 好题! x,y太大了,直接搜索切在哪里显然会TLE,所以换种方法切。 由于要求所有的蛋糕必须面积等大,所以在一次切的过程中,不论横切还是竖切,必须切在等分点上,即使切完分成的两份的面积之比 等于 人数之比。 所以搜索时记录三个变量,蛋糕大小,人数,枚举切的位置。 疑惑:开始忘记了m/2, 阅读全文
posted @ 2018-04-17 22:03 MJT12044 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 链接 思路 首先是dp,如果直接用每个种颜色的剩余个数做状态的话,复杂度为5^15。 由于c<=5,所以用剩余数量的颜色的种类数做状态:f[a][b][c][d][e][last]表示剩余数量为1的颜色种类数,为2,3,4,5的。 转移时,如果上一次使用的是为4的,这次如果转移使用3的话,为了使相邻 阅读全文
posted @ 2018-04-17 20:38 MJT12044 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 链接 思路 首先一个结论,对于一个数$n = p_1^{a_1}p_2^{a_2}...p_k^{a_k}$,它的因数的个数是$(a_1+1)(a_2+1)...(a_k+1)$,而且对于2,000,000,000,只要将素数2*3*5*...*31就比它大了,所以,可以搜索2,3,5...31这些 阅读全文
posted @ 2018-04-17 16:56 MJT12044 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 链接 思路 每次选两个点,spfa,到每个点需要搬多少石头,再枚举两个点,判断是否可以在搬得石头的个数小于t的情况下,走到,取最大值。 zz的我,spfa都不会写了。。。 代码 阅读全文
posted @ 2018-04-17 15:24 MJT12044 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 链接 思路 bug漫天飞。。。 维护一颗线段树,支持区间赋值,和区间异或。因为会处理到一些方括号还是圆括号的问题,所以对于每一个下标都乘2,假设中间有一个.5即可,都变成了方括号,输出在处理一下。 U [l,r]赋值为1 I [0,l-1],[r+1,n]赋值为0 D [l,r]区间涂0 C [0, 阅读全文
posted @ 2018-04-17 15:23 MJT12044 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 链接 思路 题目要求$\sum\limits_{i=1}^n\sum\limits_{j=1}^m [(i,j)为素数]$ 枚举一个素数,考虑它的贡献 $\sum\limits_p\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m} [(i,j)=p]$ 后面的利用b 阅读全文
posted @ 2018-04-15 15:25 MJT12044 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 链接 思路: 发现总的区间长度是不固定的,线段树是无法每次增加一个位置的,所以直接开始时默认区间长度是n(最多插入n个数),所以直接建线段树维护即可。 另一种思路:维护一个单调栈,从上往下保证递增,并且记录栈中每个元素的位置,每次询问寻找栈中最靠下的,位置满足条件的元素。 代码 线段树:992ms 阅读全文
posted @ 2018-04-10 21:50 MJT12044 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 3714: [PA2014]Kuglarz 链接 思路: 好题。对于每个点都需要确定它的值,那么一个点可以直接询问[i,i]来确定,或者已经知道了[i,j]和[i+1,j]推出来。 但是可能产生冲突,所以要增加一些限制。比如选了[1,1]和[2,2]就不能再选[1,2]了。 还有一个结论:答案一定是 阅读全文
posted @ 2018-04-04 11:20 MJT12044 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 链接 思路: 斜率优化dp。 $ans= m^2 \sum_{i=1}^m \frac{(x_i-\frac{sum}{m})^2}{m}$ $x_i$为第i天走的路程。 化简后$ans = m\sum_{i=1}^{m}x_i^2-sum^2$ 那么ans也就是与$x_i^2$有关。所以求出最小的 阅读全文
posted @ 2018-04-04 08:06 MJT12044 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 链接 思路: 首先,要确定定m个位置,这些位置要求必须i=a[i],所以方案数是C(n,m),对于剩下的位置,要求i!=a[i],所以要求是一个错排。 错排公式: p[0] = 0,p[1] = 1 p[i] = (i-1)*(p[i-1]+p[i-2]) 代码 阅读全文
posted @ 2018-04-03 17:22 MJT12044 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 考试总结及注意的地方: 首先: 思路: 挖掘性质。 代码实现,保证代码正确 跑一下极限数据,看运行时间,输出是否正常(负数,1000000000)。(无法对拍的程序,也要跑一下极限数据,然后看一下输出是否正常) 其他: 思路总结: 贪心/其他的思路难写 -> 考虑dp dp想不出 -> 挖掘性质先想 阅读全文
posted @ 2018-04-03 16:47 MJT12044 阅读(356) 评论(10) 推荐(3) 编辑
摘要: 链接 分析: 点分治。 代码: 阅读全文
posted @ 2018-04-02 20:02 MJT12044 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 3687: 简单题 Description 小呆开始研究集合论了,他提出了关于一个数集四个问题:1.子集的异或和的算术和。2.子集的异或和的异或和。3.子集的算术和的算术和。4.子集的算术和的异或和。 目前为止,小呆已经解决了前三个问题,还剩下最后一个问题还没有解决,他决定把这个问题交给你,未来的集 阅读全文
posted @ 2018-04-02 19:29 MJT12044 阅读(292) 评论(0) 推荐(0) 编辑
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 59 下一页