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

做游戏网站的目地建网站html5

做游戏网站的目地,建网站html5,长沙网站设计费用,做网站能赚钱吗知乎给你一个下标从 0 开始的整数数组 nums &#xff0c;它包含 n 个 互不相同 的正整数。如果 nums 的一个排列满足以下条件&#xff0c;我们称它是一个特别的排列&#xff1a; 对于 0 < i < n - 1 的下标 i &#xff0c;要么 nums[i] % nums[i1] 0 &#xff0c;要么 nums[…

给你一个下标从 0 开始的整数数组 nums ,它包含 n 个 互不相同 的正整数。如果 nums 的一个排列满足以下条件,我们称它是一个特别的排列:

 ·对于 0 <= i < n - 1 的下标 i ,要么 nums[i] % nums[i+1] == 0 ,要么 nums[i+1] % nums[i] == 0 。

请你返回特别排列的总数目,由于答案可能很大,请将它对 109 + 7 取余 后返回。

示例 1:

输入:nums = [2,3,6]
输出:2
解释:[3,6,2] 和 [2,6,3] 是 nums 两个特别的排列。

示例 2:

输入:nums = [1,4,3]
输出:2
解释:[3,1,4] 和 [4,1,3] 是 nums 两个特别的排列。

提示:

 ·2 <= nums.length <= 14

 ·1 <= nums[i] <= 109

题目大意:在只有可整除的数字能相邻的情况下计算所有合法排列的数量。

分析:

(1)由于可整除的数字可以相邻,因此可整除的两个数之间可以视为有一条无向边,用图的思想处理本题,将每个数字视为一个结点。分别从数组中的每个结点开始进行一次深度优先遍历,计算可以连接所有结点的路径的个数sum,得到的sum即为所求的合法排列的数量;

(2)由于长度为N的数组有N!种排列,用枚举的方式搜索会超时,因此采用记忆化搜索加速计算。设当前遍历的结点为i,当前的状态为flag,状态flag表示已遍历的结点和未遍历的结点,如flag=0b011001时表示第2、3、6个结点已被遍历,而第1、4、5个结点还没有遍历。因为在相同状态(flag)下遍历i结点,返回的合法排列数量是相同的,所以建立二维数组dp,其中dp[i][flag]表示在状态flag的情况下遍历i结点可获得的合法排列数量,以此记录已遍历过的情况,加速深度优先搜索。

class Solution {
public:int specialPerm(vector<int>& nums) {int N=nums.size(),flag=(1<<N)-1,ans=0;vector<vector<int>> dp(N,vector<int>(1<<N,-1));function<int(int)> dfs=[&](int root){if(dp[root][flag]!=-1) return dp[root][flag];int sum=0;for(int i=0,f=1;i<N;++i,f<<=1){if(root!=i&&(flag&f)&&!(nums[i]%nums[root]&&nums[root]%nums[i])){flag^=f;sum=(sum+dfs(i))%1000000007;flag^=f;}}return dp[root][flag]=sum;};for(int i=0;i<N;++i) dp[i][0]=1;for(int i=0,f=1;i<N;++i,f<<=1){flag^=f;ans=(ans+dfs(i))%1000000007;flag^=f;}return ans;}
};
http://www.yayakq.cn/news/36377/

相关文章:

  • 电子交易网站流程大连旅游网站建设大概多钱
  • 网站建设公司哪里好大学生电子商务大赛作品参考
  • 微网站介绍玉溪网站开发公司
  • 珠海网站建设优化推广微信软文怎么写
  • 抚宁区建设局网站erp生产订单管理系统
  • 厘米售卡站怎么做网站用dw做的个人网站
  • 泉州网站建设维护网站建设衤金手指下拉10
  • 免费做名片的网站wordpress 导入工具 0.6.1
  • 网站的出站连接数申请00号注册
  • 给关亨做网站的设计公司网站建设欣
  • 微博上如何做网站推广品牌策划的五个步骤
  • 景德镇市场建设局网站网页设计素材乒乓球图片
  • 网站留言如何做的高要住房和城乡建设局网站
  • 某旅行社网站建设论文分销系统开发哪家好
  • 网页设计与网站建设完全实战手册宿迁房产网宿迁市区房屋出售
  • 图片做网站深圳网站建设创想营销
  • 找个公司做网站需要注意什么服装网站建设优点与缺点
  • 做企业网站哪家好大学生做网站主题
  • 哪个网站上做ppt比较好看手机网站图片宽度
  • 石家庄网络营销广告策划优化seo软件
  • 丛台企业做网站推广c 视频网站开发入门
  • 高大上网站建设公司建设网站审批手续
  • 自己做的网站主页被人篡改深圳网页设计公司推荐
  • 网站首页设计总结seo优化案例
  • 网站建设部署与发布有效期网站水印图片欣赏
  • ps做网站如何网站建设的合同条款
  • 郑州网站优化托管wordpress 跨页面获取
  • 制作网站软件教程2020事件营销成功案例
  • 网站不允许上传文件溧阳手机网站哪里做
  • 举报网站建设四川建设人才网官网登录