随笔分类 -  OJ&Competition——BZOJ

摘要:【传送门:BZOJ2463】 简要题意: 给出n*n的棋盘,有一个棋子在左上角,Alice和Bob轮流推棋子,可以上下左右移动,但是不可以移动到之前经过的位置,轮到一个人推时,没法再推,那么这个人就输了,假设Alice先推,两个人都是用最优策略推,请问谁会赢? 题解: 一眼就看出来博弈,而且十分眼熟 阅读全文
posted @ 2017-10-27 13:52 Star_Feel 阅读(191) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1680】 简要题意: 奶牛经营了一家酸奶工厂,生意非常红火。在接下去的N 个月里,第i 个月需要向社会提供Ai 吨酸奶。酸奶的生产受到很多因素的影响,所以每个月的生产成本是变化的,其中第i 个月的成本是 每吨Ci 元。 奶牛可以提前里把酸奶做好,存在仓库里,等需要的时候再拿出来卖 阅读全文
posted @ 2017-10-27 13:28 Star_Feel 阅读(233) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1607】 简要题意: 给出n个数,求出在其他数中有多少个数为每个数的约数(lydsy的题意好像错了) 题解: 听说用叫什么筛选的方法QAQ,不会,结果偷窥了神犇,发现常数不大 就直接用O(k2)的时间复杂度,k为常数 记录n个数的最大值,然后将n个数不断累积倍数,得到的值的次数加 阅读全文
posted @ 2017-10-06 15:33 Star_Feel 阅读(200) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1597】 简要题意: 给出n块土地,给出每块土地的长和宽,可以将n块土地分成若干组,每一组的费用是组中的长最大的土地的长与宽最大的土地的宽的乘积,求出将n块分成若干组的最小费用 题解: 首先我们将一些土地排除,排除哪些土地呢? 先将土地按长度递增排序,然后长度相同按宽度递增排序 阅读全文
posted @ 2017-10-06 11:01 Star_Feel 阅读(214) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1588】 简要题意: 给出n个数,每个数只能前面的任意一个数相减,要求差的绝对值最小,求出所有数做的差的最小绝对值的和(第一个数做得差的最小绝对值就是它自己) 题解: 伸展树SPLAY,将n个数逐个放进伸展树中,在放一个数时,先求出这个数在树中的前驱和后继,然后比较哪个最接近这个 阅读全文
posted @ 2017-10-06 08:55 Star_Feel 阅读(147) 评论(0) 推荐(0)
摘要:【传送门:BZOJ3172】 简要题意: 给出n个单词,你可以理解为将这些单词变成一个个段落,然后求出每个单词在所有段落中出现的次数 题解(一): 刚开始不是很懂题目,结果发现将所有单词看成一篇文章,每个单词看成一个段落就懂了 由于某种unbelievable的原因,我刚好做了AC自动机的专题训练, 阅读全文
posted @ 2017-10-05 09:45 Star_Feel 阅读(235) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1497】 简要题意: 总公司有n个可以修建的电站(一开始一个电站都没有修建),每个电站都有一个修建的成本p,给出m个客户,每个客户都必定从x电站打电话给y电站,会带给总公司带来c的利益,求出能得到的最大利益 题解: 一开始想到网络流,但是不知道怎么建边,而且网上神犇都用什么“最大 阅读全文
posted @ 2017-10-01 10:09 Star_Feel 阅读(177) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1306】 简要题意: 有n个队伍,每个队伍都要和其他队伍比一场,赢了的队得3分,输了的队不得分,打平两队各得一分,给出每个队伍的得分,求出对战方案数 题解: DFS暴搜!!一眼就觉得暴搜,但是时限尴尬,加了些剪枝,10s压线,真的幸运 剪枝: 1.如果当前队伍所搜索到的结果得分大 阅读全文
posted @ 2017-10-01 08:38 Star_Feel 阅读(272) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1086】 简要题意: 给出n个点,n-1条边,将这n个点分成若干个部分,每个部分都有一个中心,给出B,要求2B>=每个部分的点数>=B,是每个部分中的任意一个点到达中心所经过的点(除了最后一个点,即该部分的中心点)都必须属于该部分,求出是否能满足将n个点都分成若干个部分 题解: 阅读全文
posted @ 2017-09-28 19:18 Star_Feel 阅读(181) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1082】 简要题意: 给出m块有长度的可切割木板,n块有长度的需要木板,求出最多能够切割出多少块需要木板 题解: 二分答案,然后用搜索来判断这个答案是否能够达到,比较简单 但是需要剪枝,其实就是减去一些不必要的搜索,先快排两种木板,如果最小需要的木板比可切割的一些木板还要大的话, 阅读全文
posted @ 2017-09-28 13:06 Star_Feel 阅读(196) 评论(0) 推荐(0)
摘要:【传送门:BZOJ2763】 简要题意: 给出n个点(编号为0~n-1),m条双向边,每条边都有权值,每经过边都要花该边的权值的费用,但是可以免费走k条边,求出从起点到终点的最少花费 题解: SPFA,但要在list中添加一个变量为c,表示使用了多少次免费的机会,然后用二维数组f来记录答案,f[i] 阅读全文
posted @ 2017-09-27 19:34 Star_Feel 阅读(225) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1303】 简要题意: 给出一条n个数的序列,保证序列里的数为1~n,且互不相等,再给出一个数b,求出以b为中位数的长度为奇数的子序列个数 题解: 显然要你求以b为中位数的长度为奇数的子序列,其实就是求包含b的,以b为中位数的子序列,因为序列中的数互不相等,而且求的是奇数长度 那我 阅读全文
posted @ 2017-09-27 13:54 Star_Feel 阅读(267) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1305】 简要题意: 有n个男生和n个女生,男生和女生之间存在喜欢关系(只可能互相喜欢,不存在单向喜欢),给出一个字符矩阵代表男生女生之间的关系。他们要跳舞,跳舞的时候有歌,可以跳若干首歌,每一首歌他们只能选择之前的歌曲中没有选择过的异性舞伴,每个男生和女生最多只能和k个他们不喜 阅读全文
posted @ 2017-09-23 10:28 Star_Feel 阅读(219) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1207】 简要题意: 有一个n*n的矩阵,给出m个点,每个点都在固定的位置,固定的时刻出现,点按照出现的时刻递增给出,保证同一时刻同一位置只可能出现一个点。一开始一个人可以在矩阵的任意位置出现,每秒钟可以走四个方向(上下左右),也可以停顿。求出最多能走过的所有点(当点出现时才算走 阅读全文
posted @ 2017-09-19 21:27 Star_Feel 阅读(203) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1202】 简要题意: 给出T组数据,每组数据有n个点,每个点都有值,给出m个区间和,判断是否所有区间和都合法 题解: 乍一眼,就是前缀和的处理,但并没有想到做法,后来发现并查集维护前缀和好像行得通,而且网上的神犇们都用并查集,而且似乎叫做带权并查集 注意当求i点祖先时,要记得对v 阅读全文
posted @ 2017-09-17 16:26 Star_Feel 阅读(287) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1257】 简要题意: 给出一个整数n,k,求出k%1+k%2+k%3+...+k%n的值 题解: 看到这道题,暴力!!这是不可能的,n和k最大十亿(一脸懵逼),结果发现可以分块加速,把式子化成=k*n-Σi*(k/i)(1<=i<=n) 参考代码: 阅读全文
posted @ 2017-09-17 14:28 Star_Feel 阅读(206) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1189】 简要题意: 给出一个字符矩阵,'D'表示出口(不止一个出口),'.'表示空地,'X'表示墙(也就是不可走),保证墙和出口都在地图边缘。一开始每个空地上都有一个人,每个人可以上下左右四个方向行走,也可以停下来不走,每秒可以走一格,而每一块空地上可以同时站无数个人,但是在出 阅读全文
posted @ 2017-09-16 13:56 Star_Feel 阅读(196) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1179】 简要题意: 有n个城市,其中有一座中心城市,m条单向的道路连接城市,每一个城市里都可以获得钱,而有部分城市有酒吧,不限步数,每条道路可以重复走,但是一个城市里的钱不能重复获取,要求从中心城市出发,到任意一个有酒吧的城市所能获得的最大钱数 此处更正一下BZOJ的样例输入数 阅读全文
posted @ 2017-09-15 20:49 Star_Feel 阅读(191) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1191】 简要题意: 给出m个问题,给出n个锦囊,每个问题可以用两种锦囊解决(有可能这两种锦囊是同一种,这就很尴尬,可能出数据的神犇有点儿懒),但每种锦囊只能用一次,而且只有解决了前面的问题才能解决后面的问题,求出最多能解决多少问题 题解: 就是很裸的二分图匹配啦,直接匈牙利。 阅读全文
posted @ 2017-09-15 13:57 Star_Feel 阅读(168) 评论(0) 推荐(0)
摘要:【传送门:BZOJ1010】 简要题意: 给出n条连续线段,每条线段都有长度为x[i],我们可以把连续若干条线段连在一起,变成一个组合,两条线段如果相连,就要在两条线段中间添加一个长度为1的格子(如果没有相连就不用添加),假如我们现在选择把第i条到第j条线段之间的所有线段变成一组合的话,这个组合的总 阅读全文
posted @ 2017-09-14 21:25 Star_Feel 阅读(193) 评论(0) 推荐(0)