上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 21 下一页
摘要: Problem T1 /* 思路:分类讨论: 若k=0,则输出x+1; 若k>tot(x的位数),则输出1+k-tot个0+x; 否则输出10^k+x。 */ #include<bits/stdc++.h> using namespace std; long long k,x,tot,ans=1; 阅读全文
posted @ 2024-03-09 12:25 _KidA 阅读(30) 评论(0) 推荐(0)
摘要: 考虑采用双指针法解决此题。 首先需要对 \(a,b\) 数组排序,并且维护两个指针 \(l,r\),分别指向 \(a,b\) 两个数组中的元素。 接着循环移动 \(r\) 指针,每次都尝试匹配 \(a_l\) 和 \(b_r\): 若 \(a_l \le b_r\),则说明 \(a_l = b_r\ 阅读全文
posted @ 2024-03-09 12:24 _KidA 阅读(22) 评论(0) 推荐(0)
摘要: 区间 dp:以区间为子问题的 dp。 特征: 从左往右 / 从右往左递推会得到不同结果; 常为 合并类 / 拆分类 / 处理两端类; 要么枚举中间断点,要么枚举两端点。 T1 令 \(dp_{i,j}\) 表示合并区间 \([i,j]\) 所需代价。易得答案为 \(dp_{1,n}\)。 初始状态即 阅读全文
posted @ 2024-03-03 21:43 _KidA 阅读(14) 评论(0) 推荐(0)
摘要: Problem T1 /* 思路: 统计每个人成绩的出现人次, 然后贪心地按分数值域从大到小扫描一遍, 每次令答案累加上当前分数出现的人次, 若答案>=k就停止扫描并输出即可。 */ #include<bits/stdc++.h> #define int long long using namesp 阅读全文
posted @ 2024-03-03 18:43 _KidA 阅读(13) 评论(0) 推荐(0)
摘要: Problem T1 /* 思路:令N个整数以字符串形式读入, 判断其末尾是否为0、2、4、6、8,若是则为偶数,不是则为奇数。 */ #include<bits/stdc++.h> using namespace std; int n; string x; //以字符串形式读入 int main( 阅读全文
posted @ 2024-03-03 18:42 _KidA 阅读(16) 评论(0) 推荐(0)
摘要: Problem T1 /* 思路:对于每一对L,R,标记[L,R)(注意左闭右开!), 并且求出最小的L(minl)和最大的R-1(maxr); 循环maxl~maxr,若被标记则最长连续挤奶时间+1,最长无人挤奶时间=0; 否则最长连续挤奶时间=0,最长无人挤奶时间+1,同时更新最大值。 */ # 阅读全文
posted @ 2024-03-03 18:42 _KidA 阅读(12) 评论(0) 推荐(0)
摘要: 首先,我们很容易就能得出一个显而易见的结论: 若令原数组为 \(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 _KidA 阅读(74) 评论(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 _KidA 阅读(11) 评论(0) 推荐(0)
摘要: Problem T1 /* 思路: 因为题目要求最大水量,所以K次操作需要都用上, 并且由于每次都是将x倒入x+1中,所以K次操作之后的最大水量应当是x~x+k+1之和; 于是问题就转变成了求一段长度为k+1的连续子段的和的最大值,因此维护一个前缀和即可。 */ #include<bits/stdc 阅读全文
posted @ 2024-03-03 18:40 _KidA 阅读(13) 评论(0) 推荐(0)
摘要: Problem T1 /* 思路: 我们可以忽略两人碰到后转向的过程,直接视为两人彼此穿过了对方, 这样算距离是不变的,时间也是不变的,所以合法。 通过上述分析, 那么最小时间即为对于每一个士兵往左/右走的时间取min再取max, 最大时间反之亦然。 */ #include<bits/stdc++. 阅读全文
posted @ 2024-03-03 18:40 _KidA 阅读(10) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 21 下一页