对于每一个子树x,我们有 f[x][i][k] 表示当前子树为x,有i个物品上交上一层合成(从而不计贡献但是计入成本),子树内一共投入了k元的最大收益 一个子树的贡献有以下几个方面: 1.其余儿子节点内部的贡献 2.儿子节点上交的物品合成一部分当前节点物品,这一部分又有一部分被截留在当前节点,产生了 ...
分类:
Web程序 时间:
2019-08-30 22:32:53
阅读次数:
109
title "LUOGU 2792" 简化题意: 若干件物品,每个物品有一个原价,购买某件物品后可以以更优价购买另一件物品。每件物品有一个需求数目,既不能多买,也不能少买(如果需求 0 件就不能买,哪怕可能使得总价最优)。 analysis 这题有一个很棒的贪心算法,对于某件物品,我们怎样使得购买它 ...
分类:
Web程序 时间:
2019-08-25 14:18:38
阅读次数:
99
栈和队列 bzoj1012// JSOI2008 最大数 maxnumber 详见博客: bzoj2086 [Poi2010]Blocks 题意 给出 N 个正整数 a[1...N],再给出一个正整数 k,现在可以进行 如下操作: 每次选择一个大于 k 的正整数 a[i],将 a[i] 减去 1,选 ...
分类:
其他好文 时间:
2019-08-19 21:16:36
阅读次数:
97
"[JSOI2008]星球大战 " 决定再做一道并查集水题.... 正难则反 现将要攻击的星球都读入 然后记录已损坏 再将能连的都连上 然后倒着做 就是套路了QAQ 第一次交的代码死于没有认真读题...编号是 从0开始 的 c++ include using namespace std; const ...
分类:
Web程序 时间:
2019-08-19 09:19:22
阅读次数:
97
题目 题目描述现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。 限制:L不超过当前数列的长度。(L>=0) 2、 插入操作。 语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查 ...
分类:
Web程序 时间:
2019-08-16 23:21:21
阅读次数:
200
P4208 [JSOI2008]最小生成树计数 题目描述 现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树。(如果两颗最小生成树中至少有一条边不同,则这两个最小生成树就是不同的)。由于不同的最小生成树可能很多,所以你只需要输出方案数对3101 ...
分类:
其他好文 时间:
2019-08-09 21:51:10
阅读次数:
105
题面 https://www.luogu.org/problem/P4036 题解 ...
分类:
Web程序 时间:
2019-07-31 23:59:08
阅读次数:
214
P4185 [USACO18JAN]MooTube 并查集好合并不好拆开 可以考虑离线 先读入 从大到小排序 再依次合并 技巧:不好断开就倒着来合并 JSOI2008 P1197 也是该思想 ...
分类:
其他好文 时间:
2019-07-21 12:06:10
阅读次数:
105
题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。 限制:LL不超过当前数列的长度。(L > 0)(L>0) 2、 插入操作。 语法:A n 功能:将nn加上tt,其中tt是最近一次查询操作的答案( ...
分类:
其他好文 时间:
2019-07-19 10:43:43
阅读次数:
101
并查集 题目中是说将节点一个个摧毁,正着做并不好做 所以考虑在所有的星球摧毁后反着进行连边 在恢复一个节点后,则恢复了这个节点到之前已恢复的节点的连边,然后用并查集维护联通块即可 注意在同一个联通块中连边是不会改变联通块的个数的 所以只要处理联通块之间的边即可 ...
分类:
Web程序 时间:
2019-07-16 12:55:09
阅读次数:
146