CF913

A

当 n>=30 m 一定 < $2^n $ 所以直接输出即可

B

直接dfs统计即可

C

第一眼是个背包,但 L 太大

发现有二进制,每一个容量正好在二进制上只有一位

脑瘫想法是用每个数的二进制用其他数能表示的就表示,有个30的大常数

其实输入就是有序的,直接让每一位都是最优的即可

D


读错题,南坪

选的题越多,耗时越长,有贡献的题也最少
所以二分答案

贪心地选 a>mid 的耗时少的数

E

第一次见到这样的 dp

题目坑点:x,y,z 就是下面的那三个数,不用你自己构造

\(dp_{i,j}\) 为选到第 i 层,值为 j 的最短字符串

但你要是直接这么转移的话,你合并的优先级无法确定
于是加一维表示优先级

转移有5种

  1. 直接转移
  2. 加括号: \(( dp_{i,j,k} ) -> dp_{i+1,j,2}\)
  3. | : \(dp_{i,j1,k1} + | + dp_{i,j2,k2} -> dp_{i+1,j1|j2,0},k1=0,1,2, k2=1,2\)
  4. & : \(dp_{i,j1,k1} + & + dp_{i,j2,k2} -> dp_{i+1,j1&j2,1},k1=1,2, k2=2\)
  5. ! : \(! + dp_{i,j,2} -> dp_{i+1,255 xor j,2}\)

反正也没人看,说几句废话


算了

posted @ 2024-11-20 09:11  小惰惰  阅读(9)  评论(0编辑  收藏  举报
/* 鼠标点击求赞文字特效 */