且歌且行,眉目轻盈。何妨吟啸且徐行|

胖柚の工作室

园龄:2年1个月粉丝:2关注:15

02 2024 档案

P1083 [NOIP2012 提高组] 借教室
摘要:题目链接: 本题由于是对某一段区间的数统一进行删除某个数的操作,很容易想到差分。 对于能否二分,有一个界定标准:状态的决策过程或者序列是否满足单调性或者可以局部舍弃性。在本题中,由于随着订单数量的增加,每天可用教室的数量一定单调下降。也即,如果前一份订单都不满足,那么之后的所有订单都不用继续考虑;而
12
0
1
P3799 妖梦拼木棒
摘要:题目链接: 欲由4根木棒组成一个正三角形,则必有2根长度相等,且另外2根长度之和,等于前2根相等的木棒的长度。 由于各木棍的长度 ai5000,时间复杂度 O(n2) 可过。考虑直接用两层循环,暴力枚举上述两种木棒的长度,计算方案数并累加。 外层循环为从长度
29
0
0
P1678 烦恼的高考志愿
摘要:题目链接: 本题容易想到用二分进行优化,但其中有几个细节需要注意一下。 注意点1、特判 if (curr < a[0]) res += abs(curr - a[0]); (该测试点为 m=1,n=100000 且所有数组元素全为 0) 2、可以二分出第一个 \(\geqslant
24
0
0
P1873 [COCI 2011/2012 #5] EKO / 砍树
摘要:题目链接: 一、本题为什么能想到利用二分解决? 1. 有单调性 提高伐木机的高度,显然地,得到的木头会减少。 同样地,放低得到的木头会增多。 而正因为答案有单调性,所以我们可以使用二分。 2. 数据范围大 如果采用暴力枚举,时间复杂度为 O(nm) 会超时。用二
46
0
0
P1102 A-B 数对
摘要:题目链接: 一开始的想法:排序后枚举,但这样显然是 O(n2) 的复杂度,会超时 #include <cstdio> #include <algorithm> const int N = 2e5 + 5; int a[N]; int main() { int n, c, res = 0;
19
0
0
P1631 序列合并
摘要:题目链接: 第一时间想到的思路是将 a,b 数组中的 n2 个和全部枚举并压入优先队列中,最后再输出前 n 个数,代码如下: #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int
16
0
0
P1928 外星密码
摘要:题目链接: 本题如果直接模拟去做的话极为繁琐,输入的这个字符串是被多重「压缩」的,所以一重一重地「解压缩」可能会非常非常麻烦(不过应该是可行的),导致代码极其难以理解。 所以,我们使用递归算法,在读入这个字符串之后,找出被压缩的内容,再对被压缩的那个字符串实行「解压缩」操作。 举个例子:AC[3FU
22
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起