上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页
摘要: 题目链接:BZOJ - 3585题目分析区间mex,即区间中没有出现的最小自然数。那么我们使用一种莫队+分块的做法,使用莫队维护当前区间的每个数字的出现次数。然后求mex用分块,将权值分块(显然mex 一定小于等于 n ,大于 n 的权值没有意义,可以直接忽略),每块大小 sqrt(n) 。然后区间... 阅读全文
posted @ 2015-04-13 17:22 JoeFan 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 题目链接:BZOJ - 3052题目分析这道题就是非常经典的树上莫队了,并且是带修改的莫队。带修改的莫队:将询问按照 左端点所在的块编号为第一关键字,右端点所在的块为第二关键字,位于第几次修改之后为第三关键字 排序。我们将块的大小设置在 n^(2/3) ,这样一共有 n^(1/3) 个块。最后算法的... 阅读全文
posted @ 2015-04-13 14:58 JoeFan 阅读(1001) 评论(0) 推荐(0) 编辑
摘要: 题目链接:BZOJ - 3144题目分析题意:在 P * Q 的方格上填数字,可以填 [1, R] 。在 (x, y) 上填 z 会有 V[x][y][z] 的代价。限制:相邻两个格子填的数字的差的绝对值不能超过 D 。求一个合法的最小总代价。这道题是一个最小割模型,直接说建图吧。建图:每个点 (x... 阅读全文
posted @ 2015-04-09 17:43 JoeFan 阅读(352) 评论(0) 推荐(1) 编辑
摘要: 题目链接:BZOJ - 3894题目分析最小割模型,设定一个点与 S 相连表示选文,与 T 相连表示选理。那么首先要加上所有可能获得的权值,然后减去最小割,即不能获得的权值。那么对于每个点,从 S 向它连权值为它选文的价值的边,从它向 T 连权值为它选理的价值的边。对于一个点,它和与它相邻的点构成了... 阅读全文
posted @ 2015-04-09 16:16 JoeFan 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 题目链接:BZOJ - 2127题目分析首先,每个人要么学文科,要么学理科,所以可以想到是一个最小割模型。我们就确定一个人如果和 S 相连就是学文,如果和 T 相连就是学理。那么我们再来确定建图。首先使用最小割,就是先加上所有可能获得的权值,再减去最小割(即不能获得的权值)。如果一个人学理,就要割掉... 阅读全文
posted @ 2015-04-09 15:35 JoeFan 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 题目链接:BZOJ - 3198题目分析题目要求求出有多少对泉有恰好 k 个值相等。我们用容斥来做。枚举 2^6 种状态,某一位是 1 表示这一位相同,那么假设 1 的个数为 x 。答案就是 sigma((-1)^(x - k) * AnsNow * C(x, k)) 。注意 x 要大于等于 k。对... 阅读全文
posted @ 2015-04-07 10:59 JoeFan 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 题目链接:BZOJ - 2186题目分析题目要求出 [1, n!] 中有多少数与 m! 互质。(m #include #include #include #include #include using namespace std;typedef long long LL;const int MaxN... 阅读全文
posted @ 2015-04-07 09:21 JoeFan 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目链接:BZOJ - 3129题目分析使用隔板法的思想,如果没有任何限制条件,那么方案数就是 C(m - 1, n - 1)。如果有一个限制条件是 xi >= Ai ,那么我们就可以将 m 减去 Ai - 1 ,相当于将这一部分固定分给 xi,就转化为无限制的情况了。如果有一些限制条件是 xi ... 阅读全文
posted @ 2015-04-06 19:42 JoeFan 阅读(918) 评论(0) 推荐(0) 编辑
摘要: 题目链接:BZOJ - 1733题目分析直接二分这个最大边的边权,然后用最大流判断是否可以有 T 的流量。代码#include #include #include #include #include #include using namespace std; const int MaxN = 20... 阅读全文
posted @ 2015-04-04 21:50 JoeFan 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题目链接:BZOJ - 2440题目分析首先,通过打表之类的方法可以知道,答案不会超过 2 * k 。那么我们使用二分,对于一个二分的值 x ,求出 [1, x] 之间的可以送出的数有多少个。怎么来求呢?我们使用容斥原理。先求出不能送的数(即含有平方因子的数)有多少个,然后用总数减去就可以了。那么,... 阅读全文
posted @ 2015-04-03 20:48 JoeFan 阅读(277) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页