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

株洲网站建设开发设计公司营销网站建设

株洲网站建设开发设计,公司营销网站建设,成品模板网站,seo快速排名网站优化目录 一.什么是动态规划? 二.题目 第一种情况:集合本身之和为奇数 第二种情况:集合本身之和为偶数 下面是代码实现: 一.什么是动态规划? 这里就简单的解释一下,动态规划就是记录之前的计算结果,避免重复的计算之前已经计算过的结果,用…

目录

一.什么是动态规划?

二.题目

第一种情况:集合本身之和为奇数

第二种情况:集合本身之和为偶数

下面是代码实现:


一.什么是动态规划?

这里就简单的解释一下,动态规划就是记录之前的计算结果,避免重复的计算之前已经计算过的结果,用空间换取时间的一种方法

二.题目

通过题目我们可以知道是要求计算有多少子集,补集之和是偶数的问题,首先我们就需要考虑什么情况下子集,补集之和可以是偶数

集合之和 = 子集之和+补集之和

第一种情况:集合本身之和为奇数

集合本身之和为奇数说明集合中存在奇数个奇数,那么无论怎么组合补集和子集之和都不可能同时为偶数,这种情况直接输出0即可

第二种情况:集合本身之和为偶数

集合本身之和为偶数说明集合中要么没有奇数,要么奇数个数为偶数

在分析完题目之后我们思考解题思路:

可以通过暴力循环算出,但是我们每一次循环都需要重复计算当前第i个元素之前有多少种符合要求的子集,这样时间复杂度肯定是不能通过了,思考到这里我们就知道这道题可以使用动态规划的思想去解决,用一个数组来记录第i个元素前有多少种符合要求的子集,然后去思考之前的结果加上第i个元素会有什么变化,写出状态方程这道题目就解决了

下面是代码实现:

public class Main {public static final long mod = 1000000007L;public static void main(String[] args) {Scanner scan = new Scanner(System.in);int x = scan.nextInt();while(x>0){int n = scan.nextInt();long[] a = new long[n];//存储数组;long sum = 0;//记录前i个元素的和for(int i = 0;i<n;i++)//初始化数组{a[i] = scan.nextLong();sum += a[i];}x--;if(sum%2!=0)//说明和为奇数,子集,补集的和不可能都为偶数,集合中有奇数个奇数{System.out.println(0);continue;}long[][] b = new long[n+1][2];//动态规划数组//[i+1][0]代表前i个元素中有多少个偶数子集,[i+1][1]代表前i个元素有多少个奇数子集b[0][0] = 1;//空集时和为0,0为偶数b[0][1] = 0;for(int i = 0;i<n;i++)//当集合的和为偶数{if(a[i]%2 == 0){b[i+1][0] = (b[i][0]*2)%mod;//动态规划数组转移方程b[i+1][1] = (b[i][1]*2)%mod;}else{b[i+1][0] = (b[i][0]+b[i][1])%mod;b[i+1][1] = (b[i][0]+b[i][1])%mod;}}b[n][0] = b[n][0]%mod;System.out.println(b[n][0]);}scan.close();}
}

这里也可以使用单个变量来记录符合要求的子集,不过用数组来写逻辑更加清晰

三.执行结果

http://www.dtcms.com/wzjs/527776.html

相关文章:

  • 政府舆情管理和网站建设yandx引擎入口
  • 广州做网站市场福州网站排名推广
  • 域名邮箱企业邮箱郑州做网络优化的公司
  • 有做医学手术视频的网站百度热搜榜历史
  • 连衣裙一起做网站免费网站搭建
  • 电脑网站和手机网站怎么做相同路径白银网站seo
  • 山东恒正建设有限公司 网站手机如何制作自己的网站
  • 网站开发工具 枫子科技江门关键词排名工具
  • 做爰网站有哪些seo新方法
  • 做餐饮要看的网站网站功能优化的方法
  • 独特好听设计公司名字5000元网站seo推广
  • 定制网站建设和运营360网站推广官网
  • 网络开发公司seo网络优化平台
  • 深圳做微藻的公司网站seo如何优化一个网站
  • 网站开发项目的wbs百度竞价推广方案
  • 阿里 网站建设企业推广哪个平台好
  • 获取网站访问者qq号seo技术培训江门
  • 黄石网站建设seo关键词排名优化方案
  • 网站建设公司 电话销售没什么效果哈尔滨优化调整人员流动管理
  • 做家具有那个网站今日资讯最新消息
  • 钓鱼网站二维码制作软件百度账户推广登陆
  • 宁河做网站公司百度热搜广告位
  • 台式机网站建设seo排名优化培训价格
  • 永康外贸网站建设宁波关键词优化企业网站建设
  • 编程开源网站杭州网站推广大全
  • 用asp.net做校园网站11月将现新冠感染高峰
  • wordpress文章后面评论网站排名优化软件
  • 同安区建设局网站招投标软文时光发稿平台
  • 阿里云做的网站空间seo高手培训
  • php网站开发使用技术PDF下载个人博客模板