自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 基于超像素的多视觉特征图像分割算法研究

背景:经典聚类算法:Kmeans、FCM现有问题:1)现有算法大都是基于单一的视觉特征而设计的,eg:基于颜色特征的分割。2)没有考虑像素周围的空间信息;分割结果:多噪声,缺乏区域性3)像素点的数量比较大,算法时间复杂度大;4)传统的聚类优化算法一般都是使用来求解,该优化算法对初始值比较敏感,容易陷入局部最优梯度信息:在指定方向每单位距离的数值变化解决思路1)融合颜色特征和纹理特征——基于的图像分割算法(导致对多种特征赋予相同的权重)

2023-02-27 15:55:26 993

原创 Meanshift算法

均值漂移(Meanshift)算法是基于核密度估计的爬山算法概念补充1.核函数:将原始空间中的向量作为输入向量,并返回特征空间(转换后的数据空间,可能是高维)中向量的点积的函数称为核函数2.核密度估计:估计未知的密度函数,属于非参数检验方法之一。

2023-02-27 10:31:23 451 1

原创 Acwing 第一讲基础算法(快排|归并|二分)---上

3.将 q 分为 =x 的两个小数组。1.有数组 q, 左端点 l, 右端点r。2.合并数组,存入临时数组。3.将临时数组存回原数组。2.确定划分边界 x。

2023-02-08 22:56:12 113

原创 C++ return 花括号

return {1,2};返回一个vector//[1,2]

2021-05-17 23:12:26 1178

原创 C++ new []()

new int[] //创建一个整型数组例如:int * p = new int[3]; //申请一个动态整型数组,数组的长度为[]中的值return new int[]{1,2};在容器类初始化:vector v{3, 2}; // 容器有两个元素 3,2vector v(3, 2); // 容器有3个元素,值都为2...

2021-05-17 23:10:37 225

原创 2016蓝桥杯初赛 剪邮票(C++)

链接: 题目来源.要点:全排列 检查 不重复 next_permutation();answer:#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll mod=1e9+7;int ans=0;void dfs(int g[3][4],int i,int j){ g[i][j]=0; if(i-1>=0&&g[i-1][j]==1)d

2021-04-10 10:32:36 177

原创 C++静态二叉树的建立与遍历

#include <bits/stdc++.h>using namespace std;const int maxn=1e5+20;struct t{ int l,r;};t s[maxn];void dfs(int x)//此处为中序遍历{ if(x==0)return ; dfs(s[x].l); cout<<x<<endl; dfs(s[x].r);}int main(){ int n; cin>>n; fo

2021-02-24 09:52:03 237

原创 1454F Array partition

题目来源题目大意:将一个序列分成三块max(第一块) = min(第二块)=max(第三块)第一块[1,x]第二块[x+1,x+y]第三块[x+y+1,n]x+y+z=n求x,y,z#include <bits/stdc++.h>using namespace std;bool found;void shift(multiset<int> &l, multiset<int> &r, int val) { l.erase(l.

2021-02-11 00:00:33 80

原创 C++ 组合数

ll c[1005][1005];//MOD=1e9+7void Cmn(){ c[0][0]=1; for(int i=1;i<=1000;i++) { c[i][0]=1; c[i][i]=1; for(int j=1;j<i;j++) c[i][j]=c[i-1][j]+c[i-1][j-1]; //c[i][j]=(c[i-1][j]+c[i-1][j-1])%MOD; //有时候题目要求求取模结果 }}...

2021-02-04 22:27:23 375

原创 C++ 全源最短路问题 Floyd算法

问题对象全源最短路问题。即 对给定的图(V,E),求任意两点u,v之间的最短路径长度(时间复杂度为O(n3),所以顶点数n小于200)实现方法邻接矩阵基本思想若存在 dis[i][k] + dis[k][j]<dis[i][j] 则令 dis[i][j]=dis[i][k] + dis[k][j]算法流程 枚举顶点k∈ [1 , n] 以顶点K作为中介点,枚举所有顶点对i和j(i∈ [1 , n] j∈ [1 , n]) 若存在 dis[i][k] + dis[

2021-02-01 17:38:45 282

原创 C++ 最大质因数

1.先判断该数是否为质数,若为质数直接输出。2.依次判断x(从2开始的数)是否为该数(n)的因数3.若是因数,判断该数是否为质数,若为质数记录该数。若n/x的结果也为质数,则此质数即为最大质因数。ps:不可以将该数的所有质因数列出 会存在超时!#include<bits/stdc++.h>using namespace std;typedef long long ll;bool isnum(ll n){ if(n==2||n==3)return false; ll

2021-02-01 14:44:31 7269

原创 C++ 树的深度 DFS

DFS 深度优先遍历#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=2e5+20;ll a[maxn];int n,x,y;vector<int>t[1010]; int md=1;void dfs(int x,int depth){ if(depth>md) { md=depth; } for(int i=0;i<t[x].si

2021-02-01 09:40:35 653

原创 C++ lower_bound() 与 upper_bound()

1.头文件#include<algorithm>2.条件:一个有序数组或容器3.lower_bound(first,last,val)在[first,last)找到第一个>=val的元素的位置 如果是数组,返回该位置的指针;如果是容器,返回该位置的迭代器。4.upper_bound(first,last,val)在[first,last)找到第一个>val的元素的位置 如果是数组,返回该位置的指针;如果是容器,返回该位置的迭代器。5.若未找到,返回可以插入该元

2021-01-30 15:44:32 88

原创 抠图----C++ DFS

蒜头君以前做一个图像处理的项目时,遇到了一个问题,他需要摘取出图片中某个黑色线圏成的区域以内的图片,现在请你来帮助他完成第一步,把黑色线圏外的区域全部变为黑色。已知图中除了黑线上的点外,图像中没有纯黑色(即像素为 0 的点)。输入格式 第一行输入测试数据的组数 N ( 0 < N ≤ 10 ) 。每组测试数据的第一行是两个个整数 W , H 分表表示图片的宽度和高度 ( 3 ≤ W ≤ 1440 , 3 ≤ H ≤ 960 )。随后的 H 行,每行有 W 个正整数,表示

2021-01-30 15:17:20 337

原创 C++ 均分质因数

题目There are N integers a 1 , a 2 , . . . , a N not less than 1 The values of a 1 , a 2 , . . . , a N are not known, but it is knownthat a 1 × a 2 × . . . × a N= PFind the maximum possible greatest common divisor of a 1 , a 2 , . … , a N简单说一下

2021-01-28 15:22:36 129

原创 C++ transform

1.作用将某操作应用于指定范围的每个元素2.格式transform(first,last,result,op);first是容器的首迭代器last为容器的末迭代器result为存放结果的容器op为要进行操作的一元函数对象或sturct、class。例如 将一个字符串的大写字母转换为小写字母transform(a.begin(),a.end(),a.begin(),::tolower);//小写3.格式二transform(first1,last1,first2,result,bin

2021-01-28 01:09:14 2696

原创 C++ tolower()与toupper () 字符大小字母的转换

tolower() 转小写toupper() 转大写头文件:<cctype>一个个字符的转换 所以可以使用char类型字符或者string类型单独读取单个字符例如:string a; cin>>a; for (int i=0;i<a.length();++i){ a[i]=tolower(a[i]);} cout<<a;输入 ABC输出 abc...

2021-01-28 00:51:05 739

原创 C++生日聚会(BFS)

下周日就是Bob的生日了,他邀请了自己的朋友来参加生日晚宴,但他的朋友们并不一定都互相认识,这也使得他们可能不愿意在同一张桌子上共进晚餐。两个人A,B愿意在同一张桌子共进晚餐的前提是: 要么A,B认识、要么A,B都愿意和另外一个Bob的朋友C共进晚餐现在告诉你Bob的n位朋友及他们之间m对认识关系,请你告诉Bob至少要准备多少张桌子给这些朋友才行。Input第一行两个整数n,m,表示Bob有n个朋友,他们之间有m对朋友互相认识 接下来m行,每行两个整数x,y,表示第x个朋友和第y个朋友互相认识Ou

2021-01-27 13:50:00 1567 2

原创 C++ 宽度优先搜索(以题说明)

少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶。叛逆但孝顺的李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵的深处。迷阵由 M×N 个方格组成,有的方格内有可以瞬秒李逍遥的怪物,而有的方格内则是安全。现在李逍遥想尽快找到仙药,显然他应避开有怪物的方格,并经过最少的方格,而且那里会有神秘人物等待着他。现在要求你来帮助他实现这个目标。输入格式第一行输入两个非零整数 M和N,两者均不大于 20。M 表示迷阵行数, N 表示迷阵列数。接下来有 M 行, 每行包含 N

2021-01-26 21:02:48 542

原创 C++ 模块化 template

简而言之:让C++自带的函数 里面的形参可以为任何类型具体解释比如swap的模板函数形式为:template <class T> void swap(T& a, T& b){},当调用这样的模板函数时类型T就会被被调用时的类型所代替,比如swap(a,b)其中a和b是int型,这时模板函数swap中的形参T就会被int 所代替,模板函数就变为swap(int &a, int&b)。而当swap(c,d)其中c和d是double类型时,模板函数

2021-01-26 19:33:32 144

原创 C++莫名的超时

1.可能是使用了cin cout 此时换成printf 和 scanf可以试试原因:默认的时候cin与stdin总是保持同步,同时cout和stdout也一样,两者混用不会输出顺序错乱。对两者的兼容性导致cin有许多额外的开销。禁用这个特性的语句是 std::ios::sync_with_stdio(false);但是提速后仍然慢于 scanf printf...

2021-01-25 23:59:28 2347

原创 C++ 数论---最大公约数 最小公倍数

1.两个数的最大公约数利用辗转相除法,又称为欧几里得算法。(如果其中一个数为0,则另一个数为最大公约数)例:10和35gcd(10,35) = gcd(35,10) = gcd(10,5) = gcd(5,0) = 51、10/35,余数为10 得到(35,10)2、35/10,余数为5 得到(10,5)3、10/5,余数为0 得到(5,0)4、最后得到最大公约数 5int gcd(int n, int m)//辗转相除法{ if (n<m)//利用两个变量进行值对换

2021-01-25 22:19:31 210

原创 猜数字

A有1数m,B来猜.B每猜一次,A就说"太大",“太小"或"对了” 。问B猜n次可以猜到的最大数。Input第1行是整数T,表示有T组数据,下面有T行每行一个整数n (1 ≤ n ≤ 30)Output猜n次可以猜到的最大数Sample Input213Sample Output17解析:设猜到的最大的数字为h,也就是说,在1到h间的每一个数,你都能在m次内把它猜出来,即猜m次,能猜到的最大的数为2^m-1。也就是通过m次二分逐渐逼近最大数值。answer:#inclu

2021-01-23 12:38:50 154

原创 趣味矩阵

使左对角线和右对角线上的元素为0,它们上方的元素为1,左方的元素为2,下方元素为3,右方元素为4,下图是一个符合条件的5阶矩阵。这里采用二维矩阵来进行问题的求解1)当对二维表按行进行操作时,应该“外层循环控制行; 内层循环控制列”;反之若要对二维表按列进行操作时,应该“外层循环控制列;内层循环控制行”。2)二维表和二维数组的显示输出,只能按行从上到下连续进行,每行各列则只能从左到右连续输出。所以,只能用“外层循环控制行;内层循环控制列”。分析:五种情况(i为行 j为列 都从0起标 阶数为n)

2021-01-08 09:01:55 614 2

原创 动态规划 矩阵连乘问题

记住两个矩阵相乘次数的计算方法 (虽然我自己不是很理解 但是时间紧急先记住 把算法理清)这里看不明白的可以看下面的演算过程 X并不代表通常数字计算的那种意义

2021-01-08 08:33:05 214

原创 动态规划 资源分配问题 代码超详细注释!!!

#include<iostream>using namespace std;int main(){ int m,n,rest;// 工程数,资源数, int a[100][100],gain[100];//资源最大利润分配表 float q[100],f[100],temp[100];//利润表 当前最大收益 正在计算的最大收益 printf("输入工程数m:"); scanf("%d",&m); printf("输入总资源数n:...

2021-01-07 20:27:21 7082 4

原创 一元多次方程近似根 二分法 C

二分法求解方程f(x)=0根 用二分法求解方程f(x)=0根的前提条件是:f(x)在求解的区间[a,b]上是连续的,且已知f(a)与f(b)异号,即 f(a)*f(b)<0令[a0,b0]=[a,b],c0=(a0+b0)/2,若f(c0)=0,则c0为方程f(x)=0的根;否则,若f(a0)与f(c0)异号,即 f(a0)*f(c0)<0,则令[a1,b1]=[a0,c0];若f(b0)与f(c0)异号,即 f(b0)*f(c0)<0,则令[a1,b1]=[c0,b0]。依此做下去,

2021-01-07 16:36:42 475 4

原创 0-1背包问题 动态规划(代码注释超详细!!!)

给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大?0-1背包问题是一个特殊的整数规划问题。最优子结构性质...

2021-01-07 16:22:55 4724

原创 最大子段和 分治

求数列的最大子段和。给定n个元素的整数列(可能为负整数)a1,a2,…,an,求形如ai,ai+1,aj,i,j=1,2,…,n,i<=j的子段,使其和为最大。例如,当(a1, a2, a3, a4, a5, a6)=(-2, 11, -4, 13, -5, -2) max_sum =20,best_i = 2,best_j = 4answer:#include<iostream>using namespace std;int max_sub_sum(int a[

2021-01-07 08:24:41 335

原创 残缺棋盘 分治

分析:在这种限制条件下,所需要的三格板总数为?1)被覆盖板面积(除去残缺方格)为2k×2k-1 (k≥1) ;2)三格板之间不能重叠;3)三格板不能覆盖残缺方格,但必须覆盖其他所有方格。(2k×2k-1)/32^k^×2^k^-1--->4^k^-1---->(3+1)^k^-1所得结果一定会被三整除#include<iostream>using namespace std;int amount = 0;//用的块数 int Board[10.

2021-01-06 22:13:17 295

原创 循环赛日程表 分治(超详细注释!!!)

设有n=2k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表:(1)每个选手必须与其他n-1个选手各赛一次;(2)每个选手一天只能赛一次;(3)循环赛一共进行n-1天。answer#include<iostream>using namespace std;void gametable(int k){ int a[100][100];//赛程表 int n;//当前选手数 int temp;//已安排的选手数 int i;//行

2021-01-06 21:19:15 7830 4

原创 油库问题

穿越沙漠问题用一辆吉普车穿越1000公里的沙漠。吉普车的总装油量为500加仑,耗油率为1加仑/公里。由于沙漠中没有油库,必须先用这辆车在沙漠中建立临时油库。该吉普车以最少的耗油量穿越沙漠,应在什么地方建油库,以及各处的贮油量。answer:#include<stdio.h>int main(){ int i,t,k,oil; float dis; dis=500; k=1; oil=500; do { k=k+1; dis=dis+500.0/(2*k-1)

2021-01-06 20:15:02 197 1

原创 牢房问题 C++(寻找总因子数为奇数的数)

某国王对囚犯进行大赦,让一狱吏n次通过一排锁着的n间牢房,每通过一次,按所定规则转动n间牢房中的某些门锁, 每转动一次, 原来锁着的被打开, 原来打开的被锁上;通过n次后,门锁开着的,牢房中的犯人放出,否则犯人不得获释。转动门锁的规则是这样的,第一次通过牢房,要转动每一把门锁,即把全部锁打开;第二次通过牢房时,从第二间开始转动,每隔一间转动一次;第k次通过牢房,从第k间开始转动,每隔k-1 间转动一次;问通过n次后,哪些牢房的锁仍然是打开的?分析转动门锁的规则可以有另一种理解,第一次转动的是编号为1

2021-01-06 19:55:39 663

原创 猜字谜 C++

解析:1.由于五位数*一位数等于六位数 而且万位等于第二位数各位所以A>=32.D为1-93.整式变形为 DDDDDD/A=ABCAB 我们需判断一个每位数都一样的六位数除以一个3-9中的某个数A 结果需满足 万位等于十位等于A 千位等于个位 且没有余数answer: `#include<iostream>using namespace std;int main(){ int A,B,C,D,E,F; for(A=3;A<=9;A++) { for(D.

2021-01-06 19:10:20 602

原创 Error during artifact deployment. See server log for details

个人出现的错误是servlet中的urlPatterns内容写重复了!!!!!!太憨批了我 找了好久!!!!!!!!!!!(暴风哭泣)

2020-12-27 21:43:00 78

原创 动态规划:建造楼梯

一个好奇的小孩有N块砖,他要用这N块砖建造不同的楼梯。楼梯各个台阶的砖块数不同,但必须严格地递减。每个楼梯至少包含两个台阶,并且每个台阶至少包含一块砖。下图是5块砖的楼梯。输入样例:输入砖块数N:5样例输出:一共有2种不同的建构方法分析:可以看成一种整数划分情况 例如 5分为4+1,3+2两种情况划分条件:1.后面的数小于前面的数 底砖要大于上面的砖利用动态规划的方法解决问题动态转移方程 f(m,n)表示由n块砖组成楼梯,最后一行楼梯砖不超过m的方案总数 f(m,n)=f(m-1,n-m

2020-12-27 14:18:19 906

原创 C++ STL----Vector(自己的小整理)

一、简要概述简单来说vector是一个不定长数组。就是不用给予初始长度,可以不断添加新值。二、初始化1)头文件:#include<vector>2)变量声明:1.vector<类型名称>变量名 例如vector<int>a即声明一个为int类型的vector 变量名为a2.vector<int> a(3,1); 定义了3个整型元素的向量,且给出每个元素的初值为13.vector<int> a(b); 用b向量来创建a向量,整体复

2020-12-26 21:28:00 180

原创 PTA乙级 1019 数字黑洞(遇到的那些坑!!!)

1019 数字黑洞 (20分)给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 83528532 - 2358 = 61747641 - 1467 =

2020-12-24 12:05:00 119

原创 PTA乙级 1017 A除以B

1017 A除以B本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。输入格式:输入在一行中依次给出 A 和 B,中间以 1 空格分隔。输出格式:在一行中依次输出 Q 和 R,中间以 1 空格分隔。输入样例:123456789050987654321 7输出样例:17636684150141093474 3解析:1.大致思路给出的正整数位数已超过Int long所能表示的范围,所以需

2020-12-23 21:23:57 140

原创 PTA乙级 1014 福尔摩斯的约会

1014 福尔摩斯的约会大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由数字 0 到 9、以及大写

2020-12-22 23:12:36 124

空空如也

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

TA关注的人

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