摘要: 上午 打了比赛,第一题被map的log卡了,能拿100的,后面的太难了 下午 改了E和F,我是直接写了F,发现根据b[i] 进行排序,后面看每个数的所有因数计算就可以了 阅读全文
posted @ 2025-10-29 18:32 libohan0518 阅读(5) 评论(0) 推荐(0)
摘要: 上午 打比赛了,第一题很简单,但是第2题就卡住了,后面看了老师的简介,发现考虑一号节点开始,用lca求dis的公式搞一下就很简单了 下午 写了周作业的J题,发现如果 k<n 就很简单,剩下的我们可以考虑将操作反过来然后就可以将 a[i] 从小到大排序,则前 n 次操作最优是让 \(a_i + k − 阅读全文
posted @ 2025-10-27 12:35 libohan0518 阅读(4) 评论(0) 推荐(0)
摘要: 上午 写了周作业的F题,一开始以为很难,后面发现字符串的长度小于等于100,于是就可以直接设 dp[i,j,k], 表示 [1∼i] 里面有 j 个 1,总贡献为 k 的方案中与 s [1∼i] 最小的不同个数,然后转移就很明显了dp[i,j,k] = min(dp[i−1,j,k], dp[i−1 阅读全文
posted @ 2025-10-24 18:04 libohan0518 阅读(6) 评论(0) 推荐(0)
摘要: 上午比赛 T1: 第一题看完题大概就知道是二分答案了,然后搞一搞就过了 T2: 比赛的时候很有想法,然后发现和上一个第二次牌的奇偶性有关 T3: 现在没有什么想法,待会看题解改改 T4: 5分没拿到,后面感觉需要看题解 下午改题 阅读全文
posted @ 2025-10-18 16:12 libohan0518 阅读(23) 评论(0) 推荐(0)
摘要: 可以把l, r做一个类似于扫描线的小东西然后用线段树维护一下下? 阅读全文
posted @ 2025-10-09 17:02 libohan0518 阅读(3) 评论(0) 推荐(0)
摘要: #include <bits/stdc++.h> using namespace std; const int N = 1e6 + 5; int n, p[N]; string s; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> s 阅读全文
posted @ 2025-07-25 19:28 libohan0518 阅读(8) 评论(0) 推荐(0)
摘要: abc408 E 过程 这题我在赛场上打的时候感觉太着急了,我一看到是图论就无脑糊了个 \(dij\) 板子上去,后来一直也在往这方面想,所以导致了没有赛时 \(ac\),赛后想了想,问题就是优先级,最大的不一定最优。 解法 这题应该拆位,然后用并查集处理 反思 我觉得这种题没有做出来主要是没有多次 阅读全文
posted @ 2025-06-02 00:34 libohan0518 阅读(15) 评论(0) 推荐(0)
摘要: Changes in Antwanland 我们可以考虑直接枚举根,我们假设从根出发的深度为 \(i\) 的结点数量为 \(cnt_i\) ,那么我们只需要找到第一个 \(cnt_1 + cnt_2 + ... + cnt_x \geq k\) 即可,但是一个点的中心有可能可以在边上,所以跑两边即可 阅读全文
posted @ 2024-10-17 20:47 libohan0518 阅读(19) 评论(0) 推荐(0)
摘要: Dihedral Group 猜结论,我们观察样例就可以猜到,只要 \(t\) 可以被 \(d\) 在一个圆上正着或泛着表示即可 #include <bits/stdc++.h> using namespace std; #define int long long const int N = 5e4 阅读全文
posted @ 2024-10-17 20:34 libohan0518 阅读(14) 评论(0) 推荐(0)
摘要: Jordan's Castles 我们先思考如何快速求出 \(b_1, b_2, b_3...b_n\) 显然我们可以直接用二分找到,然后我们可以直接将 \(a_i\) 改为 \(min(a[i], b[i])\),然后统计答案即可 #include <bits/stdc++.h> using na 阅读全文
posted @ 2024-10-17 20:28 libohan0518 阅读(13) 评论(0) 推荐(0)