摘要: (图片资料摘自dzj_ppt) 最小生成树 克鲁斯卡尔 代码 阅读全文
posted @ 2019-10-04 18:32 毛炯人 阅读(174) 评论(0) 推荐(0) 编辑
摘要: ST表通常用于解决RMQ问题,支持的事静态查询区间的最值,不可修改。 其中建表的时间复杂度是O(nlgn),查询则是O(1)。 这里ST表其实用到了动态规划以及而分的思想,把每一个区间二分至自己是区间的最值,然后逐步进行比较,然后进行查询即可。首先我们建立一个st[][],用来存储从第i个开始,往后 阅读全文
posted @ 2019-10-02 20:34 毛炯人 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 这是2015noip的一道二分答案的题目,看了题解才会,, 题目给出石头的位置并且让你踩着石头往前跳,最多删掉m个石头还可以顺利通过,求解最短跳跃距离的最大值。 那么二分什么呢:mid为跳跃的长度。那么left=0,right=l进行二分.再拿s和now分别记录当前搬走的石头数量,判断是否可以跳过去 阅读全文
posted @ 2019-10-01 19:42 毛炯人 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 一 数论1.P1029最大公约数最小公倍数2.P1017进制转换3.P1134阶乘问题 二 图的遍历1.P1330 封锁阳光大学 三 搜索1.P1120小木棍2.P1378油滴扩展3.P1441砝码 四 动态规划1.P1880石子合并2.P1140相似基因3.P1006传纸条 五 nlogn的数据结 阅读全文
posted @ 2019-09-21 21:26 毛炯人 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 这是一个贪心题,把我坑的好惨,忘还原得70.上午被卡得,, 首先给出长度为n的一组数,可以两两配对相乘也可以进行相加,问怎样才可以使总和最大?那么可以显然看出来,当这个数为0或1时,我们要相加。其余进行排序,将a>b>c>d中的ab+cd配对,可以证明这样的贪心策略是正确的。排序后,确定相加部分的长 阅读全文
posted @ 2019-09-21 19:44 毛炯人 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 这是用一道搜索(全排列)实现的一个数论题目。今天周六,上了一天信息,没写数学的我瑟瑟发抖。 首先题意为给定n个数,选取k个数进行求和,输出和为素数的方案数。在写判断素数函数时,我们只需要把i枚举到根下x即可,这一点可以证明。在写全排列列时,由于我们需要枚举的是和,所以不需要再考虑顺序了,要用到三个变 阅读全文
posted @ 2019-09-21 19:33 毛炯人 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 这个题是2018提高组真题,是一道看不出是背包的背包题。 题干特别长,甚至有些没看懂。题意为给出一组货币面值,然后从这里面用最少的面值数量取代原先的面值。比如3,6直接用3表示。一开始想到了小凯的疑惑想两两一组求最高不能表示的数,发现根本不是。发现只要看原先的面值是否可以用比他小的面值来替代,那么这 阅读全文
posted @ 2019-08-18 00:10 毛炯人 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 这是2014年提高组的一道简单的模拟题。 暴力就可以AC。首先给出一个表格,表示输赢的情况,根据这个表格,我们便可以开score[][]来记录对战的得分情况,千万不要忘记这是两方面的,也就是说表格灰色部分也是需要处理的(我一开始就没有考虑)。然后因为他按周期出牌,所以要填充到长度为n,所以有两个方法 阅读全文
posted @ 2019-08-12 22:08 毛炯人 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 这是2012noip普及组的一个模拟题,第一次得了50,看了题解后剪枝拿到100. N层楼,m个房间,逆时针排序。每个房间有一个指示牌,也可能有楼梯,找到第(上楼的第一个房间指示牌)有楼梯的房间,上去,这些指示牌的数之和则为答案。所以先循环层数,再记录sum,并确定j=start和需要 阅读全文
posted @ 2019-08-12 14:22 毛炯人 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 这个题是2017noip提高组的真题,是一个深度搜索题,得分轨迹:10-80-100pts。 在三维空间里,存在可能连通的洞(半径r),问是否可以通过这些洞从底部到达顶部。一开始我联想到了01迷宫,以联通块的方式求解,但发现不可。于是就单纯想用一个一维的dfs去枚举,发现这个dfs的时间复杂度很低, 阅读全文
posted @ 2019-08-10 22:22 毛炯人 阅读(195) 评论(0) 推荐(0) 编辑