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

20260714 紫题训练

P5363 [SDOI2019] 移动金币

将每颗棋子看成一堆石子,数目为它到左边第一个棋子的空格数。

将棋子向左移动 \(x\) 格会给右边的棋子空出位置,等价于将 \(x\) 颗石子移到右边的石堆。特别地,移动最右边的棋子等价于丢弃石子。

题目中的游戏即为按以上规则操作的的移石子游戏,这实际上为阶梯博弈。从右往左从 \(1\) 开始给石堆编号,则先手必胜等价于奇数号石堆的异或和 \(\ne 0\)

异或和不为 \(0\) 不好做,换成统计后手必胜的状态,用总方案数减去得到答案。

所有后手必胜的状态相当于 \(n\) 个石子分配到 \(m+1\) 堆石子(分到第 \(m+1\) 堆等价于丢弃),要求其中 \(\lceil\dfrac{m}{2}\rceil\) 堆石子数量的异或和为 \(0\)

由于异或运算是二进制下按位独立的,设 \(f_{i,j}\) 表示考虑完二进制下前 \(i\) 位,还剩 \(j\) 颗石子的方案数。

转移时该位下为 \(1\) 的数量,为保证异或和为 \(0\) 只枚举偶数。

具体地:

\[f_{i,j}=\sum_{k\equiv 0\pmod 2} \binom{\lceil\dfrac{m}{2}\rceil}{k}f_{i-1,j+k\times 2^{i-1}} \]

#include<bits/stdc++.h>
#define N 150005
using namespace std;
int n,m;constexpr int P=1000000009;
long long ans,f[2][N],fac[N],ifac[N];
int inv(int x,int y=P-2){int res=1;for(;y;x=1ll*x*x%P,y>>=1)if(y&1) res=1ll*res*x%P;return res;
}
int C(int x,int y){return fac[x]*ifac[y]%P*ifac[x-y]%P;}
int main(){scanf("%d%d",&n,&m);fac[0]=1;for(int i=1;i<=n;i++) fac[i]=fac[i-1]*i%P;ifac[n]=inv(fac[n]);for(int i=n;i;i--) ifac[i-1]=ifac[i]*i%P;int K=m+1>>1;ans=C(n,m),f[0][n-=m]=1,m-=K;for(int i=1,t=n,v;i<20;i++,t=v){v=max(t-(K-(K&1))*(1<<i-1),0);memset(f[i&1]+v,0,sizeof f[i&1]-(v<<3));for(int j=t;j<=n;j++)for(int k=0,s=0;k<=K&&s<=j;k+=2,s+=1<<i)(f[i&1][j-s]+=f[i&1^1][j]*C(K,k))%=P;}for(int i=0;i<=n;i++) (ans-=f[1][i]*C(i+m,m))%=P;printf("%lld",(ans+P)%P);return 0;
}
http://www.jsqmd.com/news/1393662/

相关文章:

  • For-learning-Go-Tutorial包管理教程:从import到init函数的完整实践
  • 机器人 —— ros报错:
  • Pynamical三维相图动画教程:让混沌吸引子跃然屏幕
  • 三步学会用 Rufus 制作U盘启动盘:简单、快速、免费的开源之选
  • 2026北京漏水检测维修流程指南家庭暗管测漏上门服务怎么预约 - 知途管道科技
  • 解密NVIDIA-Nemotron-Parse-v1.1-TC架构:ViT-H编码器与mBart解码器的完美协作
  • Windows永久激活与Office激活,一条命令搞定的KMS_VL_ALL_AIO完整指南
  • 广东第三方检测单位选购参考:高分子材料检测避坑与方案解析 - 变量人生001
  • Obsidian笔记变成可拖拽看板只需3步:kanban插件新手避坑指南
  • OpenProject实战指南:免费开源项目管理软件完整上手攻略
  • 从SR锁存器到D触发器:数字电路时序逻辑核心原理与工程实践
  • KiteSQL ORM使用详解:从模型定义到数据库迁移
  • 如何训练自定义目标检测器?pico框架picolrn工具完全指南
  • 除四害消杀怎么做?广东工厂写字楼除四害消杀服务科普 - 优企甄选
  • 2026年8月广州钻石回收行情更新,附估价标准 - 榆木脑袋老和尚
  • 从零开始在 Windows 上直接安装安卓 APK:APK Installer 快速上手指南
  • 语义网络技术:从协议标注到智能路由的工程实践
  • 2026杭州代理记账公司推荐:本土靠谱财税机构精选盘点 - 商业新知
  • Charlse注册码计算器网址
  • 2026年8月执业医师刷题全攻略:热门 APP 测评 + 高效刷题方法,一篇讲透 - 医考品牌测评家
  • EDI赋能珠宝业:无缝直连欧洲巨头THOM,实现跨境供应链全流程自动化
  • 2026 年至今,淮安优秀的马哈利种子销售厂家怎么联系,用它种出来的果树,居然比普通砧木早结果2年多?它到底是什么来头? - 企业信息推荐-2
  • MoGe-2 单目几何估计终极指南:从单张照片恢复度量级3D点云、深度图与法线图的完整实操手册
  • 无线充电单芯片方案RT3181A:从集成架构到设计实战全解析
  • 陪诊行业首个国标即将实施 记录者网校依托国开授权开展规范化陪诊师培训 - 品牌排行榜单
  • 2026年巴南区评价好的学车培训机构推荐,小车驾证驾照/自动挡驾校/C2自动挡学车/考C1驾照,学车机构哪家可靠 - 企业权威推荐大使
  • 从代码到部署:Minum框架完整开发流程详解(含Maven配置与测试策略)
  • AI网络优化:RoCEv2与QoS调度实战指南
  • 2026秦皇岛圣罗兰包包回收指南:(185-3117-2838)海港区民族路94号赵掌柜二奢专业鉴定现场打款 - 赵掌柜二奢
  • 天道15-16