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)) 小数据范围可以考虑状压呀……

  • 相关阅读:
    linux crontab 定时使用方法
    crontab 选择编辑器 select-editor
    设置定时任务为每天凌晨2点执行和每小时执行一次
    性能测试工具--SIEGE安装及使用简介 siege压力测试
    Vue基础
    使用 supervisor 管理进程
    长按listview弹出选项列表对话框
    左右滑动弹窗之间短信内容区域来显示上一条和下一条短信
    在开机广播中启动服务
    Android spinner 样式及其使用详解
  • 原文地址:https://www.cnblogs.com/yspm/p/14167222.html
Copyright © 2011-2022 走看看