当前位置: 首页 > news >正文

做影视网站需要多少钱小红书推广怎么做

做影视网站需要多少钱,小红书推广怎么做,实验室建设网站,广开街网站建设公司开始编程前分析设计思路和程序的整体的框架,以及作为数学问题的性质: 程序流程图: 数学原理: 本质上是找到一条欧拉回路,考虑图中的边权重、顶点的度数以及如何通过添加最少的额外边来构造欧拉回路,涉及到欧…

开始编程前分析设计思路和程序的整体的框架,以及作为数学问题的性质:

程序流程图:

数学原理:

        本质上是找到一条欧拉回路,考虑图中的边权重、顶点的度数以及如何通过添加最少的额外边来构造欧拉回路,涉及到欧拉回路、最短路径算法以及奇点匹配。

时间复杂度分析:

        程序的时间复杂度主要来自于Floyd算法和ADD函数。Floyd是动态规划算法。它的时间复杂度是O(n^3)。 ADD函数是一个递归函数它的时间复杂度是O(2^n),其中n是奇点的数量。在最坏情况下,奇点的数量可能接近于节点的数量,ADD函数的时间复杂度可能接近于O(2^n)。综合看,这段程序的时间复杂度是O(n^3 + 2^n)。由于2^n的增长速度非常快,当n较大时,2^n将远大于n^3,因此这段程序的时间复杂度应该为O(2^n)

源代码:

#include <stdio.h>
#include <bits.h>
// 定义常量
const int N = 105;
const int inf = 100000000;
// 建立矩阵和路径数组
int matrix[N][N], mapp[N][N];
int p[N][N];
int path[N], d[N];
int sg[N];
int cont[N];
int vis[N];
int n, m;
int top;
// 设置结构体将边和权重关联
struct node
{int v, u, cost;
} gg[N];
// 使用深度优先递归搜索
void DFS(int beg)
{for (int i = 1; i <= n; i++){if (matrix[beg][i]){matrix[beg][i]--;matrix[i][beg]--;DFS(i);}}path[top++] = beg;
}
void Fleury(int beg)
{top = 0;DFS(beg);
}
// 寻找最短路径
void Floyed()
{for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){for (int k = 1; k <= n; k++){if (mapp[i][j] > mapp[i][k] + mapp[k][j]){p[i][j] = k;mapp[i][j] = mapp[i][k] + mapp[k][j];}}}}
}
// 通过递归对奇数边进行加边
int ADD(int cn)
{ // 将奇点进行匹配得一个最小的int ans = inf;if (cn < 2)return 0; // 奇点个数小于2,无需匹配。for (int i = 1; i <= cn; i++){if (sg[i] != 0){for (int j = i + 1; j <= cn; j++){if (sg[j] != 0){int tem1 = sg[i], tem2 = sg[j];sg[i] = 0;sg[j] = 0;if (ans > ADD(cn - 2) +mapp[tem1][tem2]){
// 第i个奇点匹配的奇点是第j个奇点cont[i] = tem2; 
// 第j个奇点匹配的奇点是第i个奇点cont[j] = tem1; ans = ADD(cn - 2)+mapp[tem1][tem2];}sg[i] = tem1;sg[j] = tem2;}}}}return ans;
}
// 将找到的路径存储
void AddPath(int cn)
{memset(vis, 0, sizeof(vis));for (int i = 1; i <= cn; i++){if (!vis[sg[i]]){vis[sg[i]] = 1;vis[cont[i]] = 1;while (p[sg[i]][cont[i]]){int sss = cont[i];cont[i] = p[sg[i]][cont[i]];matrix[sss][cont[i]]++;matrix[cont[i]][sss]++;}matrix[sg[i]][cont[i]]++;matrix[cont[i]][sg[i]]++;}}
}
// 输出路径
void Print_Path()
{printf("top=%d\n", top);for (int i = top - 1; i >= 0; i--){printf("%d", path[i]);if (i)printf("->");}puts("");
}
//初始化各边信息
void Inif()
{for (int i = 0; i <= N; i++){for (int j = 0; j <= N; j++){mapp[i][j] = (i == j) ? 0 : inf;}}
}
// 中国邮路信息建立
void CNLoad()
{while (~scanf("%d%d", &n, &m)){Inif();int i, beg, sum = 0; // sum用来计算路径长度memset(matrix, 0, sizeof(matrix));memset(d, 0, sizeof(d));memset(sg, 0, sizeof(sg));memset(path, 0, sizeof(path));memset(p, 0, sizeof(p));memset(cont, 0, sizeof(cont));// 存储各边信息for (i = 1; i <= m; i++){int a, b, c;scanf("%d%d%d", &a, &b, &c);d[a]++;d[b]++;matrix[a][b] = 1;matrix[b][a] = 1;mapp[a][b] = c;mapp[b][a] = c;gg[i].v = a;gg[i].u = b;gg[i].cost = c;sum += c;}beg = 1;int cnt = 0;for (i = 1; i <= n; i++){if (d[i] & 1){cnt++;sg[cnt] = i;beg = i;}}if (!cnt){printf("sum=%d\n", sum);Fleury(beg);Print_Path();}else{Floyed();printf("sum=%d\n", sum + ADD(cnt));AddPath(cnt);Fleury(beg);Print_Path();}}
}
int main()
{CNLoad();return 0;
}

测试用例:(图结构)

输出结果:

http://www.hkea.cn/news/322221/

相关文章:

  • 泰安房产价格最新域名年龄对seo的影响
  • 网站打不开怎么回事引流推广平台有哪些
  • 课程网站建设特色成都seo外包
  • 建设厅安全员证书查询网站外链seo推广
  • 邢台手机网站建设服务百度查重软件
  • 网站开发开题报告ppt竞价运营是做什么的
  • 网站代理怎么做的网站推广策划思路
  • 长沙网站seo公司百度权重5的网站能卖多少钱
  • 常德网站开发百度推广登录首页网址
  • 网站建设软件设计推广官网
  • 网站运营阶段站长之家app
  • discuz网站标题百度广告推广价格
  • 广州学校论坛网站建设疫情排行榜最新消息
  • 古董手表网站网络营销的主要方式和技巧
  • 做公司网站要那些资料百度电脑版下载官方
  • 定州网站建设公司企业网站源码
  • 0基础1小时网站建设教程如何给自己的公司建网站
  • 成都网站建设s1emens电商平台怎么加入
  • 六合哪家做网站建设域名注册查询软件
  • 网站建设的方案费用2023年新冠疫情最新消息
  • 九星市场做网站快速将网站seo
  • 长春做网站推广的公司提升神马关键词排名报价
  • 金融网站cms百度网盘客服电话人工服务
  • 美观网站建设物美价廉seo网站优化专员
  • 网站设计应该怎么做推广软文代写
  • 网站建设工作室发展百度收录教程
  • 没有网站 可以做百度口碑吗成都网站制作
  • 医院系统网站建设百度宁波营销中心
  • 网站劫持代码杭州互联网公司排名榜
  • 做网站找哪个部门吸引人的推广标题