摘要:
"题面" 思路还是挺容易想的, 只是由于我还是太 $naive$ 了一点不会做只会打暴力吧...... 题目要我们求所有子矩阵的$and$值之和与$or$值之和, 一看之下似乎不好入手, 我们慢慢来. 由于$and$和$or$运算都是对于每个数的同一位二进制位进行运算的, 所以我们考虑将每个数拆成二 阅读全文
摘要:
"题面" 思路比较巧妙的一道状压dp, (~~或许是因为我太菜了做的题太少没有看到过这种做法???~~) 状态表示为$f[i][j]$为第$i$行状态为$j$, 我们假设某一个格子被一个竖着的块的上方所占据为1, 其余的状态为0, 我们设第$i$ $1$行状态为$k$, 第$i$行状态为$j$, 则 阅读全文
摘要:
"题面" 题意体面中写得很明确, 应该不用我说了, 方差的概念在初中人教版九年级数学中有所提到, 没有上过初中的同学们可以 "左转" "百度" . 将序列拆为几段求最值, 我们考虑用dp来实现. 先推一下式子, 令方差为$v$, $r$为某一段路径的长度, $\overline r$为这$m$条路径 阅读全文
摘要:
"题面" 最近在搞dp, 发现自己的dp还是太弱了, 做的题比较少, 也有一些东西没学, 这道题算是我独立做的第一道斜率优化dp, 写篇题解纪念一下吧. dp式比较简单, 就是一个线性的dp, 设$f[i]$为将1 ~ i分为若干个集合所花费的最小值, $c[i]$为1 ~ i的$c$值的前 阅读全文
摘要:
题面 已知一个 1 ∼ N 的排列的最长上升子序列长度为 K ,求合法的排列个数。 好题(~~除了我想不出来我应该找不到缺点~~), 想一想最长上升子序列的二分做法, 接在序列后面或者替换. 所以对于每一个位置的数, 都只有三种状态, 分别是: 在我们的替换的序列中, 使用过却被序列抛弃的, 未使用 阅读全文
摘要:
"题面" 又一次考试网络流爆零...... 这一题一看就是网络流, 但是要怎么构图呢? 考虑到途中的一些因素, 首先, 每一种志愿者控制的区间范围为$S_{i}$到$T_{i}$, 所以, 我们要使得每种志愿者只能控制这段区间, 其他的不能够控制, 其次, 每个时间都有一个最小的值, 也就是 阅读全文
摘要:
"题面" 巨佬一眼就能看出这是最小路径覆盖, 我这个蒟蒻还是太弱了... 我们可以知道跳跃值为点权w[i], 两点之间距离为边权ww 对于每个点, 在最小路径覆盖问题中, 假设每个点都是一条路径, 即每个点都由能力爆发得到, 那么最初的答案便是$ans$ = $\sum_{ i = 1} 阅读全文
摘要:
[学习笔记] 有上下界的网络流 upd: 好像这篇博客漏洞百出, 有些定义都是错的, 什么时候有时间了再修锅吧 为什么刚学网络流不久就要学这种东西啊, 我网络流二十四题还没写完呢... 本文是在liu_runda的学习笔记的帮助下写出来的, 在这里先提前声明一下(本文中有很多引用)... 阅读全文
摘要:
"题面" 我们可以将'.'抽象为一个可以通过的点, 将'x'抽象为一个不可通过的点. 那么题意便可以转化为: 一条路径可以看做从任意一个没有到达过的可通过的点出发到任意一个其他的可以通过却没有被到达过的点的一条路径, 要使每个点都被经过, 并且每个点都只能被经过一次, 这不是网络流中的最小路 阅读全文
摘要:
"题面" 直接写正解吧, 不想再写部分分了, 对于$u$和$v$, 我们可以将它拆成两条路径, $u$到$lca(u, v)$和$lca(u, v)$到v, 在这里只分析从$u$到$lca(u, v)$的路径(~~其实是我不想写~~). 对于一个点$u$, 设它的深度为$dep[u]$, 值 阅读全文