- 博客(251)
- 资源 (9564)
- 收藏
- 关注
原创 【递推】【入门】放苹果题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。第一行是测试数据的数目t(0≤t≤20)。以下每行均包含二个整数M和N,以空格分开。对输入的每组数据M和N,用一行输出相应的K。
2022-12-14 13:54:55 778 1
原创 题目描述有n个整数,请从小到大排序后输出。输入格式输入文件sort.in 输入第一行为正整数n, n<=500000。第二行共n个整数,均不超过100000,由空格隔开。输出格式输出
输入文件sort.in 输入第一行为正整数n, n
2022-12-14 13:54:10 1421
原创 opencv Mat常用操作
除了api reference之外,opencv 自带的cheatsheet也是很好的查找资料。原博客地址:http://blog.sina.com.cn/s/blog_afe2af380101bqhz.html一、矩阵MatI,img,I1,I2,dst,A,B;double k,alpha;Scalar s;1.加法I=I1+I2;//等同add(I1,I2,I);add(I1,I2,dst,mask,dtype);scaleAdd(I1,scale,I2,dst);//dst=scale*I
2022-12-13 10:59:54 938
原创 OpenCV入门 - Ubuntu 12.04 安装OpenCV
本来打算在Ubuntu 12.04上安装opencv 3.0的,结果发生了下面(2)中的错误,不知如何解决,所以最后还是老老实实安装opencv 2.4.解决:这是一个和编译器有关的问题,升级gcc还是没解决,可以替换掉system.cpp文件(然后运行人脸测试程序 : ./facedetect。解决:问题在于ffmpeg,手动下载并安装(运行结果:会把你的脸给识别处理 ,:)而后:sudo ldconfig。(2)下载opencv并解压;(3)make,静静等待;(1)安装必要的软件;
2022-12-12 20:11:25 194
原创 ubuntu编译opencv3和opencv2共存
因为usr/local/opencv3/share/OpenCV/OpenCVConfig.cmake中设置了opencv的配置,自定义路径安装opencv时,找不到这个文件OpenCVConfig.cmake,opencv-config.cmake。通过nvidia-cuda-toolkit安装的,host_config.h在 /usr/include/下,如果通过cuda的run文件安装,也会因为gcc版本检查提示错误,也要修改对应位置的host_config.h。可以不同版本的opencv同时编译;
2022-12-12 20:11:10 141
原创 基于opencv的googlenet 实现(opencv3.3)
std::vector readClassNames(string filename) //将文件内容以每行,读到一个String vector中。fp.eof())//文件没有到尾部。
2022-12-11 14:04:46 92
原创 如何学习Opencv资料?opencv的安装使用
先知道运行结果,再逆向推导编程思路,最后看代码,分析代码,把每一个OpenCV类和函数的功能作用搞清楚,形成自己的思路,最后抛开原来的代码,按照自己的思路,把代码敲进去,这样才能实现消化吸收。最后,要学好OpenCV并利用OpenCV做机器视觉项目,仅靠OpenCV提供的API是不够,还需要补充一定的数字图像处理的基础知识,不求自己写处理算法,但是每个OpenCV处理算子的功能,应用范围,是要清楚的,只有这样,才在具体的应用中知道该使用什么样的API。OpenCV是什么,相信搞机器视觉的朋友都清楚。
2022-12-11 14:04:14 111
原创 Linux下静态编译OpenCV
2、链接过程中静态库的前后顺序也很关键,哪个在前,哪个在后具体参照 unix-install/opencv.pc中库的顺序。1、静态编译过程提示缺少 -lm,其实这是缺少libm.a,安装系统的时候只安装了动态链接库libm.so,没有安装。在windows平台上OpenCV的最新版本已经在build文件夹中生成了对应VS的各个版本相应的静态编译库。从这些参数的命名就可以看出来,我们要编译的是静态库,不是shared_libs,同时把一些第三方的静态库也。去编译(.dll)。编译过程中也是需要添加进去的。
2022-12-10 23:03:21 671
原创 OpenCV和RTSP的综合研究
RTSP是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,在基于DShow(非常巨大而且强大)的传统接入方式下,我们可以直接对摄像头的输入进行设置(基于filiter),而对于RTSP来说,可能是缺少统一的方法,而必须依据厂商自己的工具(因为它有一个操作系统在里面)。同时我也非常认为,这种默认的方法,总是不专业。
2022-12-10 22:55:15 858 1
原创 Raspberry Pi OpenCV,在树莓派上使用opencv
Raspberry Pi是一款基于Linux系统的个人电脑,配备一枚700MHz的处理器,256内存,支持SD卡和Ethernet,拥有两个USB接口,以及 HDMI和RCA输出支持。有消息称,虽然Raspberry Pi看起来非常的迷你——只有一张信用卡大小,但是它能够运行像《雷神之锤三:竞技场》这样的游戏和进行1080p视频的播放。硬件基础是 ARM,操作系统采用开源的 Linux 系统,自带的 Iceweasel、KOffice 等软件能够满足基本的网络浏览,文字处理以及计算机学习的需要。
2022-12-09 12:20:08 531
原创 OpenCV学习笔记:opencv_ml模块
该模块为opencv的机器学习(machine learning,ml)代码库,包含各种机器学习算法:1,bayesian,Normal Bayes Classifier(贝叶斯分类);2,K-Nearest Neighbour Classifier(K-邻近算法);3,SVM,support vector machine(支持向量机);4,Expectation - Maximization (EM算法);5,Decision Tree(决策树);
2022-12-09 12:19:26 307
原创 出租车费(贪心算法)
某市出租车计价规则如下:起步4公里10元,即使你的行程没超过4公里;接下来的4公里,每公里2元;之后每公里2.4元。行程的最后一段即使不到1公里,也当作1公里计费。一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小。例如,整个行程为16公里,乘客应该将行程分成长度相同的两部分,每部分花费18元,总共花费36元。如果坐出租车一次走完全程要花费37.2元。现在给你整个行程的公里数,请你计算坐出租车的最小花费。输入包含多组测试数据。每组输入一个正整数n(n
2022-12-08 10:48:43 559
原创 贪心算法(greedy algorithm) - 活动选择问题
活动选择问题使用‘贪心’思想来解决是非常简单的,这里详细说一说该问题的贪心过程。 活动时间表: 对于活动选择问题,我们发现它有一个符合直觉的地方,找到一个最早结束的班级能兼容更多的其他班级使得集合最大。于是,剩下的问题是:假如每个班级活动的结束时间是按由小到大排列好的(如果无序,可以先进行排序),我们做出一次贪心选择,选择了第一个提前结束的班级,而后将满足f[i] > s[j](其中数组s表示所有班级活动的开始时间,数组f表示所有班级活动的结束时间)的班级加入到集合中,这样得到的结果是否是最优解?书
2022-12-07 08:14:34 200
原创 贪心算法练习: 区间合并
总时间限制: 1000ms内存限制: 65536kB描述给定 n 个闭区间 [ai; bi],其中i=1,2,...,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1;2] 和 [2;3] 可以合并为 [1;3],[1;3] 和 [2;4] 可以合并为 [1;4],但是[1;2] 和 [3;4] 不可以合并。我们的任务是判断这些区间是否可以最终合并为一个闭区间,如果可以,将这个闭区间输出,否则输出no。输入第一行为一个整数n,3 ≤ n ≤ 50000。表示输入区间的数量。之后n行,在第i行
2022-12-07 08:14:13 85
原创 哈理工OJ 1923 纸牌游戏(贪心算法)
题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1923【思路分析】tom的手牌有m张,而且我们已知了tom的手牌是什么,然后问tom至少能赢多少局,那么我们可以从剩下的牌中找出最大的m张牌作为另外一个人的牌。然后在比较的时候tom每出一张牌,另外的人出手里可以大过tom的最小牌,然后这样子就可以达到目的了。【AC代码】
2022-12-06 20:20:28 153
原创 贪心算法求解 图的m着色问题
图的m色判定问题: 给定无向连通图G和m种颜色。用这些颜色为图G的各顶点着色.问是否存在着色方法,使得G中任2邻接点有不同颜色。图的m色优化问题:给定无向连通图G,为图G的各顶点着色, 使图中任2邻接点着不同颜色,问最少需要几种颜色。所需的最少颜色的数目m称为该图的色数。若图G是可平面图,则它的色数不超过4色(4色定理).4色定理的应用:在一个平面或球面上的任何地图能够只用4种颜色来着色使得相邻的国家在地图上着有不同颜色任意图的着色Welch Powell法a).将G的结点按照度数递减的次序排列.b).用第
2022-12-05 09:43:28 364
原创 从01背包学习贪心算法和动态规划
从01背包学习贪心算法和动态规划:算法的思路其实很大程度上都是相通的,比如在提升算法运行时间的不断探索中,我们用分治的思想来将一个大问题分解为很多小问题进行求解,并且这些子问题与原问题的结构是一样的,比如归并排序,比如第i层是排四个数,第i+1层则是排八个数,问题的规模发生变化但结构不变。而动态规划则是沿用的分治的思想,但是比分治多两个必要条件:重叠子问题和最优子结构。前者要求问题空间要足够小,得到的递归算法会反复求解相同的子问题,而不是产生新的子问题,比如LCS和01背包;而后者则比较晦涩,具体来说就是
2022-12-05 09:43:17 171
原创 贪心算法之——阶乘之和(nyoj91)
时间限制: 3000 ms | 内存限制: 65535 KB难度: 3描述给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;输入第一行有一个整数0
2022-12-04 07:41:08 209
原创 老人饿了 【杭电-HDOJ-2187】 贪心算法
Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(0
2022-12-04 07:40:24 102
原创 poj 1017 艰难的一个AC 贪心算法
#include<iostream>#include<fstream>using namespace std;int countBox;int count1Dot1;int count2Dot2;int Cal(int array[]){int i,j,k;for(i=6;i>=1;i--){switch(i){case 6:{ countBox+=array[6]; break;}case 5:{ countBox+=array
2022-12-03 19:51:53 95
原创 hdu 1052(田忌赛马 贪心算法,sort排序)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 18155 Accepted Submission(s): 5281 Problem Description Here is a famous story in Chinese history."That was about 2300 years ago. General Tian Ji
2022-12-03 19:48:18 489
原创 【贪心算法】POJ-3040 局部最优到全局最优
对于这个贪心策略,一个较为直观的解释如下:类比生活中买东西,当消费了一定金额后,我们肯定都是使用尽可能多的大面值的RMB,再使用小面值的,整个题目的思想应该跟这个差不多,我们生活中都下意识使用了很多的贪心策略。PS:做这个题目时,实在被坑了好久,花了三四个小时,RE + WA无数次才过,主要的问题还是自己一开始上手时,所使用的贪心策略完全错误,尝试了多种,并且举反例证明之后才逐渐找到了正确的贪心策略。
2022-12-02 11:27:42 209
原创 java代码实现贪心算法删除数字问题
/从键盘逐个输入,显示逐个结果;//把A转换成字符串。然后回到串首,按上述规则再删除下一个数字。每一步总是选择一个使剩下的数最小的数字删除,即按高位到低位的顺序搜索,若各位数字递增,则删除最后一个数字;否则删除第一个递减区间的首字符,去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数最小。键盘输入一个高精度的正整数n(
2022-12-02 11:27:16 346
原创 贪心算法 AND 动态规划
贪心算法的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。每一步只考虑一个数据,他的选取应该满足局部优化的条件。若下一个数据和部分最优解连在一起不再是可行解时,就不把该数据添加到部分解中,直到把所有数据枚举完,或者不能再添加算法停止。有一个背包,背包容量是M=150kg。有7个物品,物品不可以分割成任意大小。要求尽可能让装入背包中的物品总价值最大,但不能超过总容量。最优子结构性质是该问题可用贪心算法或动态规划算法求解的关键特征。
2022-12-01 07:24:48 265
原创 贪心算法——最大整数问题详解
算法分析:此题很容易想到使用贪心法,在考试时有很多同学把整数按从大到小的顺序连接起来,测试题目的例子也都符合,但最后测试的结果却不全对。其实此题可以用贪心法来求解,只是刚才的标准不对,正确的标准是:先把整数转换成字符串,然后在比较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-12-01 07:24:37 402
原创 背包问题(贪心算法)
讲到这里,就要说一说最佳的选择,每一次的放入的最佳的选择就是每次放入的物品都是剩余的物品中价值最大且质量最小的,这里就要引入一个物品的属性,物品的权重值。算法最开始是先声明物品类,因为后面要用到很多的物品属性,如果使用数组会有点麻烦,物品的属性有背包ID,物品价值,物品质量,物品权重值。算法的接下来就是将物品的数组按物品的权重值排序,权重值大的排在数组的前面,方便后面的运算。算法的主体就是从数组中取出物品对象,计算比较物品的质量和当前背包剩余重量的大小,如果大于,就计算要放入的百分比。本次讲一讲背包问题。
2022-11-30 14:03:44 197
原创 贪心算法总结——读书笔记
贪心算法是一种求解组合优化问题的算法设计技术,其求解过程由一系列决策构成,每一步决策仅依赖于某种局部优化的性质。与动态规划算法不同,贪心算法在做决策时候不必考虑所有子问题的选择结果。问题的求解可以由一系列的决策步骤构成,每步决策依赖于某种局部最优的贪心策略。正确的贪心策略要保证每一步基于局部优化性质的选择最终导致全局的最优解。如果不具有上述性质,贪心法对某些实例只能得到近似解。
2022-11-30 14:03:05 404
原创 POJ 1328 简单贪心算法
貌似本题数据类型也挺重要的,没有具体测试了,就直接用double了,一开始存x, y的时候用的是int,结果wa了,可是之后改成了double还wa,才发现其实是贪心的时候排序出错了。/* 关键是 当 island[j].max < min 的时候,是指从右往左一个个island扫描的时候,保证每个都能覆盖到,而且是用最少的雷达数。选用什么排序是关键,一开始错误地选择了横坐标x排序,结果数据基本对的上,* 错误地选择了右区间端点,其实应该选择左端点,从我下面的贪心的具体算法可以看出,其实。
2022-11-29 10:51:06 126
原创 题目1437:To Fill or Not to Fill(贪心算法)
贪心策略:假设现在自己处于A站,要考虑的是A站要不要加油,加多少油的问题。找到当前可达范围内(距离A站cmax*davg)下一个要加油的站B。②有更便宜的加油站 ------- 则找到第一家比A便宜的加油站B,加尽可能少的油(也可能油够直接开过去)到B站;①没有加油站,------- 快到终点了,则加适量油到终点;③只有价格更高的加油站,------则当下A站加满油,寻找相对最便宜的加油站B 开过去。//找到当前站之后第一个价格比它低的加油站。
2022-11-29 10:50:58 105
原创 经典贪心算法uva11729
你需要选择交待任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完的任务应尽早结束)。区别就在于分配任务的前缀和加上哪个执行任务时间对答案的贡献。那么每个元素就有两个属性交待的时间a,完成任务的时间b,显然这是一个二维偏序的问题(?我们每次使这个将要考虑的cur-element最小,那么我们最后取得最大值就会最小。应该是满足最优子结构的性质的,那么我们分析这个问题。安排任务的时间总和是固定的。那么我们考虑第一维有三种情况(等于,大于,小于),第二维也有三种情况。实际上呢我们知道这是一个排序的问题。
2022-11-28 13:57:27 57
原创 活动安排问题之贪心算法
设有n个活动的集合E={1,2,.....,n},其中每个活动都要求使用同一个资源(如演讲会场),而在同一时间内只有一个活动能使用这一资源。如果选择了活动i,则他在改时间区间[Si,Fi]内占用资源,若区间[Si,Fi] 和区间[Sj,Fj]不相交,则称活动i与活动j是相容的。活动安排问题是要求在所给的活动集合范围内选出最大的相容的活动子集。贪心算法 采用的是至顶往下的方式来考虑问题,不像动态规划采用至上向顶的方式,本问题核心思想,每次采用结束时间最早的那个,留下尽可能多的时间来考虑其他,所以。
2022-11-28 13:57:20 535
原创 C++贪心算法之乘船问题
且乘客的总重量不能超过独木舟的最大承载量。我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅客的最少的独木舟条数。现在请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。根据给出的规则,计算要安置所有旅客必须的最少的独木舟条数,并输出结果。第一行包括两个整数n,1
2022-11-27 08:11:19 634
原创 动态规划与贪心算法
背包问题:我们有一堆物品S={a1,a2,...,an},每一个物品ai都有一个重量wi和一个价值vi.现在有一个背包,这个背包的容量为W,现在要将这些物品在不超出背包容量的情况下选择性的放入背包,使得背包里面物品的价值最大,物品不能只选取其中一部分,必须选择整个,或者不选!最优子结构:如果一个问题的最优解包含其子问题的最优解,则称该问题有最优子结构性质。贪心选择性质:通过局部最优选择构造全局最优,即进行选择时,我们做出的是当前问题中看来最优的选择,而不必考虑子问题的解。贪心算法本质是动态规划的优化。
2022-11-27 08:11:15 374
原创 PHP正则表达式函数学习
由此可见,preg_replace 替换会把每一个数组中的元素都进行一次匹配替换,无论有没有匹配成功,返回值中的元素都会保留,而preg_filter 只会保留匹配成功的元素;正则表达式是在日常开发中经常用到的,通常一些使用频率过高的正则表达式都是直接粘贴复制,对于基础正则的使用还是要铭记于心的,今天抽时间整理一些php正则表达式的用法。由此可见,{} 花括号和 [] 方括号都是正则表达式的特殊符号,通过preg_quote 函数进行转译后多了\,因此进行正则匹配的时候会忽略该特殊符号;
2022-11-26 15:37:30 725
原创 【网络流第三弹】HDU 3549——Flow Problem(dinic解法)
/ 1.设置上限MAXN和MAXN 2.初始化数值src, des, nNode 3.init_adj() & ex_addEdge() 4.dinic()求有向图的网络流,DINIC模板过,稍作修改即可。DINIC还是非递归版比较好的,省时间。
2022-11-26 15:37:20 93
原创 汽车加油问题——贪心算法初探
例如买东西的时候,由于钱的总量有限,要想最大化获得的使用价值,就要总是优先买性价比最高的东西,把性价比最高的东西全买完后,如果还有钱,就接着买剩下的商品里性价比最高的,直到把钱花完(九度考研机试教程第21题)。然而,还是没有领悟改算法的真谛,沿用了一定要找到最低价站然后过去的方法。显然,加得越少越好,如果不用把油箱加满就可以找到比当前站更低价的站,那就是最好情况,即找到满油箱可到达范围之内的最近的一个比当前站低价的站,加了相应的油之后开过去,到达时正好把油花完,这样高价油的用量最省。if (index!
2022-11-25 12:48:13 151
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人