
BZOJ3492: PA2012 Binary Dodgeball
发布日期:2021-05-06 03:50:34
浏览次数:29
分类:精选文章
本文共 1425 字,大约阅读时间需要 4 分钟。
感谢YJQ和visitWorld两位打野..
画个图发现是个Nim游戏
然后发现是个数位DP..#include#include #include using namespace std;#define ll long longll DP[51][4][81][2];ll check(ll max){ ll base=1ll<<49; memset(DP,0,sizeof(DP)); DP[0][0][0][1]=1; for(int i=1;i<=50;i++,base>>=1) for(int k=0;k<=63;k++) { if(i==48&&k==2) i++,i--; if(base&max)DP[i][3][k][1]=DP[i-1][3][k][1]+DP[i-1][1][k][1]; else DP[i][2][k][1]=DP[i-1][3][k^(50-i)][1]+DP[i-1][1][k^(50-i)][1]; if(base&max) DP[i][1][k][1]=DP[i-1][0][k^(50-i)][1]+DP[i-1][2][k^(50-i)][1]; else DP[i][0][k][1]=DP[i-1][0][k][1]+DP[i-1][2][k][1]; DP[i][3][k][0]=DP[i-1][3][k][0]+DP[i-1][1][k][0]; DP[i][1][k][0]=DP[i-1][2][k^(50-i)][0]+DP[i-1][0][k^(50-i)][0]; DP[i][2][k][0]=DP[i-1][1][k^(50-i)][0]+DP[i-1][3][k^(50-i)][0]+ ((base&max)?DP[i-1][1][k^(50-i)][1]+DP[i-1][3][k^(50-i)][1]:0); DP[i][0][k][0]=DP[i-1][2][k][0]+DP[i-1][0][k][0]+ ((base&max)?DP[i-1][2][k][1]+DP[i-1][0][k][1]:0); } int i=50; return DP[i][0][0][0]+DP[i][1][0][0]+DP[i][3][0][0]+DP[i][2][0][0]+ DP[i][0][0][1]+DP[i][1][0][1]+DP[i][3][0][1]+DP[i][2][0][1]-1;}int main(){ ll k; scanf("%lld",&k); ll R=1ll<<48,T,Mid,L=1; ll Ta=check(10); while(L >1; if((T=check(Mid))
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月26日 18时09分34秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux 权限常用命令
2023-02-01
Linux 权限管理基本命令
2023-02-01
Linux 查找搜索命令
2023-02-01
linux 查看 mongodb 连接数
2023-02-01
linux 查看文件大小及内容
2023-02-01
Linux 查看目录大小
2023-02-01
linux 查看硬盘的uuid_linux添加新硬盘不需要重启识盘,及查看uuid
2023-02-01
linux 查看系统信息命令(比较全)
2023-02-01
linux 根目录扩容
2023-02-01
linux 添加微软字体,如何给Ubuntu添加Windows及Mac字体?
2023-02-01
linux 添加本地yum源
2023-02-01
LINUX 游戏服务器之旅4_mongodb环境
2023-02-01
linux 源码搭建lnmp_Linux源码安装lnmp
2023-02-01
Linux 环境下将 ASM 磁盘映射到物理磁盘的完整指南
2023-02-01
Linux 环境下更新 Python
2023-02-01
Linux 用户被差别对待?无法通过 apple.com 管理 Apple ID
2023-02-01
Linux 的 cat 命令居然有那么多门道,涨知识了!
2023-02-01
Linux 的NFS服务的配置
2023-02-01