【动态规划】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 ...
随机推荐
- HDU 1422 重温世界杯 (dp)
题目链接 Problem Description 世界杯结束了,意大利人连本带利的收回了法国人6年前欠他们的债,捧起了大力神杯,成就了4星意大利. 世界杯虽然结束了,但是这界世界杯给我们还是留下许多值 ...
- JS对象操作
一.String常用操作 1.截取 substr(start,length) //返回从指定位置开始的指定长度的字符串. substring(start,end) //返回两个指定的位置之间的字符串. ...
- Exploring Qualcomm's TrustZone Implementation
转自 http://bits-please.blogspot.com/2015/08 (需要FQ, 狗日的墙) In this blog post, we'll be exploring Qua ...
- 打印 pmic register value
打印 PMIC register value 方式有二種, 一種是使用 adb shell cat pmic register 一種是直接在 code 裡 call dump pmic registe ...
- auth src
https://github.com/jbeverly/pam_ssh_agent_auth https://github.com/aur-archive/pam-face-authenticatio ...
- 2017多校第7场 HDU 6128 Inverse of sum 推公式或者二次剩余
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6128 题意:给你n个数,问你有多少对i,j,满足i<j,并且1/(ai+aj)=1/ai+1/a ...
- 【总结】IE和Firefox的Javascript兼容性总结
长久以来JavaScript兼容性一直是Web开发者的一个主要问题.在正式规范.事实标准以及各种实现之间的存在的差异让许多开发者日夜煎熬.为此,主要从以下几方面差异总结IE和Firefox的Javas ...
- POJ-3268
Silver Cow Party Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 13738 Accepted: 6195 ...
- 我是如何向老婆解释MapReduce的?
转载自:<我是如何向老婆解释MapReduce的?> 昨天,我在Xebia印度办公室发表了一个关于MapReduce的演说.演说进行得很顺利,听众们都能够理解MapReduce的概念(根据 ...
- Elasticsearch( 插件开发)
elasticsearch5.2.2 插件开发(一) Scripting plugins:这个插件本质来说,就是会调用用户的脚本,所以可以执行任何的程序,举例的话,可以通过这个插件,支持javascr ...