02 2021 档案
摘要:题目分析: 首先我们观察一下,肯定得先正着跑一遍最短路再建反图跑一遍最短路,这样可以对于所有的 \(i\) 求出 \(dis(b + 1, i)\) 以及 \(dis(i, b + 1)\) 。 然后我们继续观察,题目里面有一个条件是: 同一个子集内的点两两之间会互相发送信息。 于是我们可以知道 性
阅读全文
摘要:解题思路 数据结构优化 \(dp\) 前置知识:线段树区间修改 / 区间求最小值 + \(dp\) 看到本题,我们首先要想最暴力的状态设置以及转移方程式。 令 \(dp[i][j]\) 表示在第 \(i\) 个村庄建设第 \(j\) 个基站同时 只考虑 前 \(i\) 个村庄的最小费用。 ps.这里
阅读全文
摘要:题目大意: 给定一个 \(n\)(\(1 <= n <= 10^6\)) 以及一个长度为 \(n\) 的 正整数 数列 \(a\) ,其中 \(1 <= a_i <= 10^9\)。 假设现在你在 \(i\) 点,你只有两个选择 : 在当前点花费 \(a_i\) 点费用修建一个 "保卫塔"。 花费
阅读全文
摘要:发篇题解证明我的博客园还活着...... 前言 这道题的常规写法大概有:链表,线段树。 我做的时候什么也没想,就直接线段树干就完了.....因为我没有脑子...... 但是实际上可以用链表做到复杂度 O(\(n\)) 级别。 具体做法 1.线段树 线段树做法需要支持的操作为: 区间覆盖,单点修改,区
阅读全文

浙公网安备 33010602011771号