搜索结果
查询Tags标签: mid,共有 942条记录-
《算法竞赛进阶指南》0x14 T3 Palindrome
题目传送门 题目描述 如果一个字符串正着读和倒着读是一样的,则称它是回文的。 给定一个长度为 N 的字符串 S,求他的最长回文子串的长度是多少。 题解 这也是一道经典的字符串Hash题目,要求找出最长的回文子串 我们可以枚举每一个点作为回文子串的中心点,判断从它向两…
2021/6/21 22:56:15 人评论 次浏览 -
遗传算法求解TSP问题(人工智能实验)
遗传算法求解TSP问题 参考博客参考的代码和详解 根据老师的数据把其中一些代码修改了很小一部分:```pythonimport numpy as np import math import random# 適應度 def fitnessFunction(pop,num,city_num,distance):length=city_numfor i in range(num):dis=0for j in ra…
2021/6/21 17:27:23 人评论 次浏览 -
算法路漫漫(一) 简单排序
1.认识时间复杂度常数时间的操作:一个操作如果和数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。时间复杂度为一个算法流程中,常数操作数量的指标。常用O(读作big O)来表示。具体来说,在常数操作数量的表达式中,只要高阶项,不要低阶项,也不要高阶项…
2021/6/20 11:49:54 人评论 次浏览 -
0~n-1中缺失的数字
一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例 1: 输入: [0,1,3] 输出: 2 示例 2: 输入: [0,1,2,3,4,5,6,7,9] 输出: 8简单,直接做 时间复杂度On…
2021/6/19 23:27:25 人评论 次浏览 -
经过千锤百炼的算法模版
起始语 平时写算法的时候,很多时候思路有了,但是边界问题总是傻傻搞不清楚。所以找了一些经过千锤百炼的模版来帮助代码。持续更新中。。。 方便自己在通勤路上,记忆一下模版,所以发在了博客上。 算法基础 排序 快速排序 把每个比基准值大的值放到右边,比基准值小的值…
2021/6/17 22:27:43 人评论 次浏览 -
Solution -「CF 232E」Quick Tortoise
\(\mathcal{Description}\)Link.在一张 \(n\times m\) 的网格图中有空格 . 和障碍格 #,\(q\) 次询问,每次查询从 \((x_1,y_1)\) 出发,是否能仅向下或向右走,在不经过障碍格的情况下走到 \((x_2,y_2)\)。\(n,m\le500\),\(q\le6\times10^5\)。 \(\mathcal{Solution}\)T…
2021/6/17 10:29:14 人评论 次浏览 -
852. 山脉数组的峰顶索引【二分 C++】
符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在 i(0 < i < arr.length - 1)使得: arr[0] < arr[1] < ... arr[i-1] < arr[i] arr[i] > arr[i+1] > ... > arr[arr.length - 1] 给你由整数组成的山脉数组 arr ,返回任何满足…
2021/6/15 12:50:55 人评论 次浏览 -
P3373&&ybtoj【数据结构】4章4题【【模板】线段树2】
【模板】线段树2 题目 P3373解析 前置知识:线段树区间加区间求和 好的,现在我们考虑设计懒标记:一个乘,一个加,当然是先乘再加才不会对加产生影响 加法直接按区间加下传,乘法就需要两个懒标记一起乘 注意:乘法的懒标记初始为1 还有就是下传时要先下传乘法,再下传加…
2021/6/11 19:02:47 人评论 次浏览 -
Four Segments CodeForces - 846C
原题链接 考察:枚举,前缀和 和本题的正解思路有点像的--->Go 题意:在数组中放三个间断点,使得res最大. 思路:三个间断点求最值,不能是在前缀区间只取正数,后缀区间只取负数,存在隔了负数出现大正数的情况.可以枚举中间点mid,求[1,mid]的最大前缀,[mid,n]的最小后缀,两个…
2021/6/10 10:50:55 人评论 次浏览 -
经典优化算法之分治法(Divide-and-Conque Algorithm)
欲下载本文相关代码,请在后台回复【分治法】即可下载。 1 目录 1.1 分治法基本介绍 1.2 分治法通俗解释1.3 分治法严谨定义 1.4 分治法的流程 1.5 分治法的经典例子 1.6 总结2 分治法基本介绍 分治分治,即分而治之。分治,就是把一个复杂的问题分成两个或更多的相…
2021/6/9 12:26:47 人评论 次浏览 -
leetcode-python-第一个错误版本
画一个列表自己试试,二分法# The isBadVersion API is already defined for you. # @param version, an integer # @return an integer # def isBadVersion(version):class Solution:def firstBadVersion(self, n):""":type n: int:rtype: int""…
2021/6/6 20:29:56 人评论 次浏览 -
用C++实现数组的二分查找算法
二分查找算法 原理:在使用二分查找算法之前先要确定被查找的数组必须有序的,即确定待寻找的元素的范围是[low, high],然后逐步缩小范围直到找到或找不到该元素为止。具体做法是:先取数组中间位置(mid=(low+high)/2)的数据元素与给定值比较。若相等,则查找成功;否则…
2021/6/5 22:21:00 人评论 次浏览 -
$NOIP\ 2018\ Day1$ 模拟考试 题解报告
目录$NOIP\ 2018\ Day1$ 模拟考试 题解报告得分情况考试过程题解$T1$ 铺设道路$T2$ 货币系统$T3$ 赛道修建 \(NOIP\ 2018\ Day1\) 模拟考试 题解报告 得分情况 \(T1\ 100\ Pts\) \(T2\ 100\ Pts\) \(T3\ 55\ Pts\) 总分: \(255\ Pts\) 考试过程 五分钟过 \(T1\) 二十分钟过…
2021/6/5 18:50:53 人评论 次浏览 -
loj#2312. 「HAOI2017」八纵八横(线性基 线段树分治)
题意 题目链接 Sol 线性基+线段树分治板子题。。 调起来有点自闭。。 #include<bits/stdc++.h> #define fi first #define se second #define pb push_back #define bit bitset<B + 1> using namespace std; const int MAXN = 501, B = 1001, SS = 4001; …
2021/6/5 10:22:46 人评论 次浏览 -
李超线段树简易讲解
大佬的博客讲的很清晰 李超线段树就是标记永久化维护区间线段最值的数据结构 假设有下列的问题: 给定平面中\(n\)条线段,(给出斜率\(k\)和截距\(b\),并且知道线段左右端点的横坐标值为多少),然后\(m\)个询问,每次给定\(x = x_0\),问和\(x = x_0\)相交的直线中,横坐…
2021/6/4 10:24:01 人评论 次浏览