摘要:
逼近法是一种很奇妙的算法,以为“逼近”这一种思想在很多的算法中都有体现。诸如:像我们的二分答案,不断地排除决策集合的一半以接近我们的最终答案;我们的树上倍增求 $ LCA $ 算法,一次次的减小我们跳的距离以确定祖先的准确位置;我们的模拟退火需要用一个温度,每次操作后这个温度一定会下降,逼近正确 阅读全文
摘要:
"CodeForces 559C Gerald and Gia" 大致题意:有一个 $ N\times M $ 的网格,其中有些格子是黑色的,现在需要求出从左上角到右下角不经过黑色格子的方案数(模 $ 10^9+7 $ ) $ solution: $ 首先 $ orz $ 鸽王,看一眼就说:“嗯?这 阅读全文
摘要:
"Batch Scheduling" $ solution: $ 这应该是斜率优化中最经典的一道题目,虽然之前已经写过一道 $ catstransport $ 的题解了,但还是来回顾一下吧,这道题其实较那一道还是难一些,只不过 $ catstransport $ 很难找到最好码代码的式子。 首先单调 阅读全文
摘要:
"Cut the Sequence" $ solution: $ 这道题出的真的很好,奈何数据水啊! 这道题当时看得一脸懵逼,说二分也不像二分,说贪心也不像贪心,说搜索吧这题数据范围怎么这么大?而且这题看起来也实在不好DP,当时是真的满头雾水。只能说是各个都尝试一下。最后还是选了DP来做第一步突破, 阅读全文
摘要:
"poj 1821 Fence" $ solution: $ 这道题因为每一个粉刷的人都有一块“必刷的木板”,所以可以预见我们的最终方案里的粉刷匠一定是按其必刷的木板的顺序排列的。这就提示了我们可以用线性 $ DP $ ,只需要将粉刷匠按必刷的木板排序即可。 设 $ F[ $ i $ ][j] $ 阅读全文
摘要:
"炮兵阵地" $ solution: $ 这一道题限制条件有点多,我们需要逐个击破: 1. 首先要判断这一格是否为山地,这个可以状态压缩 2. 然后我们的左右一定距离不能有炮兵,这是一个突破口,因为我们看数据发现每行不超过十个格子!这样的话我们完全可以预处理出来每一行的填充方案而且这些方案肯定很少! 阅读全文
摘要:
"Mondriaan's Dream" $ solution: $ 这道题 $ wch $ 首先想到的是搜索和状态压缩,因为这道题的方块可以竖着也就是产生一个凸起(这里可以状态压缩),我们可以枚举它i行j列上下端凸起的情况产生的方案数,然后进行合并。但是这种方法需要维护的东西太多了,复杂度也很难预测 阅读全文
摘要:
"CodeForces 24D Broken robot" 大致题意:你有一个n行m列的矩形板,有一个机器人在开始在第i行第j列,它每一步会随机从 可以选择 的方案里任选一个(向下走一格,向左走一格,向右走一格,留在原地),现在我们要求它走到最后一行的期望步数 $ solution: $ 这道题我们 阅读全文
摘要:
" $ Naptime $ " 描述 Goneril是一只睡眠不足的母牛。她的一天被划分为N(3 include include include include include include include include include include include define ll lon 阅读全文
摘要:
"Accumulation Degree" 大致题意:有一棵流量树,它的每一条边都有一个正流量,树上所有度数为一的节点都是出口,相应的树上每一个节点都有一个权值,它表示从这个节点向其他出口可以输送的最大总流量。我们的任务就是求这个最大总流量。 $ solution: $ 这一道题需要仔细思考其性质, 阅读全文