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

双模网站开发菏泽做网站优化的

双模网站开发,菏泽做网站优化的,珠海网站建设专线,企业网站托管外包平台思路#xff1a; 这道题很容易即可发现就是简单的暴力即可完成题目#xff0c;我们只需满足所有数的和为偶数即可保证有满足条件的分法#xff0c;同时也不需要存下每个输入的数据#xff0c;只需要知道他是偶数还是奇数即可#xff0c;因为我们只需要偶数个奇数搭配在一块… 思路 这道题很容易即可发现就是简单的暴力即可完成题目我们只需满足所有数的和为偶数即可保证有满足条件的分法同时也不需要存下每个输入的数据只需要知道他是偶数还是奇数即可因为我们只需要偶数个奇数搭配在一块看成是偶数即可然后对应到上面我们就可以统计一组数据中奇数的个数就不需要多余的计算一个数据和当奇数个数为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);Ta.nextInt();int sum[] new int[T];int n1T;while(T--0){int n;n a.nextInt();//统计数量int b;//统计奇数和偶数的数目int nj,no;njno0;for(int i0;in;i) {ba.nextInt();if(b%20) {no;}else {nj;}}if(nj%20) {//将两个奇数合并为一个偶数而n个奇数共有n-1种组合然后就是排列组合问题了最多有2的n次方种情况int num njno;if(nj!0) {num--; }sum[T]1; // for(int i0;inum;i) { // sum[T]sum[T]*2%1000000007; // }sum[T](int) (Math.pow(2,num)%1000000007);}else {sum[T]0;} }a.close();for(Tn1-1;T0;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);Ta.nextInt();long sum[] new long[T];int n1T;while(T--0){int n;n a.nextInt();//统计数量int b;//统计奇数和偶数的数目int nj,no;njno0;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(Tn1-1;T0;T--) {System.out.println(sum[T]);}} }
http://www.hkea.cn/news/14506316/

相关文章:

  • 凡科做的手机网站可以导出来浙江省建设执业资格中心网站
  • 小红书信息流广告投放北京百度推广优化
  • 网站建设的七个步骤开设计公司要怎么规划
  • 合肥龙岗医院网站建设一个网站如何做cdn加速
  • 遵义网站建设推广桂林人论坛app
  • 建立大型网站流程一个网站数据库
  • 百度怎么自己做网站提供手机网站建设企业
  • 德州市网站建设广州网站设计十年乐云seo
  • 网站可信认证廊坊做网站1766534168
  • 公众号做微网站网站开发是啥了
  • 网站域名备案与不备案的区别搜索引擎营销的常见方式
  • 阿里云手机做网站门户网站建设系统
  • 杭州企业网站专业设计wordpress 游戏 模板
  • 电子商务网站建设教学免费空间域名申请
  • 淮滨网站建设公司网页广告培训班
  • 专门做网页设计网站谷歌网站站长指南
  • 东莞网站建设备案一键提交网站
  • 呼和浩特网站建设网络公司遂溪网站开发公司
  • 备案网站的规则如何在自己网站做直播
  • 营销型网站套餐外贸一年赚个100万难吗
  • 网站建设 教学视频教程购买云服务器之后怎么使用
  • 架设网站flash不显示微网站的建设模板有哪些
  • 新手学网页设计的网站土木在线网
  • 东莞市手机网站建设哪家好h5第三方收款平台
  • 班玛县公司网站建设百度推广登录入口官网网
  • asp网站添加背景音乐徐东网站建设
  • 有免费做推广的网站吗建设网站要做的工作内容
  • 电子商务企业 网站前台建设 苏宁wordpress sae 4.4
  • 清涧县住房和成乡建设局 网站网站推广和优化的原因网络营销
  • 查询系统网站模板简约大气网站欣赏