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

提供设计的的网站wordpress怎么上传

提供设计的的网站,wordpress怎么上传,临猗网站建设,更改网站模板写完敢说全网没有这么详细的题解了。 注意:题解长是为了方便理解,所以读起来速度应该很快。 题目描述 有 nnn 堆石子,第 iii 堆有 xix_ixi​ 个。 AliceAliceAlice 和 BobBobBob 轮流去石子(先后手未定), …

写完敢说全网没有这么详细的题解了。
注意:题解长是为了方便理解,所以读起来速度应该很快。


题目描述

nnn 堆石子,第 iii 堆有 xix_ixi 个。 AliceAliceAliceBobBobBob 轮流去石子(先后手未定), AliceAliceAlice 每次从一堆中取走 aaa 个,BobBobBob 每次从一堆中取走 bbb 个,无法操作者输。不难发现只会有四种情况:AliceAliceAlice 必胜,BobBobBob 必胜,先手必胜,后手必胜。你需选定若干堆石子(共有 2n2^n2n 钟方案),AliceAliceAliceBobBobBob 只能在你选出的堆中取,问四种情况对应的方案数。

输入格式

第一行三个整数 n,a,bn,a,bn,a,b
第二行 nnn 个整数 x1,x2,...,xnx_1,x_2,...\ ,x_nx1,x2,... ,xn

输出格式

一行四个整数,分别表示 AliceAliceAlice 必胜,BobBobBob 必胜,先手必胜,后手必胜的方案数,对 109+710^9+7109+7 取模。

样例

输入样例1

2 2 3
2 3

输出样例1

2 0 1 1

样例解释1

数据范围与提示

对于 10%10\%10% 的数据,n,xi≤5n,x_i\le5n,xi5
对于 50%50\%50% 的数据,n≤20n\le20n20
对于另外 10%10\%10% 的数据,a=ba=ba=b
对于又另外 20%20\%20% 的数据,a=1a=1a=1
对于 100%100\%100% 的数据,1≤n≤105,1≤a,b,xi≤1091\le n \le 10^5,1\le a,b,x_i\le 10^91n105,1a,b,xi109


分析

考场没有认真分析,考后知道要分类讨论后就打出来了。
不讲部分分了,因为除了第三条其他的应该也都不会去想。

值得一提的是,当 a=ba=ba=b 时的情况还是有一定启发性的,这告诉我们往奇偶性上面想。

方面处理,我们设 a<ba<ba<b
每堆石子对 a+ba+ba+b 取模,然后可以分四种情况:

1. xi<ax_i<axi<a,没用,但仅存在这种石堆时后手必胜。

2. a≤xi<ba\le x_i<baxi<b,只要存在即 aaa 获胜。

3. b≤xi<2ab\le x_i< 2abxi<2a,只和奇偶性有关。

4. 2a≤xi2a\le x_i2axi

  • 1. 若不存在且 (3) 为奇数个则先手必胜
  • 2. 若不存在且 (3) 为偶数个则后手必胜
  • 3. 若存在两个及以上则 aaa 必胜
  • 4. 若仅存在一个且 (3) 为奇数个则 aaa 必胜
  • 5. 若仅存在一个且 (3) 为偶数个则先手必胜

1~3 都好理解,4 的 1,2 也好理解;
对于4-3,因为无论如何 bbb 均无法阻止 aaa 将局面转化成 (2) 的情况,所以 aaa 必胜;
对于4-4,相当于在 3 为奇数的情况下多了一个 2a≤xi2a\le x_i2axi,注意到此时该堆 aaa 可多次取石,我们对 a,ba,ba,b 两人分别讨论:

  • 对于 aaa 先手,先取 2a≤xi2a\le x_i2axi 的一堆,之后把这一堆搁在一旁,就变成了 4-1 的情况,即 bbb 获胜,但最后 aaa 再取搁在一旁的这堆,此时 bbb 无法再取,aaa 获胜。
  • 而对于 bbb 先手,因为对于 2a≤xi2a\le x_i2axi 的一堆,bbb 仍然最多只能取一次,所以对于 bbb 而言,场上局面依旧是 4-2(奇数堆 + 2a≤xi2a\le x_i2axi 一堆 = 偶数堆),此时后手 aaa 获胜。

再分析 4-5,类似的,我们堆 a,ba,ba,b 两人分别讨论:

  • 对于 aaa 先手,无论怎么选都能使 bbb 进入4-2 的必输状态,aaa 获胜。
  • 对于 bbb 先手,当且仅当其最初选 2a≤xi2a\le x_i2axi 时可使 aaa 进入 4-2 的必输状态,因为默认玩家很聪明,所以 bbb 获胜。

思维量很小,于是就可以打了。

#include<bits/stdc++.h>
using namespace std;
#define int long long
typedef long long LL;
const int N=1e5+5,M=1e9+7;
int n,a,b,Bz,x[N],fac[N],inv[N];
inline int Rd(){int s=0,w=1;char ch=getchar();while (ch<'0'||ch>'9'){if(ch=='-') w=-1;ch=getchar();}while (ch>='0'&&ch<='9') s=(s<<1)+(s<<3)+ch-'0',ch=getchar();return s*w;}
int qp(int A,int B){int res=1;while (B){if(B&1) res=1ll*res*A%M;A=1ll*A*A%M;B>>=1;}return res;
}
void init(){fac[0]=inv[0]=1;for(int i=1;i<=n;i++) fac[i]=1ll*fac[i-1]*i%M;inv[n]=qp(fac[n],M-2);for(int i=n-1;i>=1;i--) inv[i]=1ll*inv[i+1]*(i+1)%M;return ;
}
int C(int A,int B){if(A<B) return 0;return 1ll*fac[A]*inv[B]%M*inv[A-B]%M;
}
signed main(){// freopen("stone.in","r",stdin);// freopen("stone.out","w",stdout);n=Rd();a=Rd();b=Rd();init();for(int i=1;i<=n;i++) x[i]=Rd();int c1=0,c2=0,c3=0,c4=0;LL ans1=0,ans2=0,ans3=0,ans4=0;if(a>b) swap(a,b),Bz=1;for(int i=1;i<=n;i++){x[i]%=(a+b);if(x[i]<a) c1++;if(x[i]>=a&&x[i]<b) c2++;else if(x[i]>=b&&x[i]<2*a) c3++;else if(2*a<=x[i]) c4++;}// printf("%d %d %d %d\n",c1 ,c2,c3,c4);int nw=qp(2,n-c2);for(int i=1;i<=c2;i++) (ans1+=1ll*C(c2,i)*nw%M)%=M;  //a<=x[i]<b, A winnw=qp(2,n-c2-c4);for(int i=2;i<=c4;i++) (ans1+=1ll*C(c4,i)*nw%M)%=M;  //2a<=x[i], at least 2, A winans4=qp(2,c1);int C1=qp(2,c1);for(int i=0;i<=(c3-1)/2;i++) (ans3+=1ll*C(c3,2*i+1)*C1%M)%=M;//b<=x[i]<2a, c4=0, First win// printf("%lld\n",ans3);for(int i=1;i<=c3/2;i++) (ans4+=1ll*C(c3,2*i)*C1%M)%=M;      //b<=x[i]<2a, c4=0, Second winfor(int i=0;i<=c3/2;i++) (ans3+=1ll*c4*C(c3,2*i)%M*C1%M)%=M; //c4=1, c3&1=0, First win// printf("%lld\n",ans3);for(int i=0;i<=(c3-1)/2;i++) (ans1+=1ll*c4*C(c3,2*i+1)%M*C1%M)%=M;//c4=1,c3&1=1, A winif(Bz) swap(ans1,ans2);printf("%lld %lld %lld %lld\n",ans1,ans2,ans3,ans4);return 0;
}

http://www.yayakq.cn/news/806729/

相关文章:

  • 自己做商业网站wordpress链接在哪里设置密码
  • 官方网站建设银行年利息是多少南宁市西乡塘区建设局网站
  • 西安网站设计外包公司icp备案查询站长工具
  • 做一个赚钱的网站好深圳网站建设 排行榜
  • 深圳分销网站设计公司安踏网站建设策划方案
  • 邢台装修网站建设大站网站建设
  • 网站续费合同城桥微信网站设计制作
  • 伪装学渣无极网站二级域名需要备案吗
  • 钦州网站建设网站的建设初步定位
  • 新注册公司怎么做网站如何网站建设策划方案
  • 硬盘做网站空间不锈钢餐具做外贸哪个网站好
  • 网站开发属于购销合同在网站上有中英切换怎么做
  • 快递网站建设ps怎么做网站横幅广告
  • 河北建设厅网站上不去运营说白了是什么意思
  • 公司logo查询网站广州公司注册查询
  • 网站做友链有什么用邢台手机网站建设多少钱
  • 用自己的电脑做视频网站吗网页传奇单机版
  • 为什么网站不需要icp备案在腾讯云怎样建设网站
  • ip反查域名网站在线logo生成器免费
  • 如何建立免费网站个人网站可以做音乐吗
  • 济南市个人网站制作微网站平台怎样做网站
  • 兼职做一篇微信的网站东莞营业厅
  • 珠海网站建设乐云seo在线制作网页版word在线编辑
  • 外贸网站营销方案太原网站建设注意
  • 温州网站建设方案文档制作e4a做网站软件
  • 先做网站先备案wordpress仿站主题
  • photoshop网站模板设计教程wordpress中文版和英文版区别
  • 国美电器如何进行网站的建设与维护wordpress 昵称留链接
  • WordPress怎么建小站如何分步骤开展seo工作
  • 乌托邦网站建设网站安全建设目的