摘要:
吐槽题目有点长 一种贪心方法是错误的:时间越少越优,已经被样例否决 显然可以 $dp$ $dp[i][j][k]$ 表示对于 $i$ 人,它移动了 $k$ 天到达了 $j$ 的最小代价 然后暴力转移即可 但是这个移动了 $k$ 天的这个 $k$ 要开多大? 通过一系列的尝试确定大概 $2 10^5$ 阅读全文
摘要:
发现这个水题 一眼就感觉是 $kmp$, 因为 $nxt$ 数组天生就是干这种事情的 答案集合就是从 $n$ 跳 $nxt$ 所能跳到的所有节点 那个出现次数怎么搞? 显然可以 $dp$ $dp[i]$ 表示跳到 $i$ 的方案数 然后倒叙枚举 $i$, $dp[nxt[i]]+=dp[i]$ 然后 阅读全文
摘要:
因为最多一只同意,所以我们就可以考虑一个区间哪只同意 对于区间 $[l,r]$,设 $Pro=\prod\limits_{i=l}^r(1 p[i]),Sum=\sum\limits_{i=l}^r\frac{p[i]}{1 p[i]}$ 答案显然就是 $Pro Sum$ 直接枚举是 $O(N^3) 阅读全文
摘要:
一种新的 $dp$ 优化方法 设 $f[i][j]$ 表示涂到第 $i$ 个球,涂了 $i$ 和 $j$ 的最小代价 首先能够想出一种朴素的转移方程: $f[i][j]=min(f[j][k])+c[j]~(k i+1 m)$ 这样是 $O(nm^2)$ 的,我们尝试去优化 对于 $j,i~\in~ 阅读全文
摘要:
因为题目要求的是必须要全部拥有,那么天生就有一种与的性质,然后就会想出一种暴力做法: 对于每一个标签,用一个bitset存储哪些文件有它 然后查询就是把所有的标签的bitset取个and就是答案集合 然后就过了 阅读全文