学习日志2

WC大爆炸.在FJ这种现在大概只能算中等强度的省份垫大底,在全国排名更是翻了几十页都找不到的那种.

为了拯救这只菜鸡.继续努力吧.

2021.2.7到春节

Need to do

  1. HNOI2018(完成)
  2. DDP学习(完成)
  3. 完成HNOI2018的简要题解和总结(完成)
  4. 学习并完成blog[一类线段树乱编(维护一类与前缀max,后缀max有关的信息)](完成)
  5. SDOI2017切树游戏
  6. CF,AT选做(完成4题)
  7. 补洛谷月赛题
  8. FWT理解

upd 2021.2.7

  1.[HNOI2018游戏](看了题解)

  • 题目几个有用的性质:
  • I.如果y<=x,只有可能左边到右边,反之只有可能从右边到左边(想出)
  • II.每个点能到的显然是一个区间[L,R],于是可以预处理出来,然后直接回答询问(没想出)
  • III.设一个点i的到达区间为[$L_i$,$R_i$],那么你假设从x出发,每到这样一个点i,显然就可以用$L_{i}$,$R_{i}$来更新x的到达区间,即i能到的,x都能到(没想到)
  • 于是我们可以先把中间没有锁的点缩成一个大点,利用性质(I)连一张有向图,然后根据拓扑顺序的倒序,利用性质III,来拓展继承那个到达区间,均摊下来就是O(n)的.

  upd 2021.2.8

   2.[HNOI2018排列](看了题解)

  • 令$f_i$ = $p^{-1}_{i}$,容易发现f也是一个排列,并且题目这个鬼畜的条件就变成了:if($a_{i}$ = j),then $f_{i}$ > $f_{j}$,求max($\Sigma$ $f_{i}$ * $w_{i}$)
  • 令i向j连边,于是问题变成了经典的,给一棵树,父亲比儿子小(或者可以看成从小到大安排权值,但父亲要比儿子先选),求满足这一限制条件下的某个极值
  • 很像上周jmr老师讲的那题[ACG023F] 01 on Tree,都是我们考虑每个节点上有一串的序列(初始时就是自己的权值),然后贪心地合并到父亲身上,直到只剩根节点
  • 怎么贪心呢?依然考虑临项交换,可以得到按照$\frac{w_i}{siz_{i}}$从小到大贪心,$siz_{i}$是这个节点被合并上来的序列有多长.
  • 关于序列可以这样理解,序列表示如果你选了这个子树,你的顺序会是怎么选的,这种思想似乎适用于树上对父亲儿子之间偏序有一定限制,且贡献可以拆开来计算的题目.

  3.[HNOI2018毒瘤](自己想出)

  • 算是一个经典trick吧,因为听myh鸽鸽讲过所以会做
  • 就是当一张图,m-n很小的时候,你可以先建一棵树,然后对多出的边在的点建虚树,在原树中预处理虚树的边
  • 像本题对于边(u - > v)就是预处理一个二元多项式$ax + by + c$的系数a,b,c;$x$,$y$分别表示dp[v][0],dp[v][1],即v点选或者不选时,子树的最大独立集
  • 然后每次就可以在虚树上乱搞了,因为虚树上的点大概只有2*(m-n).远远小于n(题目性质保证)

  4.[HNOI2018寻宝](看了题解)

  • 思维题,感觉没什么步骤,重点在于要发现题目的性质
  • 思考方向大概是:(I)分析&,|的性质,
  • (II)思考怎么才能使结果是1/0
  • (III)发现对于每一位要把操作序列转化成0/1二进制数,然后转化成比大小的问题

  5.[HNOI2018转盘](自己想出步骤1,但线段树维护前缀max相关信息部分看了题解)

  • 首先容易发现与其在中间等,不如在起点等,所以最优解一定是在起点等一段时间,然后不停地走一圈.
  • 考虑拆环为链,令$a_i$ = $T_{i}$ - i,那么$ans$ = $min^{n}_{i = 1}$($max^{2*n}_{j = i}$ $a_{i}$ + i) + $n - 1$
  • 接下来的部分,参见blog一类维护前后缀max相关信息的线段树

upd 2021.2.13

家里这边鞭炮从10号放到现在没停过,我手机的bilibili和电脑的steam也从那时起开到现在没停过

人都傻掉了

upd 2021.2.14

情人节,没有女票很难过

1.题解CF547D Mike and Fish

      

posted @ 2021-02-07 11:04  y_dove  阅读(111)  评论(0编辑  收藏  举报