• 又TM是 NOIplus 测试( 9.2 下午 )



    T1
    某个RZ真是不长脑子,明明暴力能做偏要去搞卡特兰数
    n<=2000诶
    直接dp转移就好了
    每个格子只能由下方和左方转移过来
    求方案数直接相加就行了


    T2
    切了第一题以为下午也是一场欢乐赛,结果第二题就给了我一棒槌,让我醒醒,
    为什么T2就有 NOIPD2T3 的难度了嘛,这还考个榔头

    先找性质嘛,这是一棵树,所以一定会在叶子节点处终止
    由于都要选最优策略,所以首先要找到当前点的最优策略是什么
    最优策略又和父亲节点没有关系
    每个点要确定两个,一个是最小最小,一个是最大路程

    发现N这么大,而且每个点当前的选择还与儿子们的信息有关系
    果断确定了树形DP
    mx表示当前点轮到C走,走到叶节点的最大旅程
    mi表示当前点轮到A走,走到叶节点的最小旅程
    因为C走了之后该A走,所以mx只能由mi更新
    所以要找到最大的val[e] + mi[to[e]]
    求mi也是同理嘛
    所以暴力60分就到手叻

    然后就是毒瘤的满分算法
    为什么会这么难写嘛,大家的式子都是一样的,结果辉神一百行出头
    李巨一百行出头
    我TM写了两百多行
    真是B了狗了

    由于对每个点再做一次DP代价太高,考虑换点操作该怎么搞
    首先对于一个点来说,他原本不是根节点,后来他要变成根节点
    对于他原本儿子信息是没有影响的,所以他要更新的消息就是从父节点那边走的最大值
    所以定义nmx,nmi,代表从上面走的最大值和最小值

    那么问题就来了( 下面求nmx )
    他从父节点走出去有两种情况,

    • 1.他是父亲的mi
    • 2.他不是父亲的mi

    然后一个附加情况

    • 3.他从父亲边走了之后又继续往上面走,就是往nmi处更新叻

    所以考试的时候又猛然惊醒,还要维护当前节点的mi是哪个儿子mx是哪个儿子

    对于第一种情况
    我们就再对父亲求一个mi但是父亲既不能向自己走(to[e] != u)
    也不能向父亲走,因为我们在附加情况中考虑叻(就是这个该死的维护,让我的代码变的巨复杂)
    然后用这个来更新
    对于第二种情况
    可以直接用父亲现在的mi来更新

    然后上面两种情况都要和附加情况更新
    就是nmx[i] = max(val[ne] + nmi[fa] , nmx[i]);
    但有特例不加
    当fa = 1的时候就不能加

    MD下午起床这么好的心情
    遇到一道两百多行的毒瘤题真的是哔了狗了

    T3
    看一眼就知道是个基环外向树,
    然后肯定要用什么线段树维护之类的乱搞
    然后心态就炸了,noip模拟题出基环外向树
    赫赫


    题解
    和我想的一模一样


    这种题,想的出,打不来,有p用
    我真是tcl
    附上成绩

    9.3日更新,
    萱神两百四十多行A掉
    李巨仍然挣扎在30分左右
    辉神放弃治疗,开始失智.

  • 相关阅读:
    GridView的TemplateField
    数据源绑定
    hihocoder-1415 后缀数组三·重复旋律3 两个字符串的最长公共子串
    hihocoder-1407 后缀数组二·重复旋律2 不重合 最少重复K次
    hdu number number number 斐波那契数列 思维
    最长上升子序列 nlogn
    hdu-4507 吉哥系列故事——恨7不成妻 数位DP 状态转移分析/极限取模
    hdu-3652 B-number 数位DP
    hdu-2089 不要62 基础DP 模板
    字符串hash
  • 原文地址:https://www.cnblogs.com/NoTimepleasssse/p/9577606.html
Copyright © 2020-2023  润新知