自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(202)
  • 资源 (2818)
  • 收藏
  • 关注

原创 实现一个函数,满足A(1)() 输出 1A(1)(2)() 输出 3A(1)(2)(3)() 输出 6

A(1)(2)(3)() 输出 6。A(1)(2)() 输出 3。A(1)() 输出 1。

2022-12-14 14:59:09 344 1

原创 求一元二次方程 3x2-20x-10 = 0 的根,计算结果保留两位小数

求一元二次方程 3x2-20x-10 = 0 的根,计算结果保留两位小数。

2022-12-14 14:58:23 347

原创 OpenCV学习之阈值化

第四个参数有两种取值:ADAPTIVE_THRESH_MEAN_C和ADAPTIVE_THRESH_GAUSSIAN_C,分别表示对区域内像素采用均值处理和高斯加权处理。前两个参数同cvThreshold的前两个参数一样,你甚至可以看到OpenCV中绝大多数函数的前两个参数都是这样的,第一个为源,第二个为目标。这个函数同上面那个函数不同的是,上面那个函数需要给出阈值,而这个函数的阈值是不要指定的,它是通过一定计算得来的,称之为自适应阈值处理。CV_THRESH_TRUNC,表示dsti=(srci>T)?

2022-12-13 13:09:24 306

原创 OpenCV图像读取和写入

imwrite 可以定义数据的压缩等级, void imwrite(string filename, Mat src, compression_params )对于CV_16U的数据类型,需要注明是读入任意深度数据,那么 flag 为2 (IMREAD_ANYDEPTH),此时还是三通道(每个通道均为相同的值)。若想读入灰度图(单通道、uchar类型),那么 flag 可以设置为 0(IMREAD_GRAYSCALE)默认读入数据类型为 uchar,3通道, flag为1 (IMREAD_COLOR)。

2022-12-13 13:08:54 417

原创 opencv之cv::Mat创建

矩阵信息头(包含矩阵尺寸、存储方法、存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同, 矩阵可以是不同的维数)的指针。如果在程序中传递图像并创建副本时,大的开销是由矩阵造成的,而不是矩阵信息头。为了解决矩阵拷贝的问题,opencv中使用了引用计数机制。思路就是让每个cv::Mat 对象都自己的信息头,但是共享同一个矩阵,从而拷贝矩阵只是复制矩阵信息头和矩阵指针,而不是赋值矩阵。// 创建矩阵信息头// 为矩阵分配内存// 拷贝构造函数C = A;// 赋值运算符。

2022-12-12 21:43:38 776

原创 opencv图像的平滑

本章主要介绍opencv上常用的4种线性滤波器来平滑图片。之所以要平滑图片,是因为在图片中通常会有一些各类噪音,常见的噪音有:(1)椒盐噪音:噪声的幅值基本相同,但是噪声出现的位置是随机的。(2)高斯\瑞利噪声:在每一点上都存在噪声,但是它们的幅值随机。为了处理这类噪声,opencv使用了若干滤波器。

2022-12-12 21:43:08 887

原创 【OpenCV学习】yml的读取

它使用哈希指针“x”和“y"加速对点的解析。这样可以加速查找操作 *//*所有已读存储在文件元素的关键字被存储在hash表中,#elif 1 /* 慢变量:不使用x值与y值 */#else /* 最慢的可以轻松使用的变量 */#if 1 /* 快变量 */

2022-12-12 21:41:22 237

原创 [OpenCV]关于opencv不能打开某些视频得问题

opencv不能打开某些视频困扰了我好久,我一直认为是少安装了某个视频解码器,在尝试了几种解码器后,终于发现安装Xvid解码器后就可以了。它到底是什么东东?它得官方网站http://www.xvid.org/,可以下载最新得解码器。其实就是安装一个mpeg4得解码器而已。一些解码器如下:orking video codecscodec namefourcccodecfileoutcommentsMPEG-PES output (.mpg or DXR3/DVB card)--MPESfor hardware

2022-12-11 21:34:57 1218

原创 OpenCv的基本数据类型

可以存放4个double型数值的数组,一般用来存放像素值,最多可以存放4个通道的。成员:int width,int height。成员:int x、y、width、height。成员:int x,int y,int z。成员:double val[4]二维空间中的点,类型为浮点型。三维空间中的点,类型为浮点型。成员:int x,int y。矩形框的偏移和大小。

2022-12-11 21:33:06 652

原创 回文,亦称回环,是正读反读都能一样的字符串。例如“12321”、“abba”等。现在给你一个字符串,请你找出其中长度最长的回文。

回文,亦称回环,是正读反读都能一样的字符串。例如“12321”、“abba”等。现在给你一个字符串,请你找出其中长度最长的回文。解析:

2022-12-08 11:22:12 255

原创 NowCoder每天要给许多客户写电子邮件。正如你所知,如果一封邮件中包含多个收件人,收件人姓名之间会用一个逗号和空格隔开;如果收件人姓名也包含空格或逗号,则姓名需要用双引号包含。现在给你一组收件

NowCoder每天要给许多客户写电子邮件。正如你所知,如果一封邮件中包含多个收件人,收件人姓名之间会用一个逗号和空格隔开;如果收件人姓名也包含空格或逗号,则姓名需要用双引号包含。现在给你一组收件人姓名,请你帮他生成相应的收件人列表。解析:#include #include #include using namespace std;int main(){int n;while(cin >> n){if(n == 0){continue;}cin.get()

2022-12-08 11:21:41 315

原创 黑白棋,又叫翻转棋(Reversi)、苹果棋或奥赛罗棋(Othello)。棋盘共有8行8列共64格。开局时,棋盘正中央的4格先置放黑白相隔的4枚棋子。双方轮流落子,只要落子和棋盘上任一枚己方的棋子

黑白棋,又叫翻转棋(Reversi)、苹果棋或奥赛罗棋(Othello)。棋盘共有8行8列共64格。开局时,棋盘正中央的4格先置放黑白相隔的4枚棋子。双方轮流落子,只要落子和棋盘上任一枚己方的棋子在一条线上(横、直、斜线皆可)夹着对方棋子,就能将对方的这些棋子转变为我己方(翻面即可)。如果在任一位置落子都不能夹住对手的任一颗棋子,就要让对手下子。当双方皆不能下子时,游戏就结束,子多的一方胜。现在给你一个8x8的棋局,以及下一步玩家的落子位置。请输出翻转好的新棋局。解析:

2022-12-07 10:30:51 3636

原创 下图是一个4阶的螺旋数阵:1 2 3 412 13 14 511 16 15 610 9 8 7数字从1开始,沿着顺时针方向依次填满整个矩阵。现在给你矩阵的规模n,请你输出n阶

下图是一个4阶的螺旋数阵:1 2 3 412 13 14 511 16 15 610 9 8 7数字从1开始,沿着顺时针方向依次填满整个矩阵。现在给你矩阵的规模n,请你输出n阶螺旋数阵。解析:#include #include #include #include using namespace std;int main(int argc, char** argv){int n;while(cin >> n){vector

2022-12-07 10:30:17 210

原创 请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。

请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。解析:

2022-12-06 20:40:45 58

原创 给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增

给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增1 2 33 5 64 8 9现在要求设计一个算法, 给定一个数k 判断出k是否在这个矩阵中。 描述算法并且给出时间复杂度(不考虑载入矩阵的消耗)解析:算法思想: 沿着对角线查找,获得i,使得k位于a[i][i]与a[i+1][i+1]之间。 k只可能存在于a[i][i]对应的右上角矩阵 和a[i+1][i+1]对应的左下角矩阵。 使用递归法继续查找即可。 时间复杂度 O(n)

2022-12-06 20:39:51 142

原创 opencv的基本认识

Opencv 中 open为openSource,CV为computerVision计算机视觉Opencv特征:1. 开源计算机视觉库采用C/C++编写2. 目的是开发实时应用程序3. 独立于操作系统、硬件和图形管理器4. 具有通用的图像、视频载入,保存和获取模块5. 具有底层和高层的应用开发包Opencv目标:为解决计算机视觉问题提供基本工具基本组成:高层函数、基本函数Opencv模块(主要)1、CV主要的OpenCV函数:图像处理与视觉算法2、ML机器学习、模式分

2022-12-05 10:15:49 365

原创 基于opencv的CLAHE

1

2022-12-05 10:14:57 137

原创 活动选择问题(动态规划和贪心算法)

有一个由n个活动组成的集合S = {a1, ..., an} 1. 这些活动使用同一个资源,而这个资源在某一时刻只供一个活动使用 2. 每个活动都有一个开始和结束时间si/fi;如果被选中,则任务ai发生在半开时间区间[si, fi) 3. 如果两个活动ai和aj不重叠,则称两个活动兼容 活动选择问题,希望选出一个最大兼容活动集 假设活动已经按结束时间递增排好序最优子结构 Sij表示在ai结束之后,aj开始之前结束之前的活动集合;Aij表示Sij的一个最大兼容活动集

2022-12-04 08:03:00 526

原创 贪心算法的经典案例——最大整数 java实现

题目:设有n个正整数,将它们连接成一排,组成一个最大的多位整数。例如:n=3时,3个整数13,312,343,连成的最大整数为34331213。又如:n=4时,4个整数7,13,4,246,连成的最大整数为7424613。输入:212 121输出:12121import java.util.Scanner;//贪心标准:先把整数转换成字符串,然后在比较a+b和b+a,如果a+b>=b+a,就把a排在b的前面,反之则把a排在b的后面。public class Main {public stati

2022-12-04 08:02:27 445

原创 NYOJ 106 背包问题 贪心算法

背包问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1

2022-12-03 20:08:55 291

原创 贪心算法与活动选择问题和背包问题

前面的几篇博文都是围绕动态规划求解最优解问题,但是最优解还有另一种算法就是贪心算法。动态规划会研究一个问题是否具有最优子结构,然后把问题化为子问题,一般自底向上的求解子问题最终组合出原问题的最优解,但是有些问题用动态规划法就有些“杀鸡用牛刀”的感觉,贪心法显得更加简洁直观所以贪心算法的核心思想是什么呢?就是通过每一步做出局部最优的选择从而达到全局最优的结果。这一点是可以证明的,不过也不是所有的最优问题都可以用这个实现,但是有些问题比如活动安排,背包问题,哈夫曼编码最小生成树等都可以用贪心算法高效简洁的实现首

2022-12-03 20:06:55 303

原创 134. Gas Station 类别:贪心算法 难度:medium

如果能从p+1站开出,只要算算sum3 + sum1 + sum2 是否 < 0,就知都能不能开回q站了。c. 将q+1作为始发站,假设一直开到了未循环的最末站,油箱没见底儿,设sum3 = diff[q+1] +diff[q+2] + ... + diff[size-1],可知sum3 >= 0。b. 根据上面的论述,我们将p+1作为始发站,开出q站后,油箱又空了,设sum2 = diff[p+1] +diff[p+2] + ... + diff[q],可知sum2 < 0。

2022-12-02 22:23:16 40

原创 1052 Tian Ji -- The Horse Racing 田忌赛马 贪心算法

/如果我方慢的大,直接吃了对方,比完后田忌最慢的马被消耗了。}else{//假如田忌最慢的马全宇宙最慢,则只能拿去当炮灰,消耗国王最快的马。}else{//表示田忌最快的马更快,则直接赢过往最快的马。//假如相等,则田忌不知道拿最慢的马去和国王最慢的马比,// total-=200;4.当田忌最快的马比齐王最快的马慢时,拿最慢的马和齐王最快的马比,输一场。5.当田忌最快的马和齐王最快的马相等时,拿最慢的马来和齐王最快的马比.马和最慢的马都相等,再来考虑把田忌最慢的马和齐王最快的马比较。

2022-12-02 22:22:41 444

原创 算法数据结构之贪心算法

【代码】算法数据结构之贪心算法。

2022-12-01 09:07:42 44

原创 贪心算法求解活动安排<算法分析>

System.out.println("第"+i+"活动被选中,其开始时间为:"+s[i-1]+",结束时间为:"+f[i-1]);if(s[i]>=f[j]){ //下一个活动开始时间大于大于等于上一个活动结束时间。System.out.println("请分别输入"+number+"个活动的开始时间:");System.out.println("请分别输入"+number+"个活动的结束时间:");2.要求手工输入s[10]及f[10],其中注意自己判断s[i]

2022-12-01 09:06:51 69

原创 守望者的逃离—贪心算法

因此,如在时间足够的前提下,恢复5秒闪烁2次,共花费7秒,跑了60×2=120m,而跑步只能跑17×7=119m。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去,到那时,岛上的所有人都会遇难:守望者的跑步速度,为17m/s,以这样的速度是无法逃离荒岛的。现在已知守望者的魔法初值M,他所在的初始位置与岛的出口之间的距离S,岛沉没的时间T。if((Mana==0 || Mana==1) && Timeleft>=7 && Space-SpaceElse>102) //见表格。

2022-11-30 14:24:28 102

原创 贪心算法之最优装载

贪心选择性质是 指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。与动态规划算法的不同之处是贪心算法只依赖在当前状态下做出最优选择,然后再去解做出这个选择后产生的相应的子问题。贪心算法通过一系列的选择来得到问题的解。从许多的贪心算法求解的问题可以看到可用贪心算法求解的问题一般具有两个重要的性质:贪心选择性质和最优子结构性质。当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。一个问题是否具有最优子结构性质是该问题可用动态规划算法或贪心算法求解的关键特征。

2022-11-30 14:24:00 441

原创 XYNUOJ 1256 喷水装置(一)—贪心算法

现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0

2022-11-27 13:54:26 60

原创 贪心算法——区间找点问题

最开始以首个区间的右端点作为基准点,用下一个区间的左端点与其进行比较,如果是错开的,那么说明要增加一个点数,然后以这个区间的右端点作为一个新的基准,进行下次比较。上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点。但是这几天LYH太忙了,你们帮帮他吗?接下来N行,每行输入两个数a,b(0≤a≤b≤100),表示区间的两个端点。时间限制:2000 ms | 内存限制:65535 KB。每组数据先输入一个N,表示有N个闭区间(N≤100)。输出一个整数,表示最少需要找几个点。

2022-11-27 13:52:58 40

原创 贪心算法 - 删数问题

自左向右逐位扫描数字a,找到第i位,使得a[i]>a[i+1],那么删掉第i位后,剩下的是当前数字删掉1位后的最小值。* 给定一个n位正整数a,删掉其中任意k(k

2022-11-26 16:23:02 920

原创 贪心算法-背包问题

方案1只考虑多装物品,但由于性价比不一定高,故总价值可能不是最大;方案2忽略了物品的重量,每次选择的价值虽大,但装的物品比较少;事实证明方案3能够达到总价值最大。3、每次选择性价比最大的物品,即pi/wi最大。

2022-11-26 16:22:19 196

原创 哈夫曼编码--贪心算法

哈夫曼编码(Huffman Coding)是一种编码方式,是一种用于无损数据压缩的熵编码(权编码)算法。在计算机数据处理中,哈夫曼编码使用变长编码表对源符号(如文件中的一个字母) 进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码 之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。nq.push(p);

2022-11-25 16:26:01 1005

原创 线段覆盖 大数 贪心算法

关于上一题的线段覆盖问题,除了用那种逐一情况排除以外,还可以用贪心算法进行计算,适用于数据较大不方便进行双层循环时,当然数据小时肯定可以啦~好了,上代码~printf("%d\n",counter+1);//一开始的d[0].r也要算进去,故加一。//按纵坐标升序排列。if(d[i].l>=a)//线段不重合即加一。

2022-11-25 16:24:51 283

原创 用贪心算法解决背包问题

因此,算法的计算时间上界为O(nlogn)。所以先装物品3,把60公斤均装进背包,还剩30公斤,把物品2均装入30公斤,此时包的容量已经装满,此时的背包中的物品的总价值为240+90=330为最大总价值。从上面的列子可以理解为,假设选中物品3 ,在0-1背包问题里,必须要把物品3的总重量60斤全部放进背包,而背包问题,则可以选择放进少于60斤的物品3,可以不必把60斤全放进背包。假设有三种物品,分别为1,2,3,其重量分别为20,30,60,(单位公斤),1,2,3对应的价值分别是40,90,240。

2022-11-24 07:58:30 1161

原创 贪心算法(活动安排问题)

【代码】贪心算法(活动安排问题)

2022-11-24 07:58:04 494

原创 CodeForces484A——Bits(贪心算法)

判断x在t1+1位为1的时候是否绝对大于R,绝对大于的话,就将t1+1赋值为0;设L,R的从高位开始有t1位相同,那么根据常识,x的前t1位(从高位开始数)必然也与LR相同。又因为L

2022-11-23 09:50:30 192

原创 CodeForces484A——Bits(贪心算法)

判断x在t1+1位为1的时候是否绝对大于R,绝对大于的话,就将t1+1赋值为0;设L,R的从高位开始有t1位相同,那么根据常识,x的前t1位(从高位开始数)必然也与LR相同。又因为L

2022-11-23 09:38:53 158

原创 九度OJ 1433 FatMouse -- 贪心算法

题目地址:FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean.5 37 24 35 220 325 1824 1515 10-1 -113.33331.500}FtoJ;}int i;= -1)){i

2022-11-23 09:37:53 214

原创 贪心算法——最大整数问题详解

算法分析:此题很容易想到使用贪心法,在考试时有很多同学把整数按从大到小的顺序连接起来,测试题目的例子也都符合,但最后测试的结果却不全对。其实此题可以用贪心法来求解,只是刚才的标准不对,正确的标准是:先把整数转换成字符串,然后在比较a+b和b+a,如果a+b>=b+a,就把a排在b的前面,反之则把a排在b的后面。例如:n=3时,3个整数13,312,343,连成的最大整数为34331213。又如:n=4时,4个整数7,13,4,246,连成的最大整数为7424613。//贪心算法——最大整数。

2022-11-22 07:36:37 1105

原创 贪心算法 AND 动态规划

贪心算法的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。每一步只考虑一个数据,他的选取应该满足局部优化的条件。若下一个数据和部分最优解连在一起不再是可行解时,就不把该数据添加到部分解中,直到把所有数据枚举完,或者不能再添加算法停止。有一个背包,背包容量是M=150kg。有7个物品,物品不可以分割成任意大小。要求尽可能让装入背包中的物品总价值最大,但不能超过总容量。最优子结构性质是该问题可用贪心算法或动态规划算法求解的关键特征。

2022-11-22 07:27:28 248

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除