
heap
文章平均质量分 75
TA201314
这个作者很懒,什么都没留下…
展开
-
POJ1456解题报告
本来想用这道题练习UFS,但是实在没有想出UFS的想法,于是写了个堆。贪心思路是:按时间降序贪心,每次放能放的最大的。代码如下: #includeusing namespace std;#include #include#includetypedef short hd;struct S{hd p,d;}a[10000];原创 2014-11-05 16:28:44 · 828 阅读 · 0 评论 -
[cqoi2016]伪光滑数 解题报告
这题有点意思。。 考虑对于i个质因子,最大的质因子至多为j能生成的数。我们需要每次在其中取最大值,显然它可以用可持久化左偏树来维护。有leftist(i,j)=leftist(i−1,j)∗j[ji≤n]+leftist(i,j−1)leftist(i,j)=leftist(i-1,j)*j[j^i\le n]+leftist(i,j-1) 然后我们再用一个堆来维护所有可持久化左偏树的根的最小值原创 2016-04-18 16:10:21 · 1297 阅读 · 0 评论 -
[cf193c]Students' Revenge解题报告
题意: 有 n 条命令,你要从中选出恰好 p 条命令作为候选命令,然后主席会从中选出恰好 k 条命令执行。 每条命令有两个属性:如果执行那么主席的会变白的头发数 Ai,如果不执行那么委员会的不满意指数 Bi 。 对于主席来说,她首先希望不执行的那 p-k 条给委员会带来的不满意指数最小,然后希望那 k 条命令使自己变白的头发最少。 对于你来说(,由于某些原因),你首先希望主席变白的头发最多,原创 2015-08-17 20:30:21 · 1185 阅读 · 0 评论 -
[UVA10181]十五数码解题报告
对于有解的情况,只需ID-A*即可。 首先谈一谈估价函数,估价函数表示的应该是对期望步数的下界。我一开始想的是用所有数现在的位置到应该在的位置的曼哈顿距离和,考虑到一次交换最多令其减少2,所以还要把它除以2。后来看了题解发现所有题解都是用的所有非0数的现在的位置到目标位置的曼哈顿距离和,这样的话一次交换最多令其减少1,这样应该是比较合适的。。 我一开始写的A*,(因为没有看懂ID原创 2015-05-05 21:44:18 · 3391 阅读 · 0 评论 -
[COGS1862]种树 解题报告
【问题描述】A城市有一个巨大的圆形广场,为了绿化环境和净化空气,市政府决定沿圆形广场外圈种一圈树。园林部门得到指令后,初步规划出n个种树的位置,顺时针编号1到n。并且每个位置都有一个美观度Ai,如果在这里种树就可以得到这Ai的美观度。但由于A城市土壤肥力欠佳,两棵树决不能种在相邻的位置(i号位置和i+1号位置叫相邻位置。值得注意的是1号和n号也算相邻位置!)。最终市政府给园林部门提供了m棵原创 2015-01-03 14:34:31 · 1793 阅读 · 0 评论 -
[ZJOI2007]报表统计 解题报告
[ZJOI2007]报表统计Time Limit: 15 Sec Memory Limit: 162 MBDescription小Q的妈妈是一个出纳,经常需要做一些统计报表的工作。今天是妈妈的生日,小Q希望可以帮妈妈分担一些工作,作为她的生日礼物之一。经过仔细观察,小Q发现统计一张报表实际上是维护一个可能为负数的整数数列,并且进行一些查询操作。在最开始的时候,有一个长度为N的整数原创 2015-01-18 11:50:12 · 1095 阅读 · 0 评论 -
[NOI2010]超级钢琴 解题报告
超级钢琴【问题描述】小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐。这架超级钢琴可以弹奏出n个音符,编号为1至n。第i个音符的美妙度为Ai,其中Ai可正可负。一个“超级和弦”由若干个编号连续的音符组成,包含的音符个数不少于L且不多于R。我们定义超级和弦的美妙度为其包含的所有音符的美妙度之和。两个超级和弦被认为是相同的原创 2015-01-17 14:09:16 · 1993 阅读 · 2 评论 -
[NOI1999]内存分配 解题报告
[NOI1999] 内存分配时间限制:1 s 内存限制:128 MB内存是计算机重要的资源之一,程序运行的过程中必须对内存进行分配。经典的内存分配过程是这样进行的:内存以内存单元为基本单位,每个内存单元用一个固定的整数作为标识,称为地址。地址从0开始连续排列,地址相邻的内存单元被认为是逻辑上连续的。我们把从地址i开始的s个连续的内存单元称为首地址为i长度为s的地址片。运行过程中有若干进程需要占用内存,对于每个进程有一个申请时刻T,需要内存单元数M及运行时间P。在运行时间P内(即T时刻开始,T+原创 2015-01-10 11:03:41 · 2356 阅读 · 0 评论 -
[APIO2012]派遣 解题报告
796. [APIO2012] 派遣【问题描述】 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为Master。除了Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他的直接下属,而不允许通过其他的方式发送。现在你要招募一批忍者,并把它们派原创 2015-01-09 20:29:50 · 1433 阅读 · 0 评论 -
学姐吃牛排[Vijos1987]解题报告
这道题按理说应该还是很水的。。但是要注意一个问题是我所没想到的: 满足左子树代码: #includeusing namespace std;#include#include#include#includeint a[1002],n,maxn,b[1002],tot;inline bool gtrheap原创 2014-11-05 16:39:13 · 1043 阅读 · 0 评论 -
[fzu2016]How many tuples 解题报告
这题tm什么鬼啊。。101010^{10}的做法竟然500ms ac。 而且更奇怪的是。。似乎别人都打了一个表,他们都是怎么做的呢?直接裸反演: ∑i=1μ(i)∏j=1m⌊aji⌋\sum_{i=1}\mu (i) \prod_{j=1}^m\lfloor {a_j \over i} \rfloor 这样如果不考虑求s(n)=∑ni=1μ(i)s(n)=\sum_{i=1}^n \mu (i原创 2016-07-07 18:16:35 · 1049 阅读 · 0 评论