posted @ 2024-03-03 18:42 _XOFqwq 阅读(1) 评论(0) 推荐(0) 编辑
摘要:
Problem T1 /* 思路:对于每一对L,R,标记[L,R)(注意左闭右开!), 并且求出最小的L(minl)和最大的R-1(maxr); 循环maxl~maxr,若被标记则最长连续挤奶时间+1,最长无人挤奶时间=0; 否则最长连续挤奶时间=0,最长无人挤奶时间+1,同时更新最大值。 */ # 阅读全文
摘要:
首先,我们很容易就能得出一个显而易见的结论: 若令原数组为 \(order\),\(K\) 个活跃位置分别为 \(A_1,A_2,...,A_K\),则 \[order_{A_1} \to order_{A_2},order_{A_2} \to order_{A_3},...,order_{A_K} 阅读全文
posted @ 2024-03-03 18:41 _XOFqwq 阅读(16) 评论(0) 推荐(0) 编辑
摘要:
Problem T1 /* 思路:枚举二元组(i,j),依次检验k次训练课,若i的位置总是>j或<j,则将答案累加。 */ #include<bits/stdc++.h> #define int long long using namespace std; int k,n,ans; int a[31 阅读全文
posted @ 2024-03-03 18:41 _XOFqwq 阅读(4) 评论(0) 推荐(0) 编辑
摘要:
Problem T1 /* 思路: 因为题目要求最大水量,所以K次操作需要都用上, 并且由于每次都是将x倒入x+1中,所以K次操作之后的最大水量应当是x~x+k+1之和; 于是问题就转变成了求一段长度为k+1的连续子段的和的最大值,因此维护一个前缀和即可。 */ #include<bits/stdc 阅读全文
posted @ 2024-03-03 18:40 _XOFqwq 阅读(2) 评论(0) 推荐(0) 编辑
摘要:
Problem T1 /* 思路: 我们可以忽略两人碰到后转向的过程,直接视为两人彼此穿过了对方, 这样算距离是不变的,时间也是不变的,所以合法。 通过上述分析, 那么最小时间即为对于每一个士兵往左/右走的时间取min再取max, 最大时间反之亦然。 */ #include<bits/stdc++. 阅读全文
posted @ 2024-03-03 18:40 _XOFqwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要:
Problem T1 /* 思路: 暴力枚举所有的和,用桶标记每个和出现的次数,找最大值且编号最小即可。 */ #include<bits/stdc++.h> #define int long long using namespace std; int s1,s2,s3; int sum=-1e9, 阅读全文
posted @ 2024-03-03 18:39 _XOFqwq 阅读(3) 评论(0) 推荐(0) 编辑
摘要:
Problem T1 /* 思路: 对于操作1,直接+=拼接即可; 对于操作2,直接令s=s.substr(a,b)即可; 对于操作3,直接令s=s.insert(a,t)即可; 对于操作4,直接s.find(str)即可,注意特判-1。 */ #include<bits/stdc++.h> #de 阅读全文
posted @ 2024-03-03 18:38 _XOFqwq 阅读(6) 评论(0) 推荐(0) 编辑
摘要:
思路 考虑将 \(id\) 从小到大排序, 然后从 \(2\) 下标开始扫描一遍 \(id\) 数组, 若当前的 \(id_i - id_{i-1} > 1\),则说明当前 \(id\) 存在断号,输出 \(id_i - 1\); 若当前的 \(id_i = id_{i-1}\),则说明当前 \(i 阅读全文
posted @ 2024-03-03 18:37 _XOFqwq 阅读(60) 评论(0) 推荐(0) 编辑