NOI解题报告【DOC精选】.docVIP

  • 11
  • 0
  • 约3.86千字
  • 约 6页
  • 2017-02-16 发布于江苏
  • 举报
NOI解题报告【DOC精选】

NOI 2004 解题报告 Day0: #1:辉辉的一天(huihui) 数学题,呵呵。 ? #2:姗姗的一天(shanshan) 把区间分成三段,取每段的中点询问,可以确定在哪个区间。 注意处理边界。 ? #3:佳佳的一天(jiajia) 随便做就行了,除了1、2手算最优解以外,其它的best都是n。(稍微加些优化就超过10分了) ? Day1: #1:郁闷的出纳员(cashier) 想过用块状数组,发现O(n√n)的时间复杂度有点勉强。 这道题用静态二叉树。 所谓静态二叉树,与动态二叉树不同的是,动态二叉树一开始是一颗空树,以后不断的往里面加入数(这里的数可以扩展为数据),它的优点是插入的数没有大小限制,但容易退化成链。 当然我们可以用平衡二叉树(Splay,Treap)的方法处理,但编程复杂度就要高很多。 静态二叉树是一开始就建好树的结构,并且在操作过程中不改变树的结构,只改变节点的值,但它要受插入数的范围限制,优点是不会退化。 本题的数自然就是工资,它的范围数量级是1e5的,显然这是可以接受的。 ? 因为要涉及到对工资的整体调整,不妨设一个调整值delta,初始时为0,以后对于整体调整只改变delta的值,而不改变树中数的值。 设当前新加入一个初始工资为v的员工,为了保证树中的数+delta为它目前的值,我们将v-delta插入树中。 这样,不难看出,插入树中的数的范围

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档