摘要: 【传送门:caioj1441】 简要题意: 给出一个n个数的序列,m个询问,每个询问输入l,r,k,输出第l个数到第r个数第k小的数 题解: 首先想到线段树,但是做不到询问区间的第几小,只能做到最大或最小或和 所以我们用权值线段树——主席树来解决这道题 参考代码: 阅读全文
posted @ 2017-10-22 14:21 Star_Feel 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 【传送门:BZOJ1607】 简要题意: 给出n个数,求出在其他数中有多少个数为每个数的约数(lydsy的题意好像错了) 题解: 听说用叫什么筛选的方法QAQ,不会,结果偷窥了神犇,发现常数不大 就直接用O(k2)的时间复杂度,k为常数 记录n个数的最大值,然后将n个数不断累积倍数,得到的值的次数加 阅读全文
posted @ 2017-10-06 15:33 Star_Feel 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 【传送门:BZOJ1597】 简要题意: 给出n块土地,给出每块土地的长和宽,可以将n块土地分成若干组,每一组的费用是组中的长最大的土地的长与宽最大的土地的宽的乘积,求出将n块分成若干组的最小费用 题解: 首先我们将一些土地排除,排除哪些土地呢? 先将土地按长度递增排序,然后长度相同按宽度递增排序 阅读全文
posted @ 2017-10-06 11:01 Star_Feel 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 【例题传送门:BZOJ1010】 BZOJ1010: [HNOI2008]玩具装箱toy 【题意】给出n条连续线段,每条线段都有长度为x[i],我们可以把连续若干条线段连在一起,变成一个组合,两条线段如果相连,就要在两条线段中间添加一个长度为1的格子(如果没有相连就不用添加),假如我们现在选择把第i 阅读全文
posted @ 2017-10-06 10:34 Star_Feel 阅读(650) 评论(0) 推荐(1) 编辑
摘要: SET函数的基本用法 by hhl 使用set的好处 1. 当增加元素后,集合会自动删重并从小到大排列(时间比快排还快)2. 相当于一棵伸展树(能快速求出后继) 使用基础 例题 题目:输入n个数,输出一个无重复从小到大的集合。输入:第一行输入n,第二行输入n个数(a[1],a[2]….a[n])输出 阅读全文
posted @ 2017-10-06 09:54 Star_Feel 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 【传送门:BZOJ1588】 简要题意: 给出n个数,每个数只能前面的任意一个数相减,要求差的绝对值最小,求出所有数做的差的最小绝对值的和(第一个数做得差的最小绝对值就是它自己) 题解: 伸展树SPLAY,将n个数逐个放进伸展树中,在放一个数时,先求出这个数在树中的前驱和后继,然后比较哪个最接近这个 阅读全文
posted @ 2017-10-06 08:55 Star_Feel 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 【传送门:BZOJ3172】 简要题意: 给出n个单词,你可以理解为将这些单词变成一个个段落,然后求出每个单词在所有段落中出现的次数 题解(一): 刚开始不是很懂题目,结果发现将所有单词看成一篇文章,每个单词看成一个段落就懂了 由于某种unbelievable的原因,我刚好做了AC自动机的专题训练, 阅读全文
posted @ 2017-10-05 09:45 Star_Feel 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 【传送门:BZOJ1497】 简要题意: 总公司有n个可以修建的电站(一开始一个电站都没有修建),每个电站都有一个修建的成本p,给出m个客户,每个客户都必定从x电站打电话给y电站,会带给总公司带来c的利益,求出能得到的最大利益 题解: 一开始想到网络流,但是不知道怎么建边,而且网上神犇都用什么“最大 阅读全文
posted @ 2017-10-01 10:09 Star_Feel 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 【传送门:BZOJ1306】 简要题意: 有n个队伍,每个队伍都要和其他队伍比一场,赢了的队得3分,输了的队不得分,打平两队各得一分,给出每个队伍的得分,求出对战方案数 题解: DFS暴搜!!一眼就觉得暴搜,但是时限尴尬,加了些剪枝,10s压线,真的幸运 剪枝: 1.如果当前队伍所搜索到的结果得分大 阅读全文
posted @ 2017-10-01 08:38 Star_Feel 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 【传送门:BZOJ1086】 简要题意: 给出n个点,n-1条边,将这n个点分成若干个部分,每个部分都有一个中心,给出B,要求2B>=每个部分的点数>=B,是每个部分中的任意一个点到达中心所经过的点(除了最后一个点,即该部分的中心点)都必须属于该部分,求出是否能满足将n个点都分成若干个部分 题解: 阅读全文
posted @ 2017-09-28 19:18 Star_Feel 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 【传送门:BZOJ1082】 简要题意: 给出m块有长度的可切割木板,n块有长度的需要木板,求出最多能够切割出多少块需要木板 题解: 二分答案,然后用搜索来判断这个答案是否能够达到,比较简单 但是需要剪枝,其实就是减去一些不必要的搜索,先快排两种木板,如果最小需要的木板比可切割的一些木板还要大的话, 阅读全文
posted @ 2017-09-28 13:06 Star_Feel 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 【传送门:BZOJ2763】 简要题意: 给出n个点(编号为0~n-1),m条双向边,每条边都有权值,每经过边都要花该边的权值的费用,但是可以免费走k条边,求出从起点到终点的最少花费 题解: SPFA,但要在list中添加一个变量为c,表示使用了多少次免费的机会,然后用二维数组f来记录答案,f[i] 阅读全文
posted @ 2017-09-27 19:34 Star_Feel 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 【传送门:BZOJ1303】 简要题意: 给出一条n个数的序列,保证序列里的数为1~n,且互不相等,再给出一个数b,求出以b为中位数的长度为奇数的子序列个数 题解: 显然要你求以b为中位数的长度为奇数的子序列,其实就是求包含b的,以b为中位数的子序列,因为序列中的数互不相等,而且求的是奇数长度 那我 阅读全文
posted @ 2017-09-27 13:54 Star_Feel 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 【例题传送门:caioj1177】 KMP模版:子串是否出现 【题意】有两个字符串SA和SB,SA是母串,SB是子串,问子串SB是否在母串SA中出现过。如果出现过输出第一次出现的起始位置和结束位置,否则输出"NO"【输入文件】第一行SA(1<= 长度<=1000000)第二行SB(1<= 长度<=1 阅读全文
posted @ 2017-09-26 21:00 Star_Feel 阅读(1455) 评论(0) 推荐(1) 编辑
摘要: 作为本校的竞赛生,我必须为我大OJ打call caioj,小白菜oj,顾名思义,就是为刚踏进OI的“小白菜”们准备的网站,里面包含了许多专题内容,各种模版和讲解视频 而且对于刚学习C++的同学,更有帮助,OJ题目的第一版就已经为这些同学展现了C++的魅力与学习方式,让各位“小白菜”能够轻松的入门 你 阅读全文
posted @ 2017-09-26 19:00 Star_Feel 阅读(696) 评论(0) 推荐(0) 编辑