摘要: Abstract 传送门 给出一个序列,要求我们找出平均值大于 m 的子段的数量。这题和逆序对还有些关系呢。 Idea 很容易想到,我们要对原序列进行以下预处理:a[i] -= m ,这样一来,问题转变为找和值大于 0 的子段,那么我们再对原序列做一次前缀和,接下来,对于区间 [l,r] ,若 a[ 阅读全文
posted @ 2024-07-31 23:15 carboxylBase 阅读(13) 评论(0) 推荐(0) 编辑
摘要: Abstract 传送门 本题定义平衡串为 0 和 1 数量相等的字符串,要求我们找出给定 01 串中含有的最大平衡串。 Idea 如果把 1 视为 +1 ,0视为 -1,那么一个 01 串是平衡串当且仅当其和值为 0 ,那么问题就转变为寻找给定 01 串中和值为 0 的最长子段。 首先做一个前缀和 阅读全文
posted @ 2024-07-31 23:02 carboxylBase 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Abstract 本文主要介绍各种序列子段和问题。 P1 最大子段和 传送门 Introduction 首先来看一道经典例题,求一段序列的最大子段和 Idea 考虑动态规划,令 dp[i] 表示在取第 i 个数的情况下,前 i 个数所能得到的最大子段和,那么显然有 dp[i] = max( dp[i 阅读全文
posted @ 2024-07-31 22:41 carboxylBase 阅读(24) 评论(0) 推荐(0) 编辑
摘要: Abstract 传送门 这篇题解主要介绍如何使用BFS去实现拓扑排序。 Idea 见下方注释 Code #include <bits/stdc++.h> using namespace std; int n; // 记录点的数量 int in[105]; // 记录点的入度 vector<vect 阅读全文
posted @ 2024-07-10 18:24 carboxylBase 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Abstract 传送门 这篇题解主要介绍了拓扑排序的唯一性问题和存在性问题。 Idea 要想解决这题需要考虑到一下两点: 拓扑排序的核心思路在于将所有入度为0的点一次加入序列,如果在某一个时刻图中存在多个入度为0的点,那么我们将无法判断它们的先后顺序,此时,拓扑序列就不唯一了。 假设有n个点参与拓 阅读全文
posted @ 2024-07-10 18:04 carboxylBase 阅读(30) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示