自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

智能小小鹤的博客

穷则独善其身,达则兼济天下。

  • 博客(35)
  • 收藏
  • 关注

原创 这几天ChatGPT无法使用解决方案

浏览器可以正常使用,ChatGPTapp也是可以正常使用,刚刚亲测有效!这两天ChatGPT被苏丹黑客攻击,电脑端无法使用解决方案,电脑端下载。浏览firefox登录ChatGPT官网正常使用,苹果Mac手机自带的。

2023-11-10 08:38:26 608

原创 bipartite matching(二分图匹配)

设G=(V,E)是一个无向图,如果结点集V可分割为两个互不相交的子集(V1,V2),并且图中的每条边(i,j),所关联的两个结点i和j分别属于这两个不同的结点集,则称G为一个二分图。个人理解,若有表述错误或不当的问题,还请各位大牛不吝赐教!给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配。bipartite matching -----二分图最大匹配------图论。一个图的所有匹配中,边数最多匹配称为这个图的最大匹配。

2023-07-26 11:40:26 254

原创 输入 m,n,分别表示苹果数与盘子的总数,要求输出m个苹果放在 n个盘子的方法总数。

2、不含空盘,即全部盘子都有苹果,那么先从m个苹果中抽取n个每个盘子放一个,考虑剩下的m-n个苹果放到n个盘子的放法,即f(m,n)=f(m-n,n)当n>m时:必定有n-m个盘子永远空着,去掉他们对摆放苹果方法总数没有影响,即if(n>m) f(m,n)=f(m,m)总的放苹果的方法数等于两种方案的方法数之和,即f(m,n)=f(m,n-1)+f(m-n,n)当n

2023-07-26 11:30:13 303

原创 已知一个椭圆的长轴长为 10,,短轴长为8,请用蒙特卡罗法计算这个梢圆的面积。

【代码】已知一个椭圆的长轴长为 10,,短轴长为8,请用蒙特卡罗法计算这个梢圆的面积。

2022-12-30 17:15:19 235

原创 对于给定的一个字符串,统计其中数字字符出现的次数。

输入数据有多行,第一行是一个整数 n,表示测试实例的个数,后面跟着n行,每行。对于每个测试实例,输出该串中数值的个数,每个输出占一行。包括一个由字母和数字组成的字符串。

2022-12-30 17:14:46 2324

原创 输入N个整数,求它们中所有奇数的乘积。

输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为 n,表示本组。数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。输出每组数中的所有奇数的乘积,对于测试实例,输出一行。例如,输入:3 1 2 3。

2022-12-30 17:12:41 1287

原创 己知一棵二叉树前序遍历和中序遍历分别为 GDAFEMHZ 和 ADEFGHMZ,请画出该二 又树并写出该二叉树的后序遍历?

【代码】己知一棵二叉树前序遍历和中序遍历分别为 GDAFEMHZ 和 ADEFGHMZ,请画出该二 又树并写出该二叉树的后序遍历?

2022-12-30 17:10:26 393

原创 动态规划求解01背包问题

将前i件物品放入容量为Y的背包中”这个子问题,若只考虑第i件物品放或不放,那么就转化为一个只牵扯前i-1件物品的问题。如果不放第i件物品,那么问题就转化为“将前i-1件物品放入容量为Y的背包中”,价值为f[i-1][Y];如果放第i件物品,那么问题就转化为“前i-1件物品放入剩下的容量为v-c[i]的背包中”,此时能获得的最大价值就是f[i-1][Y-c[i]]再加上放入第i件物品获得的价值w[i]。状态转移方程:f[i][Y]=max{f[i-1][Y],f[i-1][Y-c[i]+w[i]}

2022-12-30 17:08:17 53

原创 C++ STL库

unordered_map 和 map (或者 unordered_set 和 set )的区别是, map 会按照键值对的键 key 进⾏排序( set ⾥⾯会按照集合中的元素⼤⼩进⾏排序,从⼩到⼤顺序),⽽ unordered_map (或者 unordered_set )省去了这个排序的过程,如果偶尔刷题时候⽤ map 或者 set 超时了,可以考虑⽤ unordered_map (或者 unordered_set )缩短代码运⾏时间、提⾼代码效率~⾄于⽤法和map 、 set 是⼀样的。

2022-12-30 17:05:01 111

原创 C++的string类

/ 删除从 pos 处开始的 n 个字符。// str.find_first_of() 方法在字符串str中从指定位置开始向后(默认为索引 0 处)查找参数中任何一个字符首次出现的位置。// string.find()查找字符/字符串,若找到,返回该子字符串首次出现时其首字母的索引。

2022-12-30 17:03:12 110

原创 c++数组常用函数汇总

/返回一个迭代器指针。cout

2022-12-30 17:00:31 2129

原创 数组元素全排列函数next_permutation\prev_permutation

思路:首先命名一个包含一到九的数组,题目给的式子有三部分组成,经计算第一部分一定是一位四位数,所以有数组的前四个元素组成,二三部分就要分情况讨论了,可以是一个个位数成一个四位数,也可以二位数乘以一个三位数,所以需要分两次写,题头说1~9正好只出现一次,所以这是一道数字排列问题,满足式子条件就输出,考的就是“全排列函数”

2022-12-30 16:57:32 99

原创 C++的常用数学函数

double pow(double x,double y),自变量和函数值均为双精度实数;double fabs(double x),自变量为双精度实数,函数值也为双精度实数;double log10(double x),自变量和函数值均为双精度实数;double sqrt(double x),自变量和函数值均为双精度实数;double cos(double x),自变量和函数值均为双精度实数;double log(double x),自变量和函数值均为双精度实数;12、计算不大于自变量x的整数值函数。

2022-12-30 16:53:56 1094

原创 字符串操作(3)----插入字符串

相当于把b分成b[0至pos-1]和b[pos至strlen(b)-1]两个子串,把a接到b[0至pos-1]后面,再把b[pos至strlen(b)-1]接到a后面。(4)strcat(ans,Substr(b,pos,strlen(b)-pos)),把b[pos至strlen(b)-1]复制到ans后面。插入操作输入待插入子串、目标字符串、指定位置,把待插入子串插入到目标字符串的指定位置前,并输出被插入后的目标字符串。(2)ans=Substr(b,0,pos),这里直接调用取子串函数,之前写过。...

2022-07-28 20:48:19 4582

原创 字符串操作(2)----取子串

4)让i从start循环到start+len-1,把a[i]复制到ans[i-start]的位置上。(5)由于ans的长度为len,所以最后让ans[len]=‘\0’,用空字符结尾。(1)读入所需参数原字符串a,子串的起始位置start,子串的长度len。取子串操作输入字符串、起始位置、字串长度,输出子串的内容。(3)用循环变量i表示当前要复制原字符串中哪个字符。这里使用最原始的方法,即一个字符一个字符的复制。(2)用字符串ans表示所求的子串。...

2022-07-28 20:08:33 1793

原创 字符串操作(1)----字符串匹配

4)用循环变量j表示待匹配的位置,j从0一直循环到(la-1),如果所有的a[j]=b[i+j],则说明a出现在了b[i]~b[i+la-1]的位置上。(3)用循环变量i表示a在b中出现的起始位置,让它从0一直循环到(lb-la)。la表示字符串a的长度,lb表示字符串b的长度。问题描述读入两个字符串a和b,判断a是否是b的子串。(1)用两个字符数组a和b表示两个字符串chara[100],b[100]。(6)如果最终Count=0,则a不是b的子串,否则输出Count。......

2022-07-28 01:10:50 320

原创 递归思想--爬楼梯问题

题目描述有n阶楼梯,每次只能爬1阶或2阶。一共有多少种方法爬到楼顶?到达第n阶可以从第n-1阶上来,也可以从第n-2阶上来;到达第2阶可以从第1阶上来,也可以从第0阶上来;到达第3阶可以从第2阶上来,也可以从第1阶上来;到达第1阶只能从0阶上来,1种方法;...

2022-07-18 00:41:47 252

原创 根据三条边判断三角形类型

如果三边相等则为等边三角形;如果只有两边相等则为等腰三角形;输入三个边长a,b,c,判断能否构成三角形,三角形是什么类型。(3)若a+b>c则能构成三角形,否则不是三角形;(2)三边长排序,从小到大a>b>c;(1)输入三边长a,b,c;b...

2022-07-17 23:40:00 5953

原创 按奇偶排序数组(2)

输入一个正整数数组,调整数组元素的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。注[3,1,2,4]也是正确的答案之一。输入nums=[1,2,3,4]输出[1,3,2,4]

2022-07-16 01:35:07 142

原创 按奇偶排序数组(1)

对数组进行排序,使得当nums[k]为奇数时,k也是奇数;当nums[k]为偶数时,k也是偶数。定义两个数组下标(也可以说是指针)i和j,其中i=0,j=1,用于遍历这个数组;交换这两个下标对应的数组元素的值,继续遍历重复步骤1、2,直到下标i或j超出数组边界停止;解释[4,7,2,5],[2,5,4,7],[2,7,4,5]也会被接受。当下标i(偶数)对应的数组元素值为奇数时,停止遍历i转向遍历j;输入[4,2,5,7]输出[4,5,2,7].........

2022-07-16 01:05:33 159

原创 指针与字符串--三种输出方式

三种方式利用指针输出字符串

2022-07-13 21:19:27 375

原创 字符串反转函数--字符串倒序输出

使用反转函数strrev(str)倒序输出字符串

2022-07-13 21:05:40 182

原创 指针--字符串倒序输出

使用指针倒序输出字符串

2022-07-13 21:03:12 639

原创 C++库中有哪些常用的字符串处理函数?

字符串处理函数包含在头文件#include中1. 字符串长度函数一般调用格式:strlen(str);其中str可以是地址表达式(一般为数组名或指针变量),也可以是字符串常量。函数返回字符串中实际字符的长度。2. 字符串拷贝函数一般调用格式:strcpy(str1,str2);将str2指向的字符串拷贝到以str1为起始地址的内存单元中。函数返回str1的值,即字符串str1的首地址。3. 字符串连接函数一般调用格式:strcat(str1,str2);将str2指向的字符串连接到str1

2022-07-12 00:26:57 1435

原创 数组名是一个常量指针---计算字符数组中共有多少个字符

常量指针是什么?所谓常量指针是说指针的指向保持不变。对于数组而言,数组一经定义首地址就已确定,再也不会改变。那么如何利用数组名来计算数组中字符的个数?请分析下述代码,并重点理解:(1)*p!=‘\0’ 这个关系表达式的含义(2)p-s 的含义代码如下:...

2022-07-11 23:16:56 154

原创 指针与数组的关系

为了加深对指针与数组的关系的认识,请运行下述代码并体会:(1)指针如何指向数组(2)指针加1的概念和具体应用(3)指针的间接访问运算(4)在循环结构中应用指针运行下述代码:

2022-07-10 21:49:36 62

原创 递推算法题:王小二刀工之王小二切大饼

题目描述:王小二自夸活好,刀工不错,有人给他画了个大饼,问他:“切100刀能把大饼分成多少块?”,切法是让每两条线都有交点。定义n为切的刀数定义q(n)为n刀能分成的块数找规律:n=0 q(0)=1 (边界条件,一刀都不切当然只有一块)n=1 q(1)=1+1n=2 q(2)=1+1+2n=3 q(3)=1+1+2+3n=4 q(4)=1+1+2+3+4…q(n)=q(n-1)+n(递推公式)代码实现如下:......

2022-07-10 20:52:36 296

原创 递推算法求n的阶乘(n为自然数)

递推数列的定义一个数列从某一项开始,它的任何一项都可以用它前面的若干项来确定,这样的数列称为递推数列,表示某项与其前面若干项的关系就称为递推公式。例如自然数1,2,3,4…,n的阶乘就可以形成如下数列:1!,2!,3!…(n-1)!,n!令fact(n)为n的阶乘,依据后项与前项的关系得出递推公式:fact(n)=n*fact(n-1) (通项公式)fact(1)=1 (边界条件)代码实现如下:......

2022-07-10 20:31:23 2137

原创 简单递推算法题:A,B,C,D,E合伙夜间捕鱼,凌晨疲惫不堪各自在河边找地方睡着了。日上三杆之时,A,B,C,D,E依次醒来,先醒的人将鱼平分5份,把多余的一条扔回河里,拿自己的一份回家了;

5人至少合伙捕到多少鱼?每个人醒来后看到的鱼数是多少条?解题思路假定A,B,C,D,E五人的编号分别为1,2,3,4,5,整数数组fish[k]表示第k个人所看到的鱼数。fish[1]表示A所看到的鱼数,fish[2]表示B所看到的鱼数…显然fish[1]=5人合伙捕鱼总数fish[2]=(fish[1]-1)*4/5fish[3]=(fish[2]-1)*4/5fish[4]=(fish[3]-1)*4/5fish[5]=(fish[4]-1)*4/5写成一般表达式为fish[i]=(

2022-07-09 21:12:43 1229

原创 冒泡排序法

将数组中的元素从大到小排序冒泡排序算法设计定义3个变量:(1)待排序的个数n(2)扫描次数j,j=1,2,3…n-1(3)第j遍扫描待比较元素下表i,i=0,1,2…n-j

2022-07-03 18:04:37 71

原创 格雷戈里公式求pi的近似值

格雷戈里公式求pi的近似值

2022-07-03 17:40:18 511

原创 筛法求100以内所有素数

1至100这些自然数可以分为3类:(1)单位数:1(2)素数:只有1和本身两个正因数。(3)合数:除1和本身以外还有其它正因数。筛法实际上是筛去合数,留下素数。为了提高筛法效率,根据初等数论的知识:如果n为合数,则n存在一正因数c,2...

2022-07-03 17:12:47 587

原创 中秋佳节,有贵客来到草原,主人要从羊群中选一只肥羊宴请宾客,当然要选最肥的,这样就要记录下每只羊的重量。如果有成千上万只羊,不可能用一般变量记录,要用带有下表的变量。

假设用键盘输入10(也可以用N来键入)只肥羊的重量,存储到一个名为sheep的数组中,并找出最肥的羊。bigsheep=0.0;记录最重的羊的重量,初始化置为0bigsheepNo=0;记录最重的羊的编号代码如下:#include<iostream>using namespace std;int main(){ double sheep[10]; double bigsheep=0.0; int bigsheepNo=0; for(int i...

2022-05-26 22:29:10 300

原创 已知被积函数,利用梯形法求定积分

已知f(x)=cos x + x,求a~b f(x)的定积分,算法采用梯形法,梯形法就是将曲边梯形分成若干个小的曲边梯形,然后用相应的小的梯形代替窄小的曲边梯形1.将积分区间b-a等分为n份,每份长度h=(b-a)/n用梯形法近似计算定积分的数学说明 - 百度文库2.使用梯形面积计算定积分,近似公式为:编程中建议m取1000~2000定义一个函数名为f的被积函数,参数为x,类型为double定义一个累加函数s,计算累加公式代码如下:#include<iostream.

2022-05-25 23:10:19 385

原创 有一个整数N,N可以分解为若干个整数之和,问如何分解能使这些数的乘积最大。请编程,键入一个整数N(N<100),将N分解成若干个整数,输出这些数的乘积M,且要保证M是最大的。

分析题目:题目中的整数应该是正整数才合理,不然按照正数和负数一起分,则无穷。所以假设N=n1+n2+n3+......+nk;且n1xn2xn3x.......xnk最大。1.N=1,输出12.满足假设的因子只能小于5,证明有一个正整数N可以分解成若干个正整数之和,问如何分解能使这些数的乘积最大?求详细解释。 - 知乎将N尽可能的分解为多个3的乘积,余数部分分情况讨论。分析题目易知,N为 3n型、3n+1型、3n+2型中的一种(一个数 mod q,余数在0到q - 1之间)代码如

2022-05-25 22:00:11 561

空空如也

空空如也

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

TA关注的人

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