随笔分类 - AtCoder
摘要:## 数位 DP ```cpp #include using namespace std; using ll = long long; int dp[64][10][10][10][2][2][2][2][2][2]; int main() { ll n; int b1, b2, b3; cin >
阅读全文
摘要:题目描述 简要描述:给定一个长度为 的数组,求数组的子数组满足最大值为 且最小值为 的子区间的个数。 做法 1. ST表 + 二分 时间复杂度: 对于每个位置,二分出以它为左端点最大值为 的最远和最近的位置,以及以它为左端点最小值为
阅读全文
摘要:
AtCoder Beginner Contest 258 Link A - When? 模拟即可. 点击查看代码 #include <bits/stdc++.h> using namespace std; using ll = long long; int main() { int n; scanf
阅读全文

摘要:一个很容易看出的 ,不过需要优化一下状态转移过程 前缀和优化 复杂度 // Problem: E - Distance Sequence // Contest: AtCoder - NOMURA Programming Contest 2022(AtCoder
阅读全文
摘要:
AtCoder Beginner Contest 238 题解 A - Exponential or Quadratic 题意 判断 是否成立? Solution 当 为 2,3,4 的时候不成立,否则成立 Code #include <bits/s
阅读全文

摘要:预处理即可 我们要找的是 (f[i] - f[j]) % k == i - j 移项可得 f[i] - i = f[j] - j 在 i - j ⇐ k 的条件下 因此题目变成了,对于每个右端点,在它的左边 k - 1 个有多少个满足 f[i] - i = f[j] - j f[i] 是前缀和数组
阅读全文
摘要:A #include <iostream> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; for(int i = 1; i <= 1000; i ++ ) { if(c * i >= a && c * i <=
阅读全文