Loading

摘要: 5.21 试机赛 B. 朴素计数,写个 dp 算贡献系数就好了。 C. 网路流。建边 \((s,i_0,C),(i_1,t,C),(i_0,j_1,dis_{i,j})\),跑最大流即可。 5.22 A. 首先分析一下贡献的形式。因为这玩意是凸的,所以我们可以钦定一个选点顺序,优先让第一个最大,其次 阅读全文
posted @ 2024-06-11 21:50 Hypercube07 阅读(144) 评论(0) 推荐(0)
摘要: NOIP2023训练赛1 A 类似过河卒,搜索即可。 B 首先考虑暴力怎么做:设 \(dp_i\) 表示哈希值为 \(i\) 的串答案最大是多少,对每个串枚举子串转移即可。 发现不同长度不超过 \(O(\sqrt n)\),所以只有 \(O(\sqrt n)\) 种长度的子串有用,转移即可。 容易做 阅读全文
posted @ 2024-02-16 19:21 Hypercube07 阅读(23) 评论(0) 推荐(0)
摘要: 要注意的点: 1.不要觉得一个算法没有优化空间就不去尝试,要仔细分析复杂度(均摊?特殊性?) 2.如果前面的状态有不容易消除的后效性,可以通过提前钦定来解决(e.g.1 e.g.2) 阅读全文
posted @ 2024-02-16 09:55 Hypercube07 阅读(12) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2024-02-15 15:21 Hypercube07 阅读(0) 评论(0) 推荐(0)
摘要: CF1572D Bridge Club 若我们贪心地从大向小选,不难发现每选择一条边至多会 ban 掉 \(2n-2\) 条边,所以只有前 \(2nk\) 大的边有用。 把这些边拉出来,跑一下二分图匹配即可。求前 \(2nk\) 大可以使用 nth_element。 使用 Dij 费用流,时间复杂度 阅读全文
posted @ 2024-02-14 19:30 Hypercube07 阅读(66) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2024-02-14 19:21 Hypercube07 阅读(1) 评论(0) 推荐(0)
摘要: 一般来讲建凸包是按照 \(k\) 排序插入,实际上问题中如果有 \(x \ge 0\),按照 \(b\) 排序亦可,有时会起到意想不到的效果。 例题 path 本题便是一个很好的例子。由于最短路更新过程的特殊性,每次只有 \(b\) 最小的函数会加入凸包中,但由于边权 \(\ge0\),直接这样建凸 阅读全文
posted @ 2023-12-27 08:33 Hypercube07 阅读(30) 评论(0) 推荐(0)
摘要: 结论1:如果曲奇 \(c\) 当 \(k=x\) 时会被剩下,那么当 \(k=x+1\) 时亦会被剩下。 感性理解即可。显然初始集合越大,曲奇越不容易被换走。 结论2:原问题等价于以下问题:每次给出一个曲奇 \(c\),遇到 \(S_i=\)'S' 且 \(c>B_i\) ,或 \(S_i=\)'B 阅读全文
posted @ 2023-12-19 21:13 Hypercube07 阅读(11) 评论(0) 推荐(0)
摘要: 考虑假设已知括号序列 \(s\),如何求出 \(p,q\)。 对于求 \(p\),考虑从 \(s_1\) 到 \(s_n\) 逐个往里放,如果能放就直接放,肯定不劣,否则就从后面抽最近的左括号放过来,然后继续放。不难证明不存在更优方案,对于 \(q\) 同理。 接下来我们发现,如果 \(p\) 中存 阅读全文
posted @ 2023-12-13 08:48 Hypercube07 阅读(34) 评论(1) 推荐(1)
摘要: 最优方案一定是选择一个团,并在团里平均分配点权。 实际上,定义一个点 \(u\) 的权重 \(w_u\) 为 \(\sum\limits_{(u,v)}s_v\),那么如果方案中 \(w_x>w_y\),将 \(y\) 去掉并将其点权加在 \(x\) 上一定更优,所以答案一定会被调整成一个团。 对于 阅读全文
posted @ 2023-12-13 08:17 Hypercube07 阅读(33) 评论(0) 推荐(0)