• 防止颓废,作为假期任务。

    CF1327G Letters and Question Marks

    Solution 发现是个 AC 自动机上 dp。

    E1. Cats on the Upgrade (easy version)

    Solution 网上对于此题的题解并没有很好的说明。 首先,注意到这实际上就是个序列的 《括号树》,拿来做就行,$f[i]$ 为以 i 结尾的合法括号串数量,$f[i]=f[L[i]-1]+1$,然后再做一遍前缀和,相减求出以区间 $[l,r]$ 为结尾的数量,但是我们发现会算重,具体的,算重了 $[1,l-1]$ 取后缀,$[l,r]$ 取前缀所组合成的合法串数量。这里因为其 $[l,r]$ 必为合法,所以 $[l,r]$ 前后缀合法括号串数量相等,减去 $f[x-1]*(f[y]-f[x-1])$ 即可。

    D. Weight the Tree

    Solution 特判下 $n=2$,对于其他的,发现一条边仅有 1 个能对答案有贡献,考虑反证法或感性理解下即可。 那么就是树上最大独立集问题了,模型《没有上司的舞会》 对于总权最小,发现对于没贡献的那么赋值为 1,有贡献的就是其度数了,在 dp 时考虑下子树度数,在选/不选的答案都一样时考虑下此即可。

    P7530 [USACO21OPEN] United Cows of Farmer John P

    Solution 写出来暴力一切都很显然了,对于在 $[l,r]$ 区间仅出现 1 次的,不难发现就是 $pre_i < l, nex_i > r $ 的,前后驱位置嘛。

    A. 删数

    Solution 考虑操作本质上就是合并 2 个相邻且相同的差分数组,那么对于一个差分值 $x$,合成到最后一定是 $x*2^k$,考虑 dp,设 $f[i]$ 表示 $[1,i]$ 最少留下几个数,考虑以 $i$ 倍增去跳,用 map 记录下即可。

    https://www.cnblogs.com/xugangfan/p/16098531.html

    P6475 [NOI Online #2 入门组] 建设城市

    Solution

    https://www.cnblogs.com/xugangfan/p/16098930.html

    P6525 「Wdoi-1」蓬莱玉枝

    Solution

    考虑容斥。
    显然总共 \(\sum_{i=1}^{n}a[i]\sum_{j=0}^{i-1}(j+1)\binom{i-1}{j}\),考虑 dp 求出不合法的。发现我们并不需要去搞选择了多少个这一维,这里就是 dp 的妙妙妙的地方了。
    考虑先排序,令 \(f[i][j]\) 表示选择的数最后一个是 \(a[i]\),倒数第二个是 \(a[j]\) 的总长度,\(g[i][j]\) 为方案。后者很好求,是一个求和的形式,前者我们发现每次从上一个 f 转移过来的再加上这一位,那么就是 \(f'+g'\),因为仅仅多加了 1 个数。

    P6212 「SWTR-04」Lining up

    Solution

    发现贡献很大,没办法直接把贡献设作一维求方案,但是发现能提供贡献的只有 BG GB 两种,我们可以设这两个的数量为方案,即 \(f[i][x][y][0/1]\) 表示当前到了第 i 位,有 x 个 BG,y 个 GB,当前这一位是 B:1 还是 G:0 的方案数。
    直接 dp,发现要再加个滚动数组。
    但是还不够!
    观察性质,发现 BG GB 的数量差最多是 1,那么让 \(f[i][x][y][0/1]\) 表示 x 个 BG,GB 数量与 x 的差值为 \([-1,1]\) 的方案数即可。

  • 相关阅读:
    Django之查询总结
    cookie与session
    Django之跨表查询及添加记录
    Django框架之单表操作
    Django框架之ORM(数据库)操作
    Django框架之模板基础,静态文件配置
    Django框架之模板语法(重要!)
    Django基础篇
    Django-MTV
    [BZOJ 1034] [ZJOI2008] 泡泡堂BNB 【贪心】
  • 原文地址:https://www.cnblogs.com/xugangfan/p/16081418.html
Copyright © 2020-2023  润新知