AGC008
AGC008
B
题目大意
给出一个序列,一开始全是白色,一次操作可以染黑或染白一段长度为
解题思路
考虑找结论。
发现我们一定要尽可能地把正数涂黑,负数涂白,由于对操作次数没有限制,因此对一个正数我们只要将其放在区间首位涂黑,再把后面的数涂白即可实现单独将其涂黑。
但是我们发现如果这么做最后的
考虑一段从前往后,一段从后往前,中间就会有
因此我们可以枚举这个无法实现的区间,如果它求和大于
代码上,我们可以维护两个前缀和,一个是序列的前缀和
答案即为:
代码
#include<bits/stdc++.h>
#define endl "\n"
#define ll long long
using namespace std;
const int N = 1e5 + 10;
int n, k;
ll s1[N], s2[N], ans;
int main()
{
ios :: sync_with_stdio(0);
cin.tie(0), cout.tie(0);
cin >> n >> k;
for (int i = 1; i <= n; i++)
{
cin >> s1[i];
s2[i] = s2[i - 1];
if (s1[i] > 0)
{
s2[i] += s1[i];
}
s1[i] += s1[i - 1];
}
for (int i = 1; i <= n - k + 1; i++)
{
ans = max(ans, s2[i - 1] + s2[n] - s2[i + k - 1] + max(0ll, s1[i + k - 1] - s1[i - 1]));
}
cout << ans << endl;
return 0;
}
D
题目大意
构造一个序列
-
的长度为 ,并且满足数字 都各出现恰好 次。 -
对于
,数字 在 中第 次出现的位置是 。
解题思路
考虑贪心。
题意即为:对于
考虑先满足前一个条件,我们可以对
但是我们为了顾及后面一个条件,那么就需要尽可能少地占用后面的空位,因此我们填数时在最前面的空位一定是最优的。
于是后面一个条件只需从大到小遍历,找后面的空位放即可(不一定要选取最后面,但为了编写方便,不妨就选最后的空位)。
代码
#include<bits/stdc++.h>
#define endl "\n"
using namespace std;
const int N = 510;
struct node
{
int id, x;
} b[N];
int n;
int a[N * N];
bool cmp(node x, node y)
{
return x.x < y.x;
}
int main()
{
ios :: sync_with_stdio(0);
cin.tie(0), cout.tie(0);
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> b[i].x;
a[b[i].x] = i;
b[i].id = i;
}
sort(b + 1, b + n + 1, cmp);
for (int i = 1, p = 1; i <= n; i++)
{
for (int j = 1; j < b[i].id; j++)
{
while (p <= b[i].x && a[p] != 0)
{
p++;
}
if (p > b[i].x)
{
cout << "No" << endl;
return 0;
}
a[p++] = b[i].id;
}
}
for (int i = n, p = n * n; i >= 1; i--)
{
for (int j = b[i].id + 1; j <= n; j++)
{
while (p >= b[i].x && a[p] != 0)
{
p--;
}
if (p < b[i].x)
{
cout << "No" << endl;
return 0;
}
a[p--] = b[i].id;
}
}
cout << "Yes" << endl;
for (int i = 1; i <= n * n; i++)
{
cout << a[i] << " ";
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)