【动态规划】Codeforces Round #406 (Div. 2) C.Berzerk
有向图博弈问题。
能转移到一个必败态的就是必胜态。
能转移到的全是必胜态的就是必败态。
转移的时候可以用队列维护。
可以看这个 http://www.cnblogs.com/quintessence/p/6618640.html
#include<cstdio>
#include<queue>
using namespace std;
struct Node{
int who,pos;
};
queue<Node>q;
int n,len[2],to[2][7010],f[2][7010],cant[2][7010];
int main(){
scanf("%d",&n);
for(int i=0;i<2;++i){
scanf("%d",&len[i]);
for(int j=1;j<=len[i];++j){
scanf("%d",&to[i][j]);
}
}
f[0][0]=f[1][0]=2;
q.push((Node){0,0});
q.push((Node){1,0});
while(!q.empty()){
Node U=q.front(); q.pop();
if(f[U.who][U.pos]==2){
for(int i=1;i<=len[U.who^1];++i){
if(f[U.who^1][(U.pos-to[U.who^1][i]+n)%n]==0){
f[U.who^1][(U.pos-to[U.who^1][i]+n)%n]=1;
q.push((Node){U.who^1,(U.pos-to[U.who^1][i]+n)%n});
}
}
}
else{
for(int i=1;i<=len[U.who^1];++i){
if(f[U.who^1][(U.pos-to[U.who^1][i]+n)%n]==0){
++cant[U.who^1][(U.pos-to[U.who^1][i]+n)%n];
if(cant[U.who^1][(U.pos-to[U.who^1][i]+n)%n]==len[U.who^1]){
f[U.who^1][(U.pos-to[U.who^1][i]+n)%n]=2;
q.push((Node){U.who^1,(U.pos-to[U.who^1][i]+n)%n});
}
}
}
}
}
for(int i=0;i<2;++i){
for(int j=1;j<n;++j){
if(f[i][j]==0){
printf("Loop ");
}
else if(f[i][j]==1){
printf("Win ");
}
else{
printf("Lose ");
}
}
puts("");
}
return 0;
}
【动态规划】Codeforces Round #406 (Div. 2) C.Berzerk的更多相关文章
- Codeforces Round #406 (Div. 1) A. Berzerk 记忆化搜索
A. Berzerk 题目连接: http://codeforces.com/contest/786/problem/A Description Rick and Morty are playing ...
- Codeforces Round #406 (Div. 1)
B题打错调了半天,C题想出来来不及打,还好没有挂题 AC:AB Rank:96 Rating:2125+66->2191 A.Berzerk 题目大意:有一个东东在长度为n的环上(环上点编号0~ ...
- Codeforces Round #406 (Div. 1) B. Legacy 线段树建图跑最短路
B. Legacy 题目连接: http://codeforces.com/contest/786/problem/B Description Rick and his co-workers have ...
- 维护前面的position+主席树 Codeforces Round #406 (Div. 2) E
http://codeforces.com/contest/787/problem/E 题目大意:给你n块,每个块都有一个颜色,定义一个k,表示在区间[l,r]中最多有k中不同的颜色.另k=1,2,3 ...
- 区间->点,点->区间,线段树优化建图+dijstra Codeforces Round #406 (Div. 2) D
http://codeforces.com/contest/787/problem/D 题目大意:有n个点,三种有向边,这三种有向边一共加在一起有m个,然后起点是s,问,从s到所有点的最短路是多少? ...
- 有向图博弈+出度的结合 Codeforces Round #406 (Div. 2) C
http://codeforces.com/contest/787/problem/C 题目大意:有一个长度为n的环,第1个位置是黑洞,其他都是星球.已知在星球上(不含第一个黑洞)有一位神.有两个人, ...
- 【Codeforces Round #406 (Div. 2)】题解
The Monster 签到题,算一下b+=a和d+=c,然后卡一下次数就可以了. Not Afraid 只要一组出现一对相反数就是安全的. Berzerk 题意:[1,n],两个人轮流走,谁能走到1 ...
- 【转】Codeforces Round #406 (Div. 1) B. Legacy 线段树建图&&最短路
B. Legacy 题目连接: http://codeforces.com/contest/786/problem/B Description Rick and his co-workers have ...
- Codeforces #Round 406(Div.2)
来自FallDream的博客,未经允许,请勿转载,谢谢. ------------------------------------------------------- 大家好,我是一个假人.在学习O ...
随机推荐
- ARM中断向量表与响应流程【转】
转自:http://blog.csdn.net/honour2sword/article/details/40213417 一首先中断向量表定义在哪里?如何加载? 二 中断向量表与中断服务程序 三处理 ...
- git subtree:无缝管理通用子项目
移动互联网的爆发以及响应式页面的尴尬症,开发web和mobile项目成为了标配,当然实际情况下,会有更多的项目. 多项目开发对于前端来说是个很大的挑战✦ 重复,重复的前端架构,重复的前端依赖,重复的工 ...
- android datepicker timepicker简单用法
1.效果图 2. xml布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...
- grep常见操作整理(更新)
提取邮箱和URL [root@test88 ~]# cat url_email.txt root@gmail.com,http://blog.peter.com,peter@qq.com [root@ ...
- LCA上的RMQ模板算法
How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- WebDriver自动化测试工具(2)---基本操作
一.设置打开的浏览器大小/位置 driver.Manage().Window.Maximize(); //最大化 driver.Manage().Window.Position = , ); //设置 ...
- ngx_lua_waf完整安装说明
测试环境:centos5.6 x32,nginx1.4.4,LuaJIT-2.0.3,ngx_devel_kit-0.2.19.lua-nginx-module-0.9.11,ngx_lua_waf ...
- HDU 4348.To the moon SPOJ - TTM To the moon -可持久化线段树(带修改在线区间更新(增减)、区间求和、查询历史版本、回退到历史版本、延时标记不下放(空间优化))
To the moon Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- 链式前向星实现的堆优化dij求最短路模板
#include<cstdio> #include<string> #include<cstdlib> #include<cmath> #include ...
- Python3 文件基本修改替换
现有原文件: Somehow, it seems the love I knew was always the most destructive kind 不知为何,我经历的爱情总是最具毁灭性的的那种 ...