多校NOIP29

T1:

  考场思路为逐一考虑,发现问题形式实际上是二进制进位过程

暴力模拟复杂度为O(2^n),复杂度瓶颈在于需要枚举所有状态,于

是考虑DP优化,发现实际上是退背包的板子。

T2:

  这种题一般的套路为枚举中间计算两边合法情况再乘法原理即

可,具体考虑问题发现两数异或同一数由于异或运算的性质,当两

数二进制位相同时答案相同,因此关键点在于两数二进制位第一次

不同的位置,于是马师傅的做法为按位考虑贡献,对于某数钦定相

同的二进制位为前pos 位,那么当当前数第pos 位为1  时贡献为前

面第pos 位为1  的个数乘以后面第pos 位为0  的个数,反之同理,

于是开两个桶对顶上述信息即可,是比较套路的做法。

  题解做法为考虑对于这一类明显不是直接按位考虑的位运算题

考虑Trie 树,考虑对于当前枚举的k  所能造成贡献的i  与j 首先j  一

定在k 的某节点的兄弟节点上,那么考虑i   的位置,若i  也在j子树

中,那么i,j 的选择方案为C(x,2),x为j子树中数的个数,反之可以

通过j,k 在第pos 位的情况判断i在第pos 为的情况,统计该层数的

个数即可,然而问题在于存在限制条件为i < j, 由于按时间顺序插

入,因此在插入j   时统计不合法情况数减去即可

T4:

  考虑能够想到连边的套路,然而考场上并没有拓展出来,考虑

问题实际上在建出边之后转化为使得所有点入度为1 ,考虑首先若

边数大于点数显然无解,对于树形直接换根DP 即可,套路为首先

预处理出DP 以及相关信息,在换根过程中考虑变量即可,对于基

环树考虑根一定在环上于是暴力找环在枚举环的走向即可

  对于图论题一定要考虑重边与自环

posted @ 2021-11-15 21:40  HZOI_LYM  阅读(23)  评论(0编辑  收藏  举报