- 博客(11)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 sprintf用法详解加案例
在c语言中sprintf()函数的用法如下:1、该函数包含在stdio.h的头文件中。2、sprintf和平时我们常用的printf函数的功能很相似。sprintf函数打印到字符串中(要注意字符串的长度要足够容纳打印的内容,否则会出现内存溢出),而printf函数打印输出到屏幕上。sprintf函数在我们完成其他数据类型转换成字符串类型的操作中应用广泛。3、sprintf函数的格式:除了...
2020-04-19 22:43:44
5095
原创 字符串加减乘除详解
文章目录前言一、为什么需要用字符串做加减乘除?二、字符串加法2.字符串减法3.字符串乘法4.字符串除法待更新前言网上关于字符串加减乘除的整理并不全面,笔者参考多篇文章,优化后整理如下,字符串除法待更新。需注意:字符串加法和乘法使用通用解法。而字符串减法需考虑结果为负的特殊情况处理。欢迎批评指正!一、为什么需要用字符串做加减乘除?当两个数非常大时,因为溢出问题,不能使用传统的加减乘除法,所以需要转换思路来处理。二、字符串加法string addstring(string s1, string
2021-06-19 12:53:50
14979
4
原创 关于调用accept函数出现报错Interrupted system call 的解决方法之一
关于调用accept函数出现报错Interrupted system call 的解决方法之一我们在shell终端输入man accept 查看手册说明,可以看到报错出现 EINTR的情况。应该在accept返回值的地方对这个情况加以判断。if(erron == EINTR){…//处理}...
2021-05-14 22:54:04
1435
原创 线性动态规划简介
线性动态规划主要特点是状态的推导是按照问题规模 i 从小到大依次推过去的,较大规模的问题的解依赖较小规模的问题的解。这里问题规模为 i 的含义是考虑前 i 个元素 [0…i] 时问题的解。状态定义:dp[n] := [0…n] 上问题的解状态转移:dp[n] = f(dp[n-1], …, dp[0])从以上状态定义和状态转移可以看出,大规模问题的状态只与较小规模的问题有关,而问题规模完全用一个变量 i 表示,i 的大小表示了问题规模的大小,因此从小到大推 i 直至推到 n,就得到了大规模问题
2021-01-04 11:03:42
488
原创 动态规划与其它算法的关系
动态规划与其它算法的关系这一章我们将会介绍分治和贪心算法的核心思想,并与动态规划算法进行比较。分治解决分治问题的时候,思路就是想办法把问题的规模减小,有时候减小一个,有时候减小一半,然后将每个小问题的解以及当前的情况组合起来得出最终的结果。例如归并排序和快速排序,归并排序将要排序的数组平均地分成两半,快速排序将数组随机地分成两半。然后不断地对它们递归地进行处理。这里存在有最优的子结构,即原数组的排序结果是在子数组排序的结果上组合出来的,但是不存在重复子问题,因为不断地对待排序的数组进行对半分的时候
2021-01-04 10:34:33
308
原创 动态规划背景
动态规划的背景动态规划(英语:Dynamic programming,简称 DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划不是某一种具体的算法,而是一种算法思想:若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。应用这种算法思想解决问题的可行性,对子问题与原问题的关系,以及子问题之间的关系这两方面有一些要求,它们分别对应了最优子结构和重复子问题。最优子结构最优子结构规定
2021-01-03 21:23:38
758
原创 优先队列 -案例
#include<iostream>#include<queue>using namespace std;//升序队列priority_queue <int,vector<int>,greater<int> > q1;//小顶堆 //降序队列priority_queue <int,vector<int>,less<int> >q2;//大顶堆 priority_queue<int>
2021-01-02 21:41:54
104
原创 最强解析-有向无环图的拓扑排序
/*拓扑排序只适用于有向无环图 拓扑排序规则如下:(1) 从有向无环图中选择一个没有前驱(入度为0)的顶点vertex,并将顶点输出(2)从图中删除这个顶点,同时删除从该顶点出发的所有边 本文算法复杂度为 O(n+e); 拓扑排序的结果不唯一。2020/12/22 written by HL */ #include<bits/stdc++.h>using namespace std;#define MAX_VERTEX_NUM 100 //最大矩阵维度 typedef.
2020-12-23 21:46:26
930
原创 C++组2020高校计算机能力挑战赛-决赛赛题解析
第一题 #include<bits/stdc++.h>using namespace std;struct student{ int k; int t; int id;};bool cmp(struct student &a,struct student &b){ if(a.k*a.t==b.k*b.t){ if(a.t==b.t) return a.id<b.id; else return a.t>b.t; } return
2020-12-22 21:28:55
2114
3
原创 一看就懂,每对顶点间的最短路径- F算法
/*2020/12/21 written by HL所有端间最短径的算法在某些情况下,要求找出图内所有两端间的最短径。当然,可以用D算法作n次运算,每次一个不同的端作为指定端。弗洛埃德(Floyd)算法,简称F算法。*/#include<bits/stdc++.h>using namespace std;#define MAX_VERTEX_NUM 100 //最大矩阵维度 typedef struct MGRAPH{ int n;//图中顶点数目 int e;//图.
2020-12-22 15:27:42
533
原创 D算法**-指定端到其他端的最短路径算法
数据结构与算法D算法-指定端到其他端的最短路径算法/*D算法对有向图也适用也可适用于端点有权的情况D算法不适用于边的权有正有负的情况2020-12-17 written by HL*/#include<bits/stdc++.h>using namespace std;#define MAX_VERTEX_NUM 100 //最大矩阵维度 typedef struct MGRAPH{ int n;//图中顶点数目 int e;//图中边的数目 int vertex[
2020-12-21 22:38:46
533
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人