摘要:
传送门 显然DP 发现跑完一段要一直休息到疲劳值为 0 ,所以可以把两个动作和在一起考虑,跑 j 分钟并休息 j 分钟 设 f [ i ] 表示跑到 i 时疲劳度为 0 时最大路程 那么枚举每个 j 进行转移就好了 一段时间的总路程可以用前缀和快速求出 代码简单不解释 阅读全文
摘要:
传送门 题目问的是从出发点一直跑到终点的一条链上所有齿轮的速度和 其他的不用考虑 直接搜就好了 注意求的是绝对值之和,不是和的绝对值,所以不用考虑方向问题 注意 N<=1050 数组不要只开1007! 代码简单不注释 阅读全文
摘要:
传送门 预处理出每个位置最早被摧毁的时间,在此之前都可以走 直接dfs加个记忆化和最优性剪枝就好了 一定要注意流星的边界,如果波及到负数坐标的位置不要去考虑会RE 一定要考虑流星砸到边界的情况 如 (300,300) 那么(300,301) 和 (301,300) 的位置都会被波及不安全,也要考虑到 阅读全文
摘要:
传送门 不平行就是直线斜率不同 枚举所有两点的斜率,对平行坐标轴的线特殊考虑 离散化一下就好了 阅读全文
摘要:
传送门 可以考虑DP 设 f [ i ] [ 1/2/3 ] [ 0/1 ] 表示当前考虑到第 i 头牛,打算让当前位置的编号变成 1/2/3,并且打算让整段序列上升/下降 0/1 然后就对每种情况慢慢考虑转移就行了 可以发现第一维可以直接优化掉,然后空间就是 O(1),时间就是 O(n) 太简单就 阅读全文
摘要:
传送门 把每体积的干草价值看成一,就变成求最大价值 直接上背包就行了 注意优化常数 阅读全文
摘要:
传送门 初始状态是 0,如果有 1 的连接,0 就变 1,如果还有 1 的连接,1 就变 0,如果是 0 的连接就不变 所以就是把答案异或上所有连接,不用考虑顺序,反正最终是一样的 阅读全文
摘要:
传送门 十分显然的DP 二分金币数量 然后对二分的金币数量跑DP求最大获利 方程: 设 f [ i ] 表示在第 i 个格子里的最大获利 f [ i ] = max( f [ j ] ) + val [ i ] (pos[ j ]+max(1,m-g) ≤ pos[ i ] && pos[ j ]+ 阅读全文
摘要:
传送门 考虑一个节点一个节点加入树中,每次计算一下对答案的贡献 只有两个点时树的形态是唯一确定的 三个点时第三个点应该是从边上分叉出来的 那么增加的长度显然为 (dis_bc+dis_ac-dis_ab)/2 第四个点也应该是分叉出来的 但是是从哪分叉的我们还要讨论一下 可以发现,唯一合法的情况当且 阅读全文
摘要:
传送门 首先要知道怎样才能确定一头牛的排名 显然,必须知道它跟所有其他牛之间的胜负关系 如果 a 赢 b , b 赢 c , 那么 a 也会赢 c 可以用 floyd 求任意两点间的关系 最后统计一下就好了 阅读全文