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

网站怎么做速排郑州网约车资格证

网站怎么做速排,郑州网约车资格证,虚拟电脑可以做网站吗,手机app客户端做网站题目#xff1a;TSP旅行商 旅行商问题#xff0c;即TSP问题#xff08;Traveling Salesman Problem#xff09;又译为旅行推销员问题、货郎担问题#xff0c;是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市#xff0c;他必须选择所要走的路径#xff0c;路… 题目TSP旅行商 旅行商问题即TSP问题Traveling Salesman Problem又译为旅行推销员问题、货郎担问题是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市他必须选择所要走的路径路径的限制是每个城市只能拜访一次而且最后要回到原来出发的城市。要求经过的路程为所有路径之中的最小值。 输入                                输出22 5 8 0 1 3 0 3 4 1 2 5 2 0 4 2 3 5 3 4 3 4 0 7 4 1 6 思路 如果采用搜索剪枝算法复杂度为O(n!)。 而这种情况下恰好可以考虑状态压缩常用的状态压缩为二进制对应0和1两种状态 当然如果有三种状态的话就要使用3进制哦不对我们应该用4进制因为4进制比3进制更快一点 状态压缩将集合作为整数来记录状态的算法 基于状压的dp是一类以集合信息为状态且状态总数为指数级的特殊的动态规划问题          我们设置dp[S][u]表示已经访问的集合为S当前所在的节点为u所对应的最优解 dp[S][u]min{dp[S|{v}][v]g[u][v] }v不属于S  因为dp[S][u]的下个状态就是dp[S|{v}][v]          下面给出记忆化dfs写法一般来讲记忆化dfs比动态规划要快一点因为动态规划往往会在计算无意义的状态中浪费时间。  #include bits/stdc.h//TSP旅行商问题 using namespace std; int dp[115][20],g[15][15],path[115][15];//path为路径 int n,m,INF;void init(){memset(dp,-1,sizeof(dp));memset(g,0x3f,sizeof(g));INFg[0][0]; }int run(int s,int u){if(dp[s][u]0) return dp[s][u];if(s(1n)-1u0) return dp[s][u]0;int ansINF;for(int v0;vn;v)if(!(sv1)g[u][v]!INF){int tmprun(s|1v,v)g[u][v];if(anstmp){anstmp;path[s][u]v;//保存后继如果不存储集合的话}// ansmin(ans,run(s|1v,v)g[u][v]);不输出路径的写法}return dp[s][u]ans; } void print(int s,int u){if(s(1n)-1)return;//这是倒序输出的写法先找到终态然后倒着输出。如果我们存的是前驱那就要正序输出了int vpath[s][u];cout-v;print(s|1v,v); } int main(){int u,v,w;cinnm;init();for(int i0;im;i){cinuvw;g[u][v]w;}run(0,0);coutdp[0][0]\n;cout0;print(0,0);//输出路径return 0; }题目吃馅饼POJ3311 题意一个人从0开始送外卖每次送外卖不超过10个地方给你两两之间所需的时间求送完外卖回到店里的总时间最小每个地方可以经历任意次 输入0表示结束        输出8 3 0 1 10 10 1 0 1 2 10 1 0 10 10 2 10 0 0          思路 因为每个点可以走很多次那么最好就是先把两点间最短距离写出floyd然后就转化成了旅行商问题 因为我们要把所有点都走至少一次那么当旅行商问题可以解出答案时就一定是最佳答案                  #include bits/stdc.h using namespace std; const int M19,INF0x3f3f3f3f; int dp[111][M],g[M][M],path[115][15];//path为路径 int n;void init(){memset(dp,-1,sizeof(dp));memset(g,0x3f,sizeof(g)); }void floyd(){for(int k0;kn;k)for(int i0;in;i)for(int j0;jn;j)g[i][j]min(g[i][j],g[i][k]g[k][j]); } int TSP(int s,int u){if(dp[s][u]0) return dp[s][u];if(s(1n)-1u0) return dp[s][u]0;int ansINF;for(int v0;vn;v)if(!(sv1)g[u][v]!INF){int tmpTSP(s|1v,v)g[u][v];if(anstmp){anstmp;path[s][u]v;//保存后继如果不存储集合的话}//ansmin(ans,run(s|1v,v)g[u][v]);//不输出路径的写法}return dp[s][u]ans; } void print(int s,int u){if(s(1n)-1)return;//这是倒序输出的写法先找到终态然后倒着输出。如果我们存的是前驱那就要正序输出了int vpath[s][u];cout-v;print(s|1v,v); } int main(){while(scanf(%d,n)1n){n;//加原点init();for(int i0;in;i)for(int j0;jn;j)scanf(%d,g[i][j]);floyd();memset(dp,-1,sizeof(dp));printf(%d\n,TSP(0,0));cout0;print(0,0);//输出路径}return 0; }
http://www.huolong8.cn/news/243966/

相关文章:

  • 商城网站建设天软科技网络营销平台名词解释
  • 公司网站开发费用计入什么科目ppt模板大全免费下载简洁
  • 中国商标注册网官方网站音乐主题的网站设计
  • 网站描述怎么修改吗律师网站建设推广
  • gooood谷德设计网站做网站定制
  • 做哪些网站流量大wordpress无法编辑文章
  • 网站带后台ssp网站怎么做
  • 网站页面架构怎么写wordpress 插件 code
  • 手机网站字体大小规范wordpress 重写 函数
  • wordpress无域名建站手机网页显示不全
  • 济宁市城市建设投资中心网站深圳网站建设企
  • 企业营销型网站建设图片滨州市住房和城乡建设厅网站
  • 优惠网站代理怎么做黄石网站制作公司
  • wordpress站点打不开wordpress本地优化加速版
  • 建网站培训学校企业邮箱电话人工服务24小时
  • 网站报错 500焦作seo公司
  • c做的网站外包活加工官方网站
  • 有趣网站之家优化推广服务
  • asp.net商务网站 包括哪些文件新闻营销的优势
  • 网站做三屏合一做网站的研究生专业
  • 怎么才能建立一个网站怎么在网上接网站开发的工作
  • 博物馆网站建设目的营销型网站如何建设
  • 主流做网站程序代码什么企业适合做网站
  • 济南网站建设代码模板建站哪家好
  • 网站 固定ip微信营销课
  • 东莞市建设安监局网站首页ps怎么做网站横幅广告
  • 怎么给网站添加关键词python游戏开发
  • 域名不变修改网站怎么做洛阳网站开发公司
  • 什么是网站二级目录wordpress所有栏目循环输出
  • 有什么好用的模拟建站软件大连最新发布