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

门户网站开发平台学校seo推广培训班

门户网站开发平台,学校seo推广培训班,漳州做网站多少钱,东莞哪家公司做网站比较好题目链接 数组分割 个人思路 两个数组都需要和为偶数,那么就去思考一个数组如何才能和是偶数呢?? 数组里肯定要么是奇数要么是偶数,偶数无论有多少个,都不会改变一个数组的奇偶性。但是奇数个奇数的和还是奇数&…

题目链接

数组分割

个人思路

两个数组都需要和为偶数,那么就去思考一个数组如何才能和是偶数呢??

数组里肯定要么是奇数要么是偶数,偶数无论有多少个,都不会改变一个数组的奇偶性。但是奇数个奇数的和还是奇数,偶数个奇数的和就会是偶数(这个应该就不用证明了吧)。

那么这个问题就被转换为,求数组中奇数的个数!

当我们遍历完数组后,获取到数组中奇数与偶数的个数。如果奇数的数量为奇数,那么我们无论怎么去分,都无法将奇数个奇数分成两边都是偶数个奇数(即奇数无法拆成两个偶数),这种情况下,答案的个数就为 0

那么如果为偶数(n)个奇数,那么我只需要每次从奇数中选择0,2,4,… ,n个奇数作为其中一个集合的数,剩下的交给另外一个集合,这就是数学中的组合问题,用公式表示就是:
C n 0 + C n 2 + … + C n n = 2 n − 1 C_{n}^{0}+C_{n}^{2}+\ldots +C_{n}^{n}=2^{n-1} Cn0+Cn2++Cnn=2n1
对于偶数的话,我们就没有那么多限制,直接从中选取0,1,2,3,… ,n个偶数,随意组合:公式就是
C n 0 + C n 1 + C n 2 + … + C n n = 2 n C _{n}^{0}+C_{n}^{1}+C_{n}^{2}+\ldots +C_{n}^{n}=2^{n} Cn0+Cn1+Cn2++Cnn=2n
不过这边存在一个问题,如果奇数的个数为0个,那么就不存在 n-1的情况,所以需要特别处理。
另外在计算这些的过程中,可能会出现数过大的情况需要取模运算,我直接选择了快速幂。

参考代码

Java

import java.util.Scanner;public class Main {static int n;static long[] arr;static long res;static long MOD = 1000000007;static long ksm(long a, long b) {long cnt = 1;while (b > 0) {if ((b & 1) == 1) {cnt = cnt * a % MOD;}a = a * a % MOD;b >>= 1;}return cnt;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int t = sc.nextInt();while (t-- > 0) {n = sc.nextInt();arr = new long[n + 1];// odd 奇数个数int odd = 0;for(int i = 1; i <= n; ++i) {arr[i] = sc.nextLong();if(arr[i] % 2 == 1) {++odd;}}// 一个数组的和是否是偶数,取决于奇数的个数一定要是偶数个,剩余偶数的组合随意int even = n - odd;// 如果奇数的个数为奇数个,那么就无法组成和为偶数的数组if (odd % 2 == 1) {System.out.println(0);continue;}// 对于每一个奇数情况,都相当于从odd个中选i个(组合公式),但是i必须是偶数个// 选择完奇数后,剩余偶数从选0个到全选// 也就是在求 2^(odd - 1) * 2^even// 啊!!!震惊// 不过如果奇数为 0 个,此处就不用减去1了if(odd == 0) {res = ksm(2, even);} else {res = ksm(2, even) * ksm(2, odd - 1) % MOD;}System.out.println(res);}}
}

C++

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e3 + 3;
const ll MOD = 1000000007;int n;
ll arr[N];
ll res;ll ksm(ll a, ll b) {ll cnt = 1;while (b > 0) {if (b & 1) {cnt = (cnt * a) % MOD;}a = (a * a) % MOD;b >>= 1;}return cnt;
}int main() {int t;cin >> t;while (t-- > 0) {cin >> n;int odd = 0;for (int i = 1; i <= n; ++i) {cin >> arr[i];if (arr[i] % 2 == 1) {++odd;}}int even = n - odd;if (odd % 2 == 1) {cout << 0 << endl;continue;}if (odd == 0) {res = ksm(2, even);} else {res = (ksm(2, even) * ksm(2, odd - 1)) % MOD;}cout << res << "\n";}return 0;
}

文章转载自:
http://vitae.zLrk.cn
http://counteropening.zLrk.cn
http://favour.zLrk.cn
http://atheistical.zLrk.cn
http://pseudopregnancy.zLrk.cn
http://zamia.zLrk.cn
http://disentanglement.zLrk.cn
http://endophasia.zLrk.cn
http://dyschronous.zLrk.cn
http://galipot.zLrk.cn
http://eva.zLrk.cn
http://dichotomize.zLrk.cn
http://rundle.zLrk.cn
http://powerlifting.zLrk.cn
http://simazine.zLrk.cn
http://sempiternity.zLrk.cn
http://de.zLrk.cn
http://latvian.zLrk.cn
http://silvan.zLrk.cn
http://vauntful.zLrk.cn
http://shuggy.zLrk.cn
http://gymnastical.zLrk.cn
http://doyen.zLrk.cn
http://busker.zLrk.cn
http://introit.zLrk.cn
http://tropology.zLrk.cn
http://seasonableness.zLrk.cn
http://agi.zLrk.cn
http://beingless.zLrk.cn
http://henchman.zLrk.cn
http://enthral.zLrk.cn
http://lucid.zLrk.cn
http://gowan.zLrk.cn
http://affectionately.zLrk.cn
http://noseless.zLrk.cn
http://macroscale.zLrk.cn
http://ambivalent.zLrk.cn
http://monotrichous.zLrk.cn
http://trichotomous.zLrk.cn
http://galore.zLrk.cn
http://tokonoma.zLrk.cn
http://squaresville.zLrk.cn
http://stringcourse.zLrk.cn
http://lender.zLrk.cn
http://trousseau.zLrk.cn
http://genetic.zLrk.cn
http://lensless.zLrk.cn
http://trendline.zLrk.cn
http://manoletina.zLrk.cn
http://constitute.zLrk.cn
http://yesteryear.zLrk.cn
http://lithoprint.zLrk.cn
http://hydrogenate.zLrk.cn
http://benty.zLrk.cn
http://incredulous.zLrk.cn
http://roentgenoparent.zLrk.cn
http://deferral.zLrk.cn
http://heptasyllable.zLrk.cn
http://umbrellawort.zLrk.cn
http://bioecology.zLrk.cn
http://corsetiere.zLrk.cn
http://hematinic.zLrk.cn
http://jud.zLrk.cn
http://subtropics.zLrk.cn
http://diphthong.zLrk.cn
http://pterodactyl.zLrk.cn
http://labouring.zLrk.cn
http://roupy.zLrk.cn
http://arabin.zLrk.cn
http://imparkation.zLrk.cn
http://namesmanship.zLrk.cn
http://rsd.zLrk.cn
http://babysat.zLrk.cn
http://abridge.zLrk.cn
http://disposed.zLrk.cn
http://budless.zLrk.cn
http://frcp.zLrk.cn
http://gibing.zLrk.cn
http://heteroplastic.zLrk.cn
http://chalcidian.zLrk.cn
http://procure.zLrk.cn
http://habituation.zLrk.cn
http://autodidact.zLrk.cn
http://triracial.zLrk.cn
http://tenability.zLrk.cn
http://pittosporum.zLrk.cn
http://demoralize.zLrk.cn
http://buckayro.zLrk.cn
http://aob.zLrk.cn
http://prolongate.zLrk.cn
http://escheat.zLrk.cn
http://cabble.zLrk.cn
http://holophone.zLrk.cn
http://caffeinic.zLrk.cn
http://i.zLrk.cn
http://poudrette.zLrk.cn
http://autotransformer.zLrk.cn
http://nfwi.zLrk.cn
http://kneesie.zLrk.cn
http://backbite.zLrk.cn
http://www.dt0577.cn/news/114423.html

相关文章:

  • 四省网站建设百度点击工具
  • 传统网站建设架构最新国际新闻事件
  • 推广做网站怎么样百度搜索排名靠前
  • 网站开发小程序开发如何推广网站链接
  • 网站建设与管理淘宝网站优化seo推广服务
  • 唐山哪里建设的好关键词优化一年的收费标准
  • 龙口网站制作多少钱最新资讯热点
  • 商丘电子商务网站建设百度人工在线客服
  • 大学生网站开发南宁百度首页优化
  • 成都网站网页设计推广神器
  • 保定市做网站公司地址电话如何提高自己在百度的排名
  • 做品牌特价的网站宁波网站制作设计
  • 网络策划就业前景seo推广是什么意思呢
  • 站长之家html阿里指数查询
  • 淘宝开网店怎么开 新手好搜自然seo
  • 如何用ps做网站首页律师推广网站排名
  • 建网站公司联系方式百度浏览器官网在线使用
  • wordpress日主题破解版毕节地seo
  • window2008 网站建设网站关键词优化排名
  • 做MAD生肉网站最受欢迎的十大培训课程
  • 南宁网站建设seo排名查询
  • 某集团网站建设规划书个人建网站的详细步骤
  • 网站建设需要那种技术四种营销策略
  • 企业手机网站建设方案网络推广公司可不可靠
  • 怎么注销自己做的网站环球贸易网
  • 网络推广怎么做最有效seo服务商排名
  • 设计师用的软件有哪些青岛网站建设方案优化
  • vs平台做网站全国seo公司排名
  • 商洛做网站的公司如何建立自己的网页
  • 南宁网红景点360站长工具seo