![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
今天好好优秀了么
Fake it until you make it.
展开
-
【算法设计与分析】分治法和暴力——最近对问题
问题描述设 p1(x1,y1),p2(x2,y2), …… ,pn(xn,yn)是平面上n个点构成的集合S,最近对问题就是找出集合S中距离最近的点对。分治法思想分治法总体来说分为三个步骤:划分、求解子问题、合并这题的思路是,将集合S分为左右两个子集S1和S2,两个子集分别含有n/2个点,先在每个子集中递归地求其最接近的点对,再求最近的两点分别在两个集合中的点对,最后比较得出对短距离。...原创 2019-05-30 15:19:25 · 2246 阅读 · 1 评论 -
【算法设计与分析】暴力、分治、动态规划——最大子段和问题
问题描述给定由n个整数(可能有负整数)组成的序列(a1,a2,…an),求该序列子段和的最大值,当所有整数均为负整数时,其最大子段和为0暴力1.从第一个数开始计算长度为1、2……n的字段和,将这一段的最大字段和保存起来2.再从第2个数开始计算长度为1、2……n-1的字段和,将这一阶段的最大字段和与前一阶段求得的最大字段和比较,取最大的保存下来3.以此类推,最后保存的即为整个程序的最大...原创 2019-05-31 20:25:47 · 1240 阅读 · 0 评论 -
【算法设计与分析】8枚硬币及n枚硬币问题
问题描述在8枚外观相同的硬币中,有一枚是假币,并且已知假币和真币的重量不同,但不知假币是轻还是重,用天平来任意比较两组硬币。8枚硬币问题1.把8枚硬币分为3、3、2三个部分2.先判断前两个部分是否相等,相等则拿第三部分分别和一枚真币进行比较3.如果不相等,同时从前两部分各拿走一枚硬币并交换一对硬币进行比较,如a+b+c>d+e+f:如果去掉cf,并交换be,即左右两边分别为a...原创 2019-05-31 20:38:45 · 2140 阅读 · 1 评论 -
【算法设计与分析】n皇后问题
问题描述在 n*n 的棋盘上摆放n个皇后,使其不能互相攻击,即任意两个皇后不能处于同一行、同一列或者同一斜线上。遇到的问题:双重循环内外层弄反了,如果先判断摆过的棋子,那么第一遍连循环都进不去。同样,dfs语句也要放在内层循环外部。应该先大致判断这一行能放在第几列,再来判断是否冲突。代码如下:#include<iostream>#include<vector>...原创 2019-06-01 14:53:40 · 4299 阅读 · 2 评论 -
发糖果问题——二分、贪心
注:与CF上的Sweets for Everyone!不一样几个关键点:1.刚开始的位置是0。2.在时间充裕的前提下,如果手上的糖不够,可以路过H不发糖,去S买了回来再发。3.但是每个S只能买一次糖。4.如果时间t内不能给所有邻居发完糖果,则输出-1。5.为了刚开始带最少的糖果,每经过一个S一定买糖果。误解:刚开始以为不能走回头路代码如下:#include <stdio....原创 2019-06-03 00:38:31 · 510 阅读 · 0 评论