USACO自学笔记
Raine_Yang
这个作者很懒,什么都没留下…
展开
-
USACO刷题记录:2020铜组第二题Daisy Chains
原题目链接:http://www.usaco.org/index.php?page=viewproblem2&cpid=1060题目在这里复制一下:每天,作为她绕农场行走的一部分,奶牛 Bessie 会经过她最喜爱的草地,其中种有 N 朵花(五颜六色的雏菊),编号为 1…N(1≤N≤100),排列成一行。花 i 有 pi 朵花瓣(1≤pi≤1000)。作为一名崭露头角的摄影家,Bessie 决定给这些花拍些照片。具体地说,对于每一对满足 1≤i≤j≤N 的花 (i,j),Bessie 会给.原创 2022-02-05 19:17:12 · 593 阅读 · 0 评论 -
USACO刷题记录:剑指offer09解答的逐步改进
这道题要使用两个栈实现一个队列,主要考察栈先进后出的性质。栈由于先进后出的特定,无法顺序删除元素。因此这道题关键在于合理利用两个栈进行插入和删除1 版本1第一个方法光考虑实现,压根不考虑性能。如代码,首先创建两个栈,一个栈负责存储元素,另一个作为辅助。插入元素时把元素放到存储栈,而删除时,先把存储栈所有元素放到辅助栈,弹出第一个元素(对应原输入第一个元素),然后把其余元素从辅助栈放回存储栈。各元素是倒序进入存储栈,第一个元素在栈底。当把存储栈的元素“倒入”辅助栈时顺序会再一次颠倒,这样辅助栈栈顶即为要原创 2022-01-16 17:23:38 · 231 阅读 · 0 评论 -
USACO自学笔记:二分查找
二分查找原理:对于一个有序数组,在其中查一个元素。首先检查该数组中间元素,如果大于目标元素,截该数组前半段再次查找,如小于目标元素,截数组后半段再次查找。重复该方法直到找到该元素或者在搜索区域缩小到1时还未找到。示例代码:public class BinarySearch { public static int binarySearch (int[] original, int target) { int start = 0; int end = original.length - 1;原创 2021-06-10 00:09:50 · 239 阅读 · 0 评论