上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 26 下一页
摘要: ~~~题面~~~ 题解: 一开始翻网上题解看了好久都没看懂,感觉很多人都讲得不太详细,所以导致一些细节的地方看不懂,所以这里就写详细一点吧,如果有不对的or不懂的可以发评论在下面。 首先有一个比较明显的50分贪心: 先把d排好序,然后按从小到大的顺序贪心的给每个点选值,同等条件下优先编号大的,于是越 阅读全文
posted @ 2018-10-28 22:04 ww3113306 阅读(595) 评论(2) 推荐(1) 编辑
摘要: ~~~题面~~~ 题解: 首先有一个比较明显的策略,肯定先要把能带给自己受益的先选完,然后再以最佳状态去打那些会给自己带来损失的怪。 对于前一部分(可以带来受益的怪),显然我们需要先从代价小的打起,因为这样可以把生命值越积越多,打代价大的怪也更容易成功。 那么对于后一部分怎么办呢?我们需要从受益大的 阅读全文
posted @ 2018-10-28 20:44 ww3113306 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题意:求节点数为n的,高度大于等于h的二叉树的个数。 题解: 一开始没看到二叉树的限制,,,想了好久。因为数据范围很小,所以可以考虑一些很暴力的做法。 有2种DP方式都可以过。 1,f[i][j]表示节点数为i,高度恰好为j的方案数,那么$ans = \sum_{i = h}^{i <= n}{f[ 阅读全文
posted @ 2018-10-27 22:52 ww3113306 阅读(259) 评论(0) 推荐(0) 编辑
摘要: ~~~题面~~~ 题解: 观察到拼接后的数据范围过大,无法O(n)解决,但是大区间是由很多小区间组成,而小区间是固定的,不会变化,所以可以考虑预处理出每个小区间的信息,然后根据给定序列按顺序一步一步合并区间信息。 跟线段树维护区间最大子段和类似,要合并2个区间我们只需要知道如下信息: 前缀最大子段和 阅读全文
posted @ 2018-10-25 01:03 ww3113306 阅读(413) 评论(0) 推荐(0) 编辑
摘要: ~~~题面~~~ 题解: 观察到字母只有26个,因此考虑对这26个字母分别维护,每个线段树维护一个字母,如果一个线段树的某个叶节点有值,表示当前叶节点所在位置的字母是现在这个线段树代表的字母。 那么对于每一个操作,我们已经知道最后排好序之后肯定是按aaaabbbbccccddd……这样的序列排下去的 阅读全文
posted @ 2018-10-25 00:54 ww3113306 阅读(461) 评论(0) 推荐(0) 编辑
摘要: ~~~题面~~~ 题解: 感觉还是比较妙的,复杂度看上去很高(其实也很高),但是因为n只有100,所以还是可以过的。 考虑一个很暴力的状态f[i][j][x][y]表示考虑取区间i ~ j的方格,左右端点颜色分别是x, y.的最大值。 那么有如下转移 1,直接继承子区间的答案 f[i][j][x][ 阅读全文
posted @ 2018-10-23 22:35 ww3113306 阅读(368) 评论(0) 推荐(0) 编辑
摘要: ~~~题面~~~ 题解: 做这道题的时候zz了,,,, 写了个很复杂的式子,然而后面重新想就发现很简单了。 考虑用总的情况减去重复的。 假设唯一重复的两个数的位置分别是l和r,那么唯一会导致重复的方案就是中间不取,只取l和r中的一个和两边的数。 那么$ans =\binom{k}{n} - \bin 阅读全文
posted @ 2018-10-22 00:22 ww3113306 阅读(222) 评论(0) 推荐(0) 编辑
摘要: ~~~题面~~~ 题解: 貌似一般c题都是递推。。。 观察到最后一个插入的数一定在第一个,倒数第二个插入的数一定在倒数第一个,倒数第三个插入的数一定在第2个,倒数第四个插入的数一定在倒数第2个…… O(n) 的把数填进数组即可。 要证明的话想一想构造方式就知道了。 1 #include<bits/s 阅读全文
posted @ 2018-10-21 23:57 ww3113306 阅读(441) 评论(0) 推荐(0) 编辑
摘要: ~~~题面~~~ 题解: 偶然翻到这道题,,,就写了。 观察到一个数被插在哪里只受前一个数的影响,如果明确了前一个数是哪个,那么我们就可以确定大小关系,就可以知道当前这个数插在哪里,而上一个插入的数就是上一个数,所以根据这个来设DP状态。 f[i][j]表示满足理想数列的i ~ j,且i是最后一个插 阅读全文
posted @ 2018-10-21 23:53 ww3113306 阅读(129) 评论(0) 推荐(0) 编辑
摘要: ~~~题面~~~ 题解: 首先题目要求删除一些颜色,换个说法就是要求保留一些颜色,那么观察到,如果我们设ll[i]和rr[i]分别表示颜色i出现的最左边的那个点和最右边的那个点,那么题目就是在要求我们选出的区间要满足区间[l, r]内所有颜色的max(rr[i]) <= r,并且min(ll[i]) 阅读全文
posted @ 2018-10-20 14:57 ww3113306 阅读(267) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 26 下一页
知识共享许可协议
本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 未本地化版本许可协议进行许可。