1.今天学习了查找: 顺序查找 二分查找 java工具类算法 使用方法: 2.遇到的问题:二分排序的原理没有弄懂; 3.明天学习第四章的内容. ...
分类:
其他好文 时间:
2020-07-11 21:04:29
阅读次数:
55
https://atcoder.jp/contests/abc157/tasks/abc157_f 大意:平面上有n个饼,每个饼有一个属性ci。一个饼的烤熟时间为到火源的欧几里得距离乘以ci。求在适当的位置放置一个火源后让至少k个饼烤熟的最短时间 正解:计算几何+二分答案 但是我正在学习模拟退火所以 ...
分类:
其他好文 时间:
2020-07-11 19:41:49
阅读次数:
58
第三章 这些算法很有用 3.3 查找 1.顺序查找 从第一个开始逐个比较,知道找出与给定关键字相同的数为止。 2.二分查找 二分查找是一种效率较高的方法。 *二分查找一定要在排序后进行 *通过不断找中点进行判断待找的数字在左边还是右边 3.4 Java工具类中算法的实现 对于前面的一些算法,Java ...
分类:
编程语言 时间:
2020-07-11 19:33:12
阅读次数:
68
##题意 传送门 通过两个栈,4中操作,实现输入序列升序排序 \(操作a:如果输入序列不为空,将第一个元素压入栈S_{1}\) \(操作b:如果栈S_{1}不为空,将S_{1}栈顶元素弹出至输出序列\) \(操作c:如果输入序列不为空,将第一个元素压入栈S_{2}\) \(操作d:如果栈S_{2}不 ...
分类:
编程语言 时间:
2020-07-11 17:08:48
阅读次数:
66
题目链接 315. 计算右侧小于当前元素的个数 题目分析 这个题让我们统计nums[i]的右边比nums[i]小的数字的个数。第一眼看我直接就暴力解了,解到15个测试用例TLE了,所以换思想。 留意到题目的tag带有二分查找,排序。我开始注意在我们暴力解的过程中,我们每次都需要在i+1 ~ nums ...
分类:
其他好文 时间:
2020-07-11 13:11:42
阅读次数:
34
一. 今天继续学习算法; 1. 查找,一般我们采用的是顺序查找的方法,这种方法是比较简单,但是效率却很低;一般就是从第一个数开始与想要查找的那个数进行比较,当遇到相同的时候则就成功查找了; 另一种比较高效的方法就是使用二分法; (1)使用这种方法首先要对元素进行排序; (2)之后要确定元素的中间位置 ...
分类:
编程语言 时间:
2020-07-10 23:59:46
阅读次数:
95
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
分类:
编程语言 时间:
2020-07-10 19:34:57
阅读次数:
72
一. 顺序结构 顺序结构:程序从上往下依次执行。 二. 分支结构 分支结构:程序按条件进行选择执行,从两条或多条路径中选择一条执行。 1. if语句 /* 语法:if(条件,表达式1,表达式2); 功能:实现简单双分支,如果条件为真,则返回表达式1的值,否则返回表达式2(类似于C语言的三元运算符) ...
分类:
数据库 时间:
2020-07-10 19:18:45
阅读次数:
81
介绍 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 前提 必须待查找的序列有序 时间复杂度 O(log2n) 原理 1)确定该期间的中间位置K 2)将查找的值t与array[k]比较,若相 ...
分类:
编程语言 时间:
2020-07-10 17:00:04
阅读次数:
56
agc025_d Choosing Points https://atcoder.jp/contests/agc025/tasks/agc025_d Tutorial https://img.atcoder.jp/agc025/editorial.pdf 我们要解决的问题实际上是 有两个大小为$V$ ...
分类:
其他好文 时间:
2020-07-10 15:36:35
阅读次数:
66