BZOJ 3083 遥远的国度
这题的与 HAOI 2015T2 的不同点在于其有换根操作,但按照普通的思路我们可以发现,换根之后树的形态会有改变,每个节点的子树会发生改变,所以我们来分类讨论。
修改链的操作不会发生改变,现在只考虑子树minn。为了方便,我们定义现在的换的“根节点”为root(但实际上树的根节点为1),子树根为x,黑圈标明查询范围;
情况一 x=root,很显然此时应当...
分类:
其他好文 时间:
2015-05-14 14:24:15
阅读次数:
249
题目大意:给出一个序列,求出字典序最小的长度为k的上升序列。
思路:先随便搞搞求出一个数组f,表示从i开始最长的上升序列的长度。然后贪心的往后找,能放在当前位置就放。
CODE:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#define MAX 10010
#defin...
分类:
其他好文 时间:
2015-02-27 17:17:23
阅读次数:
124
题目大意:给出一个每个点都有一个依赖节点的图,选择一个节点必须选择这个节点的依赖节点,才会得到这个节点的权值。每个点有一个空间,给出总空间限制,问最多可以获得多少权值。
思路:出现在一个环中的点要么全选,要么全不选,所以可以先缩点,之后变成一棵树,在树上做一下树上背包就行了。
CODE:
#include
#include
#include
#include
#d...
分类:
其他好文 时间:
2015-01-13 17:53:00
阅读次数:
156
题目大意:给出一个序列中哪个位置不能出现哪一种数字,求可以组成的数列的积的和。
思路:如果我们让第一个位置确定,那么这个问题就可以转化成一个子问题。也就是第一位的数字乘上后面的积的和。推下去的话不难发现,其实求得就是每一位和的积。观察一下mn都很大,之后k不大,于是就用个map啥的随便记录一下,然后写个快速幂,再写个快速乘,没了。。
CODE:
#include
#...
分类:
其他好文 时间:
2014-12-09 10:39:04
阅读次数:
173
题目大意:给出4个硬币的价值和个数限制,求有多少种方法凑成S块钱。
思路:很巧妙的一种想法,用到了4这个非常小的数字。我们可以先不管每个硬币的个数限制,然后跑一次完全背包。之后把不符合的情况去除就行了。方法是,先减去一种硬币超限的数目,然后加上两种硬币超限的数目,然后减去三种硬币超限的数目,然后加上四种硬币超限的个数。当然代码就很丑了。。
CODE:
#include
...
分类:
其他好文 时间:
2014-12-08 21:27:14
阅读次数:
162
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1054
#include
#include
#include
#include
#include
#include
#include
#define MAXN 5
using namespace std;
mapvisit;
int tmp[MAXN]...
分类:
移动开发 时间:
2014-12-05 21:23:26
阅读次数:
296
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1042
刚开始搞容斥原理,还很有点吃力,我太弱了。。。
首先用被类似于背包的DP进行预处理,假设每种硬币个数无限制,求出f[i]=凑出面值i的方案总数。
但是实际上题目中每种硬币个数是有限制的,设四种硬币分别是a、b、c、d,则凑出面值S的方案中超出限制的方案数=a超出限制的方...
分类:
其他好文 时间:
2014-12-04 23:20:29
阅读次数:
234
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1047
思路:裸的二维上的滑动窗口问题,可以借鉴一维滑动窗口的思路。首先预处理出每一列j的、以第i行元素为结尾、长度为n的区间的最大值maxv[i][j]、最小值minv[i][j],然后再搞每一行,求出以每一行i结尾、行标上长度为n的区间、以第j列结尾、列标上长度为n的区间得到的...
分类:
其他好文 时间:
2014-12-04 19:59:08
阅读次数:
202
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1046
有人说这题是NOIP难度?表示怀疑,蒟蒻认为此题难度略大于NOIP。。。。
这个题的序列长度nhttp://www.slyar.com/blog/longest-ordered-subsequence.html中有详细讲解。
由于题目题意要求,我们需要求出以每个数字开头...
分类:
编程语言 时间:
2014-12-03 19:25:46
阅读次数:
159