10 2025 档案

摘要:斐波那契数列: \(F_i = F_{i-1} + F_{i-2}\) [ \begin{bmatrix} F_i \ F_{i-1} \end{bmatrix}= \begin{bmatrix} 1 & 1 \ 1 & 0 \end{bmatrix} \times \begin{bmatrix} 阅读全文
posted @ 2025-10-30 22:26 Ke_scholar 阅读(6) 评论(0) 推荐(0)
摘要:本篇文章只是矩阵快速幂中递推式到矩阵的构造杂谈,前置知识矩阵乘法与快速幂请自行了解学习。 一、从斐波那契数列入门:最基础的矩阵构造 斐波那契数列的递推式为: \[ f(n) = \begin{cases} 1, & n = 1,2 \\ f(n-1) + f(n-2), & n \geq 3 \en 阅读全文
posted @ 2025-10-30 21:51 Ke_scholar 阅读(3) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-10-29 20:18 Ke_scholar 阅读(27) 评论(0) 推荐(0)
摘要:A - From Hero to Zero 模拟。 能除 \(k\) 直接除 \(k\),否则减掉余数部分。 点击查看代码 #include <bits/stdc++.h> using i64 = long long; void solve() { i64 n, k; std::cin >> n > 阅读全文
posted @ 2025-10-25 21:08 Ke_scholar 阅读(7) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-10-22 18:00 Ke_scholar 阅读(7) 评论(0) 推荐(0)
摘要:F. Witnessing the Miracle / 见证奇迹 动态规划。 打表发现当一个被拿走的磁铁集合确定之后,未被拿走的磁铁的方向和距离可以由它左边被拿走的磁铁数量确定,因此,拿走磁铁的先后顺序不影响最终局面的状态,即从 \(S\) 中拿走不同集合的磁铁所对应的状态也是不同的。 考虑从左往右 阅读全文
posted @ 2025-10-17 20:53 Ke_scholar 阅读(10) 评论(0) 推荐(0)
摘要:A - MEX Partition 思维? 求 \(a\) 的 \(\text{mex}\)。 关于证明,参考官方题解: 首先,让 \(m=\operatorname{mex}(A)\) 。我们可以忽略所有大于 \(m\) 的元素。这是因为由于 \(m\) 是 mex, \(m\) 不会出现在 \( 阅读全文
posted @ 2025-10-16 14:49 Ke_scholar 阅读(30) 评论(0) 推荐(0)
摘要:A. Circle of Apple Trees 模拟。 可以一直循环,那么将原数组去重排序后,第 \(i\) 轮吃第 \(i\) 个就可以把所有不同的数字都吃掉,即答案就是去重后的元素个数。 点击查看代码 #include <bits/stdc++.h> using namespace std; 阅读全文
posted @ 2025-10-15 19:34 Ke_scholar 阅读(22) 评论(0) 推荐(0)
摘要:F. Sum of Numbers 高精度,\(dp\),暴搜。 要使得 \(n\) 位分成 \(k+1\) 段后相加结果数值最小,那么应该每段都尽可能的平分成 \(\frac n{k+1}\) 位,然后剩下的 \(n\%(k+1)\) 也平分,但这里可能会存在某段被多分两位,某段需要去掉一位,比如 阅读全文
posted @ 2025-10-15 14:53 Ke_scholar 阅读(11) 评论(0) 推荐(0)
摘要:J. Travel 2 思维,模拟搜索。 如果从 \(u\) 选一条边到 \(v\),然后再从 \(v\) 又刚好选到一条边回来 \(u\),那么 \(u-v\) 这条边我们已经知道它分别在 \(u\) 和 \(v\) 里的排名了,一共有 \(m\) 条边,显然 \(2m\) 次可以拿来确定有哪些边 阅读全文
posted @ 2025-10-12 21:54 Ke_scholar 阅读(8) 评论(0) 推荐(0)
摘要:K. Maximum Rating 数据结构。 考虑最大化变化次数,显然是先涨分再掉分,最小化相反,先掉分再涨分,从最大到最小,每次拿一个正数小的去给到负数那边,变化次数就可以减少一,最终最大到最小之间都可以取到,假设正数排序后前 \(k\) 小的和小于等于负数和,说明我们就从最大值再变化 \(k\ 阅读全文
posted @ 2025-10-11 16:31 Ke_scholar 阅读(19) 评论(0) 推荐(0)
摘要:G. China Convex Polygon Contest 反悔贪心。 首先可以考虑对 \(b\) 排序,显然思考越快的题可以使手里攒着的题更多更有选择的空间。 如果正着贪心的话就是,当前能做就立马提交,如果当前的时间更优但选不了就从之前丢一个小的然后选择当前;但是会存在这样一个情况,刚开始把 阅读全文
posted @ 2025-10-11 12:31 Ke_scholar 阅读(18) 评论(0) 推荐(0)
摘要:A - El fucho 模拟。 胜者组共有 \(n-1\) 队进入败者组,进入败者组的会淘汰 \(n-2\) 队,最后剩两组再进行一场,总场数 \(2n-2\)。 不会算也可以直接模拟。 点击查看代码 #include <bits/stdc++.h> using i64 = long long; 阅读全文
posted @ 2025-10-10 15:20 Ke_scholar 阅读(109) 评论(0) 推荐(0)
摘要:A - Candies for Nephews 模拟。 看 \(3\) 的余数。 点击查看代码 #include <bits/stdc++.h> using namespace std; using i64 = long long; void solve() { int n; std::cin >> 阅读全文
posted @ 2025-10-07 14:20 Ke_scholar 阅读(22) 评论(1) 推荐(0)
摘要:A - Increase or Smash 模拟。 对于每个不是最大值的来说,都会经历一次先置为零然后再加的操作,重复项只计算一次;而最大值不用置为零,所以最开始会有一次。 点击查看代码 #include <bits/stdc++.h> using namespace std; using i64 阅读全文
posted @ 2025-10-05 22:16 Ke_scholar 阅读(45) 评论(0) 推荐(0)
摘要:洛谷模板测试七倍经验: https://www.luogu.com.cn/record/238785118 https://www.luogu.com.cn/record/238783283 https://www.luogu.com.cn/record/238788990 https://www. 阅读全文
posted @ 2025-10-05 17:42 Ke_scholar 阅读(7) 评论(0) 推荐(0)
摘要:A. Best Player 模拟。 题意是分别站在 \(X,Y,Z\) 轴上看另外两维构成的点,谁看到的更多。 分别对三维维护一个 \(\text{pair}\) 去重比较即可。 点击查看代码 #include<bits/stdc++.h> using namespace std; #define 阅读全文
posted @ 2025-10-02 15:50 Ke_scholar 阅读(10) 评论(0) 推荐(0)
摘要:B - Bitwise Exclusive-OR Sequence 种类并查集。 根据每一对的异或关系,可以得到二进制中每一位是否互斥关系,涉及到两种关系的处理用种类并查集更好维护;另外再维护两个点之间是否有关系,之后可能形成多个关系的集合,每个集合又分成了互斥的两个部分,对少的那一堆赋值为 \(1 阅读全文
posted @ 2025-10-01 22:25 Ke_scholar 阅读(10) 评论(0) 推荐(0)
摘要:template<class Info, class Tag> struct LazySegmentTree { int n; std::vector<Info> info; std::vector<Tag> tag; LazySegmentTree() : n(0) {} LazySegmentT 阅读全文
posted @ 2025-10-01 20:52 Ke_scholar 阅读(7) 评论(1) 推荐(0)