【动态规划】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 ...
随机推荐
- javascript执行上下文学习一
原文: http://web.jobbole.com/84044/ http://blog.csdn.net/github_34514750/article/details/52901781 1.三种 ...
- hdu 2795 Billboard(线段树+单点更新)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795 Billboard Time Limit: 20000/8000 MS (Java/Others ...
- hasOwnProperty()方法与in操作符
1.hasOwnProperty() 该方法检测属性存在于实例,还是存在于原型,对于存在于实例中的属性则返回true 2.in 使用该操作符时只要通过对象能够访问到的属性都会返回true
- HTTP和HTTPS详解。
一,HTTP和HTTPS基本概念 深入学习某个东西时,我们先来从维基百科上看看它俩的概念. HTTP:超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一 ...
- 安全测试===sqlmap(贰)转载
十二.列举数据 这些参数用于列举出数据库管理系统信息.数据结构和数据内容. 1.一键列举全部数据 参数:--all 使用这一个参数就能列举所有可访问的数据.但不推荐使用,因为这会发送大量请求,把有用和 ...
- python基础===pendulum '''Python datetimes made easy.'''
https://pypi.python.org/pypi/pendulum Pendulum的一大优势是内嵌式取代Python的datetime类,可以轻易地将它整合进已有代码,并且只在需要的时候才进 ...
- HDU 5129 Yong Zheng's Death
题目链接:HDU-5129 题目大意为给一堆字符串,问由任意两个字符串的前缀子串(注意断句)能组成多少种不同的字符串. 思路是先用总方案数减去重复的方案数. 考虑对于一个字符串S,如图,假设S1,S2 ...
- [hadoop][会装]HBase集群安装--基于hadoop ha模式
可以参考部署HBase系统(分布式部署) 和基于无HA模式的hadoop下部署相比,主要是修改hbase-site .xml文件,修改如下参数即可: <property> <name ...
- Eclipse+Pydev+numpy+scipy+matplotlib
之前一直在linux环境下使用python,作为一枚小菜还是更喜欢windows.我使用python主要是进行科学计算,安装软件.搭建环境遇到了非常多的问题,特此总结. 一.python安装 版本:2 ...
- php设计模式六----桥接模式
1.简介 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化.这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦. 这种模式涉及到一个作为桥接 ...