摘要: 其实三分和二分实现是一样的,但是为什么我还要写一下呢,因为我没学的时候感觉太可怕了,学了后发现也就那样,所以我要记录一下(水题解)。 原题链接 每次三分取 \(x\) 判断大小。 #include <bits/stdc++.h> using namespace std; #define ll lon 阅读全文
posted @ 2024-09-23 17:52 sad_lin 阅读(34) 评论(0) 推荐(0)
摘要: 欧拉函数 定理 欧拉函数,即 \(\varphi(n)\),表示的是小于等于 \(n\) 和 \(n\) 互质的数的个数,详细定义看wiki。 欧拉函数其实就是容斥原理的应用,举个例子: 如 \(n=6\),\(1,2,3,4,5,6\) 是整个序列,我们将 \(6\) 的质因子 \(2\),\(3 阅读全文
posted @ 2024-09-23 14:16 sad_lin 阅读(31) 评论(0) 推荐(0)
摘要: 一个正向取前缀和,一个反向取,最后枚举断点。 #include <bits/stdc++.h> using namespace std; #define ll long long int n,sum; int a[200005]; int front[200005]; int back[200005 阅读全文
posted @ 2024-09-23 12:36 sad_lin 阅读(16) 评论(0) 推荐(0)
摘要: 又是一个思维毒瘤好题,但dp题都是这样,菜就多练吧。 拆环为链,前缀和加速计算,枚举断点数、起点、终点、断点。 #include <bits/stdc++.h> using namespace std; #define ll long long const int N=105; int a[N*2] 阅读全文
posted @ 2024-09-23 10:24 sad_lin 阅读(38) 评论(0) 推荐(0)
摘要: 原题链接 虽然我还是看题解才会做的(菜),但我还要说这题挺简单的(菜),还是菜就多练。 因为是对一个字符串操作求树的可能数,所以考虑区间dp,设状态 \(dp[i][j]\) 为区间 \(i\) 到 \(j\) 树的状态数。 在转移的过程中如果 \(s_i=s_j\) 时代表这可能为同一个根节点组成 阅读全文
posted @ 2024-09-23 09:21 sad_lin 阅读(32) 评论(0) 推荐(0)