摘要: 维护数组 ##分析: 分别维护两个值sum1, sum2,其他套线段树板子 ##实现: struct Node { int l, r; int minv; int sum1, sum2; } tr[N << 2]; void pushup(Node &u, Node &l, Node &r) { u 阅读全文
posted @ 2023-03-25 21:00 347Foricher 阅读(54) 评论(0) 推荐(0)
摘要: #全 1 子矩阵 ##分析: 扩范围,到最后看面积是否等于1的个数 ##实现: int T; int sum; int n, m; char g[N][N]; void solve() { sum = 0; for (int i = 1; i <= n; i++) { cin >> g[i] + 1 阅读全文
posted @ 2023-03-24 17:52 347Foricher 阅读(140) 评论(0) 推荐(0)
摘要: I.太阳轰炸 ##分析: 由于是同心圆,所以有交集的圆的范围为 R1 + r 若 R1 + r >= R2,只有消灭与未消灭两种情况 其他情况有概率消灭:计算打中的概率 P ,然后二项分布求出 预处理逆元优化,不然T1 #include <bits/stdc++.h> using namespace 阅读全文
posted @ 2023-03-22 21:48 347Foricher 阅读(139) 评论(0) 推荐(1)
摘要: #Vacation ##题意: n 辆车排队过路口,每辆车给定最大车速、车长、车头到路口的距离,求最后一辆车的最短通过时间 ##分析: 确定每辆车通过路口需要的总路程 sum[i], 然后分情况讨论: 前车速度小于后车速度,后车只能以前车速度运行,这样就会导致前后车花费相同时间到达 前车速度大于后车 阅读全文
posted @ 2023-03-21 19:09 347Foricher 阅读(23) 评论(0) 推荐(0)
摘要: DZY Loves Colors 题面翻译 有一个 $n$ 个元素组成的序列,每个元素有两个属性:颜色 $c_i$ 和权值 $w_i$。$c_i$ 初始为 $i$,$w_i$ 初始为 $0$。$m$ 次操作,操作有两种: 1 l r x:对 $i\in [l,r]$ 的所有 $i$ 进行如下操作:设 阅读全文
posted @ 2023-03-20 22:59 347Foricher 阅读(39) 评论(0) 推荐(0)
摘要: #数据结构 你有一个长度为 n 的字符串,其中仅含0,1,2三个字符。 你希望知道,这个字符串有多少个子串,满足该子串的0,1,2个数相等? n 之和不超过3e5 ##输入 4 3 012 6 001122 18 102100120120120012 18 012012012012012012 ## 阅读全文
posted @ 2023-03-18 21:39 347Foricher 阅读(19) 评论(0) 推荐(0)
摘要: 排列计数 ##输入样例: 5 1 0 1 1 5 2 100 50 10000 5000 ##输出样例: 0 1 20 578028887 60695423 组合数+错排 错排式:D[n] = (n - 1) * (D[n - 1] + D[n - 2]) #include <bits/stdc++ 阅读全文
posted @ 2023-03-18 17:21 347Foricher 阅读(35) 评论(0) 推荐(0)
摘要: ##分析: 树形结构转换为线性结构(DFS序) ##DFS序看这里 #include <bits/stdc++.h> using namespace std; #define mst(x, y) memset(x, y, sizeof x) #define endl '\n' #define INF 阅读全文
posted @ 2023-03-14 16:59 347Foricher 阅读(26) 评论(0) 推荐(0)
摘要: 栈与公约数 区间修改,区间查询 int T; int n, q, op, num; struct Node { int l, r; int sum, d; // lazy, 区间gcd } tr[N << 2]; int gcd(int a, int b) { return b == 0 ? a : 阅读全文
posted @ 2023-03-13 17:16 347Foricher 阅读(81) 评论(0) 推荐(0)
摘要: ★★翻滚吧硬币★★ ##题意: 任取两枚硬币固定在二维平面上,并让它们恰好相切,用第三枚硬币沿着它们形成的边界进行翻滚,即时刻保证与至少一枚已固定的硬币相切。这样这枚运动的硬币在翻滚了一定的圈数之后,一定会回到原点,即恰好绕了一周。(如此一来,便会出现三种情况:固定 A,B,让 C 运动;固定 A, 阅读全文
posted @ 2023-02-12 11:58 347Foricher 阅读(38) 评论(0) 推荐(0)