摘要: 乍一看,我想爆搜,但是时间复杂度O(2^n),凉凉。 所以我们考虑优化,用双向搜索解决。 将读入的数据降序排列,从中间一分两半,对前一半进行一次枚举,枚举可能的情况,用一个数组记录并去重。 再枚举后半段的情况,并对每一种情况在左半部分进行一次二分查找即可。时间复杂度为O(2n/2log22n/2)≈ 阅读全文
posted @ 2019-03-23 14:24 AD_shl 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 确实是一道经典的深搜好题,(不过POJ不都是这样吗……)。 首先这道题爆搜就死定了,所以咱们考虑一些剪枝。 1.对所有的木棍按长度降序排序,先尝试较长的木棍,这样可以减少搜索树的分支。 2.定义一个变量,记录最近一次搜索失败的木棍的长度,若即将搜索的长度与之相等,则直接跳过。 3.如果在原始木棒“加 阅读全文
posted @ 2019-03-23 10:38 AD_shl 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 这道题算是搜索和状压的结合吧,作为状压的入门题还是不错的,能让人初步了解状压的含义及应用。 对这张图进行一遍拓扑排序,然后状压统计(我用了bitset)。 注意读入,因为我的读入优化挂掉了…… 1 #include <iostream> 2 #include <cstdio> 3 #include 阅读全文
posted @ 2019-03-22 23:19 AD_shl 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 一道很基础的深搜题,数据范围不大,稍加剪枝即可通过。 将重量降序排列,对于已经选了的车,尝试当前的猫能不能坐,如果全部尝试失败,则另用一辆车。 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 typedef lon 阅读全文
posted @ 2019-03-22 22:39 AD_shl 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 这道题用平衡树能过,但是代码量较大,不易编写和调试,所以我们考虑别的方法解决。 考虑当前为第i天,我们把前i-1天的营业额放入一个容器当中并排序,对于第i天的营业额x,若容器中没有元素,则表示这是第一天。 另外,我们用lower_bound()函数求出大于等于x的最小值x'是多少,若x==x',则这 阅读全文
posted @ 2019-03-17 10:31 AD_shl 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 本题当然可以用树剖解决,而且是树剖的模板题。但是对于本题来说,有一种更巧妙的办法 树上差分 类似于普通的差分,我们对于题目中的每一条路线i->j,把它拆成i->lca(i,j)->j.然后将i点、j点的权值加一,将lca(i,j)的权值减二 乍看起来没什么毛病,但是仔细想想,对lca(i,j)的子树 阅读全文
posted @ 2019-03-16 19:48 AD_shl 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 这道题洛谷给的标签是LCA,线段树,树链剖分。 当然LCA+树上差分能通过这道题,但出现在树链剖分当中,我决定用树链剖分解决 显然这是一道裸的树链剖分。树剖之后进行区间修改,单点查询操作。(这道题线段树都不用build……23333) 我们按照题目给的顺序给这一棵"树"放上糖果,当然注意重复的部分要 阅读全文
posted @ 2019-03-16 15:32 AD_shl 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 这是一道经典的差分题。 思路大概是这样的: 对于输入的序列a(假定长度为n) 我们求出他的差分序列sum 那么题目就转化成了用最少的步数使得差分序列sum的2~n项都为0 那么就有以下的几种决策: 显然,在sumi和sumj一正一负的前提下,我们应该尽可能多的使用第一种,这样才能使答案最优。 统计s 阅读全文
posted @ 2019-03-16 13:06 AD_shl 阅读(239) 评论(0) 推荐(0) 编辑
摘要: NOI2015的试题,一道树链剖分的模板题主要过程:树剖完成后对线段树进行区间修改,区间查询。代码较长,很考验代码能力 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 typedef long long ll; 5 i 阅读全文
posted @ 2019-03-16 11:00 AD_shl 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 第一部分:(参考百度百科) 一、STL简介 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和 David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C+ 阅读全文
posted @ 2019-03-10 11:14 AD_shl 阅读(2342) 评论(0) 推荐(1) 编辑