随笔分类 -  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 > 阅读全文
posted @ 2023-08-28 18:08 ccz9729 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题目描述 简要描述:给定一个长度为 N 的数组,求数组的子数组满足最大值为 X 且最小值为 Y 的子区间的个数。 做法 1. ST表 + 二分 时间复杂度: O(nlogn) 对于每个位置,二分出以它为左端点最大值为 X 的最远和最近的位置,以及以它为左端点最小值为 Y 阅读全文
posted @ 2022-10-27 22:50 ccz9729 阅读(47) 评论(0) 推荐(0) 编辑
摘要:AtCoder Beginner Contest 258AtCoder Beginner Contest 258 Link A - When? 模拟即可. 点击查看代码 #include <bits/stdc++.h> using namespace std; using ll = long long; int main() { int n; scanf 阅读全文
posted @ 2022-09-20 12:43 ccz9729 阅读(35) 评论(0) 推荐(0) 编辑
摘要:一个很容易看出的 DP,不过需要优化一下状态转移过程 前缀和优化 复杂度 O(nm) // Problem: E - Distance Sequence // Contest: AtCoder - NOMURA Programming Contest 2022(AtCoder 阅读全文
posted @ 2022-06-10 17:14 ccz9729 阅读(76) 评论(0) 推荐(0) 编辑
摘要:D - 2-variable Function 题意 给定一个整数 n (1n1018), 找出一个最小整数 X X 满足 Xn 存在两个非负整数 a,b 满足 X=a3+a2b+ab2+b3 思路 $X = 阅读全文
posted @ 2022-04-05 22:18 ccz9729 阅读(127) 评论(0) 推荐(1) 编辑
摘要:传送门 题目描述 把一个长度为 N 的数组 A, 分为几个连续的子序列 B1,B2,...,Bk,有 2N1 种划分方式 先给出数组 A 求出所有划分方式的价值之和,并对 998244353 取模. 对于一种划分方式 \(B_1, 阅读全文
posted @ 2022-03-16 19:43 ccz9729 阅读(58) 评论(0) 推荐(1) 编辑
摘要:AtCoder Beginner Contest 238  A - F 题解AtCoder Beginner Contest 238 AF 题解 A - Exponential or Quadratic 题意 判断 2n>n2是否成立? Solution 当 n 为 2,3,4 的时候不成立,否则成立 Code #include <bits/s 阅读全文
posted @ 2022-02-06 15:55 ccz9729 阅读(241) 评论(0) 推荐(0) 编辑
摘要:预处理即可 我们要找的是 (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] 是前缀和数组 阅读全文
posted @ 2021-10-22 00:56 ccz9729 阅读(45) 评论(0) 推荐(0) 编辑
摘要: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 <= 阅读全文
posted @ 2021-10-07 17:55 ccz9729 阅读(37) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩