摘要: https://codeforces.com/problemset/problem/2147/C 我们思考兔子怎么才不能跳到花坛,对于这样偶数个 0 的子串,我们可以构造两个兔子面对面,对于 01010101,我们可以构造两个兔子往一个花坛里面跳。 那么也就是说我们可以快速判断两个兔子是否合法,具体 阅读全文
posted @ 2026-01-16 15:58 曾翎一 阅读(1) 评论(0) 推荐(0)
摘要: https://codeforces.com/problemset/problem/2108/C 思路很简单,其实就是要找数据中的山峰就可以了。原来的代码是之所以会错就是因为你在盆地到n的情况会被误判为山峰。所以最好的方法就是先去掉连续相同的部分。p[0]和p[n+1]分别设置成0,就可以了。 #i 阅读全文
posted @ 2026-01-16 11:16 曾翎一 阅读(2) 评论(0) 推荐(0)
摘要: https://codeforces.com/problemset/problem/2129/B 首先不用太在意t的大小,你还是看n的量级就行了。5000就是可以o(n2)的。而在可以动态调整操作的问题里你要找那些不会随你操作改变的东西。这里面就是对于任意满足 j>i,pj>pi,无论 aj是否翻转 阅读全文
posted @ 2026-01-16 09:57 曾翎一 阅读(1) 评论(0) 推荐(0)
摘要: 题目链接:https://codeforces.com/problemset/problem/2140/C 解题思路:博弈论一定要找出博弈在哪里。博弈的思想往往是简单的,只需要考虑最近一步就可以了。我一开始是想A有轮椅打法就是同奇偶位置交换它是净赚的,B就得选择最佳的位置交换了。但是多想一步,B即便 阅读全文
posted @ 2026-01-16 02:11 曾翎一 阅读(3) 评论(0) 推荐(0)
摘要: 当你要做数学计数的时候,如果这个数学计数你写式子算不出来,那多半是写dp来计数的。这道题可以想到是做以d为最大的被删除的数,如何去重是关键,我们可以算出kd的倍数个数再从中取个数-1,这个时候分块的意义就体现了 阅读全文
posted @ 2025-11-07 00:31 曾翎一 阅读(11) 评论(0) 推荐(0)
摘要: include include include int main() { constexpr int M = 20101009; int n, m; std::cin >> n >> m; if (n > m) std::swap(n, m); std::vector f(n + 1), vis(n 阅读全文
posted @ 2025-10-22 00:47 曾翎一 阅读(8) 评论(0) 推荐(0)
摘要: include include include include include using namespace std; // 快速幂算法:计算 (a^b) % mod long long fast_power(long long a, long long b, long long mod) { l 阅读全文
posted @ 2025-10-22 00:47 曾翎一 阅读(9) 评论(0) 推荐(0)
摘要: include include include include include using namespace std; // 快速幂算法:计算 (a^b) % mod long long fast_power(long long a, long long b, long long mod) { l 阅读全文
posted @ 2025-10-22 00:43 曾翎一 阅读(8) 评论(0) 推荐(0)
摘要: ![image](https://img2024.cnblogs.com/blog/3700806/202510/3700806-20251018214647163-1207945243.png) 阅读全文
posted @ 2025-10-18 21:47 曾翎一 阅读(5) 评论(0) 推荐(0)
摘要: 二位前缀和的巧妙运用 include<bits/stdc++.h> using namespace std; int T,k; vector<pair<int,int>> g; int num[2010][2010]; long long c[2010][2010]; int d[2010][201 阅读全文
posted @ 2025-10-18 16:32 曾翎一 阅读(4) 评论(0) 推荐(0)