杭州网站建设优化推广网络推广学校

bicheng/2026/1/18 1:07:43/文章来源:
杭州网站建设优化推广,网络推广学校,学新媒体运营要多少钱,酒店网站开发方案转载自#xff1a;http://blog.sina.com.cn/s/blog_7571423b01016707.html 编程求解#xff1a;输入两个整数 n 和 m #xff0c;从数列 1 #xff0c; 2 #xff0c; 3.......n 中随意取几个数 ,使其和等于 m , 要求将其中所有的可能组合列出来. 分析#xff1a; 主要思… 转载自http://blog.sina.com.cn/s/blog_7571423b01016707.html 编程求解输入两个整数 n 和 m 从数列 1 2 3.......n 中随意取几个数 ,使其和等于 m , 要求将其中所有的可能组合列出来. 分析 主要思想分治即midxm-idx        从最大数字n开始查找然后逐渐后退但每次查找只会在比当前数字大的方向进行组合尝试这样可以保证找到的组合不会重复。 参考代码 1: #include 2: #include 3: #includeSPAN styleCOLOR: #0000ffstring.h 4: void myDump(int aux[], int n) 5: { 6: for (int i0; i 7: if (aux[i]) // 0标示未选择该数字 8: printf(, i1); 9: printf(\n); 10: } 11: 12: void helper(int dest, int idx, int aux[], int n) 13: { 14: if (dest 0) // m减为0时找到一个组合输出 15: myDump(aux, n); 16: 17: // 递归结束条件dest0,说明找到一个组合dest0,说明该组合不满足和大于m) 18: // 如果idxn则说明已达到规定的最大数字范围为1-n) 19: if (dest 0 || idxn) 20: return; 21: 22: helper(dest, idx1, aux, n); 23: aux[idx] 1; // 标示选择了数字idx1 24: 25: //因为已经选择了idx即选择了数字idx1所以将m减去idx1 26: helper(dest-idx-1, idx1, aux, n); 27: aux[idx] 0; //无论结果是否满足都需要取消原来已选择的数字idx1然后尝试另一种组合 28: } 29: 30: void findCombination(int n, int m) 31: { 32: if(nm) //因为和为m所以大于m的数肯定不行 33: nm; 34: 35: int* auxnew int[n]; 36: memset(aux, 0, n*sizeof(int)); 37: 38: helper(m, 0, aux,n); 39: 40: delete[] aux; 41: } 42: 43: int main() 44: { 45: int n,m; 46: scanf(%d,%d,m,n); 47: 48: findCombination(n,m); 49: 50: getchar(); 51: return 0; 52: } ***************************************************************************** 解题思路:     显而易见, 当nm时, 肯定存在满足题目要求的子集. 由于数列1,2,...,n是正整数数列, 这使得所有的大于m的数加上数列最小元素1都会大于m, 所以当nm时我们只需要考虑子数列1,2,...,m即可.      当nm时,我们需要搜索1,2,...,n中符合条件的子集. 实际上, 我们可以将原问题分解成两个子问题: 子问题一: 在n个数的数列,我们取n, 然后原问题就变为找出1,2,...,n-1中和为m-n的所有子集,然后将所有的子集都加上元素n就得到了原问题的部分解集; 子问题二: 我们不取n, 原问题就变为找出1,2,...,n-1中和为m的所有子集. 联合两个子问题的解, 便得到了原问题的解集.     我们用subsets( n, m) 表示原问题, 那么原问题可表示为子问题 subsets(n-1, m) 和subsets( n-1, m-n)的解集的并集.     即:   subsets( n, m)   subsets(n-1, m) U subsets( n-1, m-n)     实际中,可采用回溯的方法进行求解. 后面附有完整的代码. 实际的搜索方法类似于二叉树的方法, 去除不符合条件的解. 例如下面的二叉树就表示了1,2,...,n的全组合的求解过程. 左边分支表示取,右边的分支表示舍. 针对于0-1背包问题, 八皇后问题, 射击十次命中九十环的打法问题等等, 则需要剪除掉一些不符合条件的子树. #include stdio.h #include assert.h #include time.h #define MAXN 1000 int stack[MAXN]; int top -1; void push( int e ) {  assert( top MAXN );  stack[top] e; } void pop( ) {  assert( top -1 );  top--; } void clear() {  top -1; } void printStack( ) {  int itop;  while( i-1 )   printf(%d\t, stack[i--] );  printf(\n); } int subsets( int n, int m ) {  int i;  int num0;  int flag 1; if( n m )   n m; for( i n; flag i1; i-- )  {      push( i );         if( m-i 0 )   {    num;    printStack();   }   else   {            if( (i-1)*i/2 (m-i) )    {     pop();     flag 0;     continue;    } num subsets( i-1, m-i );   }         pop();  }  return num; } void testSubsets() {  assert( 1 subsets( 1, 1 ) );  printf( \n\n );  assert( 0 subsets( 1, 2 ) );  printf( \n\n );  assert( 3 subsets( 5, 6 ) );  printf( \n\n );  assert( 5 subsets( 7, 7 ) ); } int main() {  testSubsets( ); clock_t start clock();  subsets( 50, 50 );  clock_t duration clock() - start;  printf(it takes %d seconds\n, duration/CLOCKS_PER_SEC );  return 0; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机网站微信支付代码陕西西安网站设计公司

在现代办公场景中,数据可视化的应用已经成为提高效率、推动创新的得力工具。无论是管理层还是普通员工,都能从数据可视化中受益匪浅。下面我就以可视化从业者的角度,简单聊聊这个话题。 首先,数据可视化提升了数据的易读性与理解性…

大学生做网站和做app深圳市住房和城乡建设部网站

VSS概述版本控制是工作组软件开发中的重要方面,它能防止意外的文件丢失、允许反追踪到早期版本、并能对版本进行分支、合并和管理。在软件开发和您需要比较两种版本的文件或找回早期版本的文件时,源代码的控制是非常有用的。Visual SourceSafe 是一种源代…

专业网站的建设设行吗温州网站建设和运营

java lambda循环对于每个经常需要在Java 8&#xff08;或更高版本&#xff09;中使用多维数组的人来说&#xff0c;这只是一个快速技巧。 在这种情况下&#xff0c;您可能经常会以类似于以下代码的结尾&#xff1a; float[][] values ... for (int i 0; i < values.leng…

服装网站 欣赏wordpress 媒体库无法打开

此片文章简单介绍布局管理的使用方法。通过实例先分别介绍分隔窗口QSplitter类、停靠窗口QDockWidget类及QStackedWidget类的使用&#xff0c;最后再通过一个实例介绍QLayout的使用。 分割窗口QSplitter类 分隔窗口可以灵活地布局窗口&#xff0c;可以用在文件资源管理器地窗…

写作网站哪个能得稿费网站编辑岗位

在当今数字化时代&#xff0c;云服务器作为企业级应用的核心设备&#xff0c;其性能和类型对于企业的运营和数据处理至关重要。在常见的香港云服务器类型中&#xff0c;通用型和计算型是最为常见的两种。那么&#xff0c;这两种云服务器到底有什么区别呢? 设计目标和应用场景不…

龙华网站建设招商做版权保护的网站

iPhone 15 是 Apple 最新、最出色的智能手机。它拥有时尚的设计、尖端的技术和众多功能&#xff0c;使其成为市场上最令人垂涎​​的设备之一。不幸的是&#xff0c;与所有智能手机一样&#xff0c;iPhone 14 容易发生可能导致屏幕破裂的事故和事故。破损的屏幕可能是毁灭性的&…

网站安全检测发生告警后邮局网站建设的目的

返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点&#xff0c;它旨在成为一个通用的WEB应用程序框架和项目模板。 ABP的官方网站&#xff1a;http://www.aspnetboilerp…

电影频道做的网站广告广州网站建设公司小程序

1.对象内存图 1.1 Java 内存分配 1.2 堆和栈 栈:所有局部变量都会在栈内存中创建 局部变量&#xff1a;定义在方法中的变量或者方法声明上的变量 方法执行都会加载到栈中进行 -----------------------------------------------------------------------------------------…

怎么做品牌推广网站微信小程序跳转到网页

已知两个链表L1和L2分别表示两个集合&#xff0c;其中元素递增排列。请设计一个算法&#xff0c;用于求出L1与L2的交集&#xff0c;并存放在L1链表中。 代码思路&#xff1a; 我们创建一个辅助链表L3&#xff0c;用于存储L1和L2链表的交集&#xff0c;用s遍历L3各个元素 用p和…

芯片公司网站建设百度seo网站排名

文章目录 任务处理方式异步操作的优缺点async和awiatasyncawait使用 async/await 的注意事项示例 前言&#xff1a;此篇文章是在文心一言的辅助下完成的。 任务处理方式 同步操作&#xff1a;同步操作是指所有的操作都完成后&#xff0c;才返回给用户结果。当一个任务发出请求…

凡科网站怎么修改昨天做的网站c语言做网站吗

LeetCode每日一题 1944.队列中可以看到的人数 1944. 队列中可以看到的人数 - 力扣&#xff08;LeetCode&#xff09; 题目描述 有 n 个人排成一个队列&#xff0c;从左到右 编号为 0 到 n - 1 。给你以一个整数数组 heights &#xff0c;每个整数 互不相同&#xff0c;heig…

宿州集团网站建设做有关兼职网站的需求分析

顺序 : 从上向下&#xff0c; 顺序执行代码分支 : 根据条件判断&#xff0c; 决定执行代码的分支循环 : 让特定代码重复的执行

做logo有哪些网站负责网站的建设规划

MongoDB 面试题 1. 什么是MongoDB&#xff1f; MongoDB是一种非关系型数据库&#xff0c;被广泛用于大型数据存储和分布式系统的构建。MongoDB支持的数据模型比传统的关系型数据库更加灵活&#xff0c;支持动态查询和索引&#xff0c;也支持BSON格式的数据存储&#xff0c;这…

网站定位方案 资源新版在线天堂

给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

网站seo推广员招聘来个网站好人有好报

一、计算机内存 1.1、计算机硬件内存架构。   计算机CPU&#xff08;central processing unit&#xff09;和内存的交互是最频繁的&#xff0c;内存是我们的高速缓存区。用户磁盘和CPU的交互&#xff0c;而CPU运转速度越来越快&#xff0c;磁盘远远跟不上CPU的读写速度&…

网站建设方案2000字免费永久域名申请注册

AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 &#xff1a; AD9371 官方例程构建及单音信号收发 采样率和各个时钟之间的关系 &#xff1a; AD9371 官方例程HDL详解之JESD204B TX侧时钟生成 &#xff08;三&#xff09; 参考资料&#xff1a; UltraScale Architecture G…

营口建网站的公司wordpress输出标签下文章

在Python中&#xff0c;自然语言处理&#xff08;NLP&#xff09;和文本挖掘通常涉及对文本数据进行清洗、转换、分析和提取有用信息的过程。Python有许多库和工具可以帮助我们完成这些任务&#xff0c;其中最常用的包括nltk&#xff08;自然语言处理工具包&#xff09;、spaCy…

苏州网站建设都找全网天下wordpress 进后台白屏

1、服务的分类启动与自启动&#xff1a;服务启动&#xff1a;就是在当前系统中让服务运行&#xff0c;并提供功能。服务自启动&#xff1a;自启动是指让服务在系统开机和重启之后&#xff0c;随着系统的启动而自动启动服务查询已安装的服务&#xff1a;RPM包安装的服务[rootloc…

怎么做冒牌网站个人域名网站可以做企业站吗

有赞微商城与无代码开发的完美结合 在数字化转型的浪潮中&#xff0c;无代码开发是商家极力追求的目标&#xff0c;它能够让非技术人员也能轻松地实现软件集成和数据流转。有赞微商城的出现&#xff0c;就是为了响应这一需求。通过无需复杂编程即可实现的API集成&#xff0c;商…

视频网站模板源码电商培训心得

在 Apache Flink SQL 中&#xff0c;字段&#xff08;也称为列&#xff09;和注释&#xff08;也称为元数据或描述&#xff09;的管理通常与 Flink 使用的底层数据源&#xff08;如 Kafka、JDBC 数据库、Hive 等&#xff09;紧密相关。Flink SQL 本身不提供直接修改数据源中字段…