zoukankan      html  css  js  c++  java
  • 「考试反思」2020-12-19 序章

    u

    考试的问题就是考场卡常

    当时观察到每个点的修改的三角形是固定的然后以为 (3e8) 真的能过

    然后就开始卡常,一直卡了1h左右

    其实正解很弱智,就是像构建差分图一样就行了

    w

    因为每个边最多翻一次,那么就可以做了

    考虑 设(f_x)(g_x) 表示了操作数和路径长度

    每次转移合并子树内的情况,考虑当前节点的出边

    大力分类讨论

    考试的时候一开始的做法有如下问题:

    • 考虑最后一个剩余边的时候应该直接就是单边加

    然后又维护了个 (d[x]) 表示剩余边的深度,转移的时候 (g_x) 一直少情况

    但是这个东西其实很难维护(我不知道咋做),贪心取最深的剪掉的时候过于复杂,很可能这样子贪心就是挂掉的


    正解是换掉统计的方式,考虑这个节点的入边

    还是合并,维护 (f_{x,0/1}) 表示是不是翻转入边,分类讨论就行了

    补上这题目的暴力做法:

    是否翻转选定之后链覆盖好说,那么枚举 (w_2=2) 的边是不是翻转即可

    收获

    • 树上转移的题目,如果父子边在父亲那里很复杂,那么可以考虑在儿子的地方进行更新

    • dp题如果出现了要部分贪心的情况有时候会是错的,记得调整思路

    v

    考试的时候冲完w这题目就只剩不到30min了

    最后dfs还写假了,当时确实没想到可以状压,也没想到可以逆着做,确实有点慌张了,也是不太敏感了

    但是这个 (nle 30) 不好做,那就记搜实现就行了,压到一个 (int) 里面

    这里减少状态数的方式就是正反其实答案是一样的,rev一下


    反思:

    ((1)) w题中的收获

    ((2)) 考试的是要紧张高效,尽量想正解,在没得完分数的情况下不要卡常

    ((3)) 小数据范围可以考虑状压呀……

  • 相关阅读:
    类型转换
    with语句用法
    微软工具下载网址
    第2章信息系统服务管理
    声明变量
    管理机中录入485总表的操作方法
    任务 uitableview uiscrollview uiresponder
    如何去掉UITableViewController中的分隔线setSeparatorStyle
    NSRunLoop 概述和原理
    使用 Notifications
  • 原文地址:https://www.cnblogs.com/yspm/p/14167222.html
Copyright © 2011-2022 走看看