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

浙江邮电建设工程有限公司网站网站平台建设合同

浙江邮电建设工程有限公司网站,网站平台建设合同,聊城做网站费用信息,竞价推广代运营服务思路: 这道题很容易即可发现就是简单的暴力即可完成题目,我们只需满足所有数的和为偶数即可保证有满足条件的分法,同时也不需要存下每个输入的数据,只需要知道他是偶数还是奇数即可,因为我们只需要偶数个奇数搭配在一块…

思路:

       这道题很容易即可发现就是简单的暴力即可完成题目,我们只需满足所有数的和为偶数即可保证有满足条件的分法,同时也不需要存下每个输入的数据,只需要知道他是偶数还是奇数即可,因为我们只需要偶数个奇数搭配在一块看成是偶数即可,然后对应到上面我们就可以统计一组数据中奇数的个数就不需要多余的计算一个数据和,当奇数个数为0时,情况就是取和不取问题组合情况为2的偶数的个数次方,当奇数个数为奇数时,必不可能有满足条件的情况,当奇数个数为偶数且不为0时,每两个奇数即可配合成一个偶数,奇数的组合数为2的(奇数的个数-1)次方。ps:可以理解为先取出一个奇数,其余奇数为取或者不取那么其中一个子集有奇数个数的奇数另一个必有偶数个数的奇数,只需把这些排列组合(有2的(奇数的个数-1)次方种情况)列出并把取出的奇数放到只有奇数个数的奇数那个子集即可满足条件。

还有说因为奇数得成对出现所以2的n次方除2这个我理解不了我个人想法写到了上面的ps上

核心代码段:

代码:

import java.util.*;public class Main {public static void main (String []args) {int T;Scanner a = new Scanner(System.in);T=a.nextInt();int sum[] = new int[T];int n1=T;while(T-->0){int n;n = a.nextInt();//统计数量int b;//统计奇数和偶数的数目int nj,no;nj=no=0;for(int i=0;i<n;i++) {b=a.nextInt();if(b%2==0) {++no;}else {++nj;}}if(nj%2==0) {//将两个奇数合并为一个偶数,而n个奇数共有n-1种组合然后就是排列组合问题了最多有2的n次方种情况int num =nj+no;if(nj!=0) {num--; }sum[T]=1;
//    			 for(int i=0;i<num;i++) {
//    				 sum[T]=sum[T]*2%1000000007;
//    			 }sum[T]=(int) (Math.pow(2,num)%1000000007);}else {sum[T]=0;}	 }a.close();for(T=n1-1;T>=0;T--) {System.out.println(sum[T]);}}
}

做题反思:

1.蜜汁报错

蓝桥杯代码执行结果为段错误即有越界行为

2.题目有多组数据要输出下面两种都是可以的1.把数据存下来然后一起输出2.算出一个就输出。

fig:情况1

fig:情况2

3.pow返回值为double,先进行(int)会导致精度受损,固要先取余(蓝桥杯很多时候都要先取余输出低位的数值)再数据转换。

eg:

sum[T]=(int) (Math.pow(2,nj)%1000000007);和

sum[T]=(int) Math.pow(2,nj)%1000000007;

的区别在第一个是先取余再转int精度没有丢失,后者是先转int再取余精度在大范围数的时候double变int会精度丢失导致在数值比较大的情况下二者的计算结果有所区别。

上者可以20个结果都对,后者只对4个结果(数据范围小没损失精度)

前者:

后者:

4.区分好continue和break的区别

continue是结束该轮循环,但并没有跳出

break是结束循环即跳出循环

        我一开始直接这样导致一直找不到问题,因为就是遇到不满足情况的就跳出循环了,后面的组使用都没有去做,有点逆天了,敲得还是太少了

代码其实十几分钟就敲完了但一直没找出来问题,从晚上7.30到9.20才真正把这道题写完有点ass了

官网一个我觉得写得比较简洁的版本(内核是差不多的我进行了模仿去debug上面的代码而已):

import java.util.*;public class Main {public static void main (String []args) {int T;Scanner a = new Scanner(System.in);T=a.nextInt();long sum[] = new long[T];int n1=T;while(T-->0){int n;n = a.nextInt();//统计数量int b;//统计奇数和偶数的数目int nj,no;nj=no=0;for (int j = 0; j < n; ++j) {int e = a.nextInt();if (e % 2 == 0) ++no;else ++nj;}if (nj % 2 == 0)sum[T] = (int) (Math.pow(2, no) * Math.pow(2, nj == 0 ? 0 : nj - 1) % 1000000007);else sum[T] = 0;}a.close();for(T=n1-1;T>=0;T--) {System.out.println(sum[T]);}}
}


文章转载自:

http://1LgA4hvw.trtdg.cn
http://T6UTxdKV.trtdg.cn
http://C3Bj9ass.trtdg.cn
http://6Vpy6rjX.trtdg.cn
http://QBfFWyw2.trtdg.cn
http://KPI2fVaU.trtdg.cn
http://r2c0WpgH.trtdg.cn
http://s5yJjqt4.trtdg.cn
http://R3ze9mvf.trtdg.cn
http://n9Fd3LRA.trtdg.cn
http://SDCDMfkF.trtdg.cn
http://xfFQ3AmG.trtdg.cn
http://KtZsDUDH.trtdg.cn
http://YvXXsjpS.trtdg.cn
http://qgXnkaad.trtdg.cn
http://LNCkMOLk.trtdg.cn
http://Qt3NV9h8.trtdg.cn
http://kiM7GIXc.trtdg.cn
http://Amo7IIgL.trtdg.cn
http://g1gUdAJH.trtdg.cn
http://ULtFGnQb.trtdg.cn
http://5Q6SwPRA.trtdg.cn
http://QN8GqxL3.trtdg.cn
http://R6nKIfPE.trtdg.cn
http://OruqHDOH.trtdg.cn
http://TVaUUlcv.trtdg.cn
http://4OPBXhJN.trtdg.cn
http://aRQpI0tn.trtdg.cn
http://LpxriR6w.trtdg.cn
http://uHg2WM3D.trtdg.cn
http://www.dtcms.com/wzjs/767555.html

相关文章:

  • 怎样做网站运营上海加盟网站建设
  • 开发一个网站需要多少人网站空间后台登录
  • 珠宝销售网站源码如何架设一个网站
  • 包装盒在线设计网站简历表格 个人简历
  • 单页网站模板做seo计算机基础培训机构
  • 苏州建设网站公司在什么地方学而思网校官网
  • 苏州建设交易中心网站廊坊视频优化推广
  • 网站建设设计风格描述thinkphp
  • html5企业网站案例余姚网站公司
  • 备案网站还是域名h5制作软件免费 fou
  • 创建网站基本步骤怎么做兼职类网站
  • 辽宁城乡建设网站电子商务公司名称大全
  • 合肥网站制作套餐网络营销公司取名字大全
  • 如何用ps做网站界面杭州网站建设官方蓝韵网络
  • 网站视差怎么做建设网站里的会员系统
  • 在合肥做网站前端月薪大概多少培训学校招生方案范文
  • 网站搭建技术有哪些张家界互联网公司有哪几家
  • 网站交互行为软件开发项目内容
  • 网站制作过程合理的步骤是wordpress微信公众号关注登陆
  • 建设银行官网站下载钱建网站
  • 老网站怎么做seo优化雄安网站建设
  • 包包网站建设可行性分析双栏wordpress
  • 东鹏拼奖网站怎么做制作企业网站是怎么收费的
  • 宛城区网站制作前端开发培训机构课程
  • 毕业设计做网站low深圳seo优化公司唯八seo
  • 百度信息流网站可以做落地页吗dede网站模板客
  • 用xp做网站是否先搭建iis泰安红河网站建设
  • 东莞找公司网站网站的关于页面
  • 网站过度优化最新未来三天全国天气预报
  • 网站建设报价方案.xlswordpress评论修改