酸甜小杨桃
加菲猫本喵
展开
-
P1449 后缀表达式
【代码】P1449 后缀表达式。原创 2024-05-05 14:47:43 · 11 阅读 · 0 评论 -
P3613 【深基15.例2】寄包柜
【代码】P3613 【深基15.例2】寄包柜。原创 2024-05-05 14:42:01 · 12 阅读 · 0 评论 -
P9343 一曲新词酒一杯
题目思路定义两个 set 容器 first 和 second 分别表示第一和第二种操作。set 容器的好处是可以自动去掉重复的数字。我们可以想到,在以下三种情况能够全部贴上红纸:对于 1 到n 的数都有一次操作1;对于一个数 x,一次操作 1 和一次操作 2;两次及以上不相同的操作 2。接下来我们就可以实现代码了。对于第 i 次操作,记输入的数为 x。如果是操作 1,first 插入 x,否则 second 插入 x。插入后,我们就判断,当 first 的大小为 n 或者 first 和 seco原创 2024-05-01 19:30:50 · 150 阅读 · 0 评论 -
P2678 [NOIP2015 提高组] 跳石头
这道题如果要使用暴力搜索直接求解会严重超时。实际上,我们可以发现,这个所谓的最短跳跃距离显然不能超过一个范围,而这个范围题目上已经给了出来。也就是说,答案是有一个确定的范围限制的,我们就可以考虑一种另外的方法去解决——枚举答案,并去验证答案是否可行。实际上,枚举答案有时候也会超时。这就好比说你要从一本英汉词典上查一个单词,你从头到尾一页一页的翻着找,这样找可以保证一定能找到,但是最坏情况你要把整本词典都翻一遍,那就麻烦了。有什么改进的方法吗?当然有。考虑把这个词典从中间分开,看一下中间那一页的主要单词都是啥原创 2024-04-25 15:11:45 · 3 阅读 · 0 评论 -
P1678 烦恼的高考志愿
lower_bound属于C++内置STL的一种,可以实现在有序数组下进行二分查找,它可以用来找到第一个大于等于待查元素的值的位置。int c=lower_bound(开始查询的位置【闭区间】,结束查询的位置【开区间】,查询的数)-数组指针;//返回查询到的位置。//特判比所有数都大的情况。if(e==1)//特判比所有数都小的情况。函数会输出结束查询的位置,应为他并没有找到。可以返回查询到的数的数组下标。原创 2024-04-25 15:07:21 · 115 阅读 · 0 评论 -
P4447 [AHOI2018初中组] 分组
再贴一个用手写的二分的做法,此做法虽然免除了上面STL做法的第三部分 但是也会出锅:就是查找时如果实力值小于q中所有的数,就会查找到q[0],还是一句话0为有效状态,所以我们把q[0]还要赋值为1e9+1。并且我们会发现 因为我们排过序,所以每次如果q数组里有相等的数,这个语句好像还正好使最小的组最大这个条件得到了维护呢QwQ。这是为了维护q数组的单调性,每次对相等的最后一个更新。会发现下标越大,该组的大小越小。因此对最后一个更新。原创 2024-04-13 10:49:51 · 37 阅读 · 0 评论 -
P4995 跳跳!
可得 (d-b)^2+(c-a)^2\le(d-a)^2+(c-b)^2(d−b)2+(c−a)2≤(d−a)2+(c−b)2,当且仅。因此,我们的贪心策略是最优的,至少是最优策略之一,因为没有一个策略的体力消耗严格大于我。当 a=b,c=da=b,c=d 时,等号成立。原创 2024-04-13 10:37:43 · 30 阅读 · 0 评论