SG函数(hdu1847)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1847
思路:求出sg函数,也可以看做巴什博奕,是3的倍数就好,因为先手取不到3的倍数,而后手只需要让它重新变回3的倍数就行。
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <bitset>
#include <cmath>
#include <cctype>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <sstream>
#include <iomanip>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const ll inff = 0x3f3f3f3f3f3f3f3f;
#define FOR(i,a,b) for(int i(a);i<=(b);++i)
#define FOL(i,a,b) for(int i(a);i>=(b);--i)
#define REW(a,b) memset(a,b,sizeof(a))
#define inf int(0x3f3f3f3f)
#define si(a) scanf("%d",&a)
#define sl(a) scanf("%I64d",&a)
#define sd(a) scanf("%lf",&a)
#define ss(a) scanf("%s",a)
#define mod int(1e9+7)
#define pb push_back
#define lc (d<<1)
#define Pll pair<ll,ll>
#define P pair<int,int>
#define pi acos(-1)
int sg[1008],vis[1008],f[1048],pos=1,n;
void get_sg()
{REW(sg,0);FOR(i,1,1000){REW(vis,0);for(int j=1;f[j]<=i;j++) vis[sg[i-f[j]]]=1; FOR(j,0,1000){if(!vis[j]) {sg[i]=j;break;}}}
}
int main()
{cin.tie(0);cout.tie(0);for(int i=1;i<=1024;i*=2) f[pos++]=i;get_sg();while(cin>>n){if(!sg[n]) cout<<"Cici"<<endl;else cout<<"Kiki"<<endl;}return 0;
}
SG函数(hdu1847)相关推荐
- HDU1847 Good Luck in CET-4 Everybody!【SG函数】
Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- hdu1847(SG函数)
Good Luck in CET-4 Everybody! 大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此.当然,作 ...
- hdu1847-Good Luck in CET-4 Everybody! (博弈论 SG函数 找规律)
Good Luck in CET-4 Everybody! Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- Trie树合并 + SG函数 ---- BZOJ4730. Alice和Bob又在玩游戏(动态开点Trie 树上全局异或标记 + 合并 + 博弈论)
题目大题 题目大意: 解题思路: 首先我们对于子树u的SG函数为SG函数为SG函数为 ⨁是异或和\bigoplus是异或和⨁是异或和 SG[u]=mex{⨁w∈(w的父亲在u到v的路径上)SG[w]∣ ...
- 点分治问题 ----------- P3727 曼哈顿计划E[点分治+博弈SG函数打表找规律]
题目链接 解题思路: 1.首先对于每个操作我们实际上是一个博弈问题 对于k=1的操作就是很基础的NIM游戏就是找到一条链的异或和为0 对于k=2的操作通过达打表找规律: 如果s是奇数那么偶数的SG函数 ...
- BZOJ 1874: [BeiJing2009 WinterCamp]取石子游戏(SG函数)
Time Limit: 5 Sec Memory Limit: 162 MB Submit: 871 Solved: 365 [Submit][Status][Discuss] Descripti ...
- 一类SG函数递推性质的深入分析——2018ACM陕西邀请赛H题
题目描述 定义一种有根二叉树\(T(n)\)如下: (1)\(T(1)\)是一条长度为\(p\)的链: (2)\(T(2)\)是一条长度为\(q\)的链: (3)\(T(i)\)是一棵二叉树,它的左子 ...
- hdu1848(sg函数打表)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1848 题意:中文题诶- 思路:直接sg函数打表就好了 代码: 1 #include <iostr ...
- AtCoder AGC043C Giant Graph (图论、SG函数、FWT)
题目链接 https://atcoder.jp/contests/agc043/tasks/agc043_c 题解 场上感觉没啥思路就放弃了,场下想了十几分钟发现是水题,血亏...(只能怪自己计数水平 ...
- (转)博弈问题与SG函数
博弈问题 若你想仔细学习博弈论,我强烈推荐加利福尼亚大学的Thomas S. Ferguson教授精心撰写并免费提供的这份教材,它使我受益太多.(如果你的英文水平不足以阅读它,我只能说,恐怕你还没到需 ...
最新文章
- NLP模型压缩六大方法介绍
- jquery $(document).ready() 与window.onload的区别
- 指定的文件不是虚拟磁盘 没有快照_vmware workstaiton 15 虚拟机克隆(4)
- openfire php注册,openfire php 初始配置
- 经典排序算法(Java版)
- zTree加Layui 实现增加和删除,有子节点不允许删除
- C++之指针探究(五):数组指针和二维数组
- Linux 局域网路由新手指南:第 2 部分
- c++ 拷贝构造函数 讲解
- UVALive 7077 Little Zu Chongzhi's Triangles (有序序列和三角形的关系)
- myeclipse优化方案 myeclipse 10 优化
- Atitit osi tcp ip 对应attilax总结
- 软件测试和初级会计哪个简单,2018年初级会计app刷题哪个好?
- Java程序员年薪40W是什么水平?税前还是税后?
- SECS/GSM 测试工具
- xyz坐标转换ybc_GNSS仰角和方位角的计算及代码,XYZ转BLH坐标的代码及原理
- 如何在水经注微图中加载地形地貌图进行道路设计
- mysql .ibd_MySQL单表ibd文件恢复方法详解
- 学习linux的第一天知识总结
- TL-R473P-AC【搭配面板式AP组网设置方法】