Codeforces Round #406 (Div. 1) A. Berzerk 记忆化搜索

VLOOKUP_fixed.py 立即下载

参考:https://www.cnblogs.com/qscqesze/p/6628793.html
A. Berzerk
题目连接:

http://codeforces.com/contest/786/problem/A
Description

Rick and Morty are playing their own version of Berzerk (which has nothing in common with the famous Berzerk game). This game needs a huge space, so they play it with a computer.

In this game there are n objects numbered from 1 to n arranged in a circle (in clockwise order). Object number 1 is a black hole and the others are planets. There’s a monster in one of the planet. Rick and Morty don’t know on which one yet, only that he’s not initially in the black hole, but Unity will inform them before the game starts. But for now, they want to be prepared for every possible scenario.

Each one of them has a set of numbers between 1 and n - 1 (inclusive). Rick’s set is s1 with k1 elements and Morty’s is s2 with k2 elements. One of them goes first and the player changes alternatively. In each player’s turn, he should choose an arbitrary number like x from his set and the monster will move to his x-th next object from its current position (clockwise). If after his move the monster gets to the black hole he wins.

Your task is that for each of monster’s initial positions and who plays first determine if the starter wins, loses, or the game will stuck in an infinite loop. In case when player can lose or make game infinity, it more profitable to choose infinity game.
Input

The first line of input contains a single integer n (2 ≤ n ≤ 7000) — number of objects in game.

The second line contains integer k1 followed by k1 distinct integers s1, 1, s1, 2, …, s1, k1 — Rick’s set.

The third line contains integer k2 followed by k2 distinct integers s2, 1, s2, 2, …, s2, k2 — Morty’s set

1 ≤ ki ≤ n - 1 and 1 ≤ si, 1, si, 2, …, si, ki ≤ n - 1 for 1 ≤ i ≤ 2.
Output

In the first line print n - 1 words separated by spaces where i-th word is “Win” (without quotations) if in the scenario that Rick plays first and monster is initially in object number i + 1 he wins, “Lose” if he loses and “Loop” if the game will never end.

Similarly, in the second line print n - 1 words separated by spaces where i-th word is “Win” (without quotations) if in the scenario that Morty plays first and monster is initially in object number i + 1 he wins, “Lose” if he loses and “Loop” if the game will never end.
Sample Input

5
2 3 2
3 1 2 3
Sample Output

Lose Win Win Loop
Loop Win Win Win
Hint
题意

有两个人在一个环上玩游戏,由n个格子组成的环,其中0环是洞。

现在A,B两个人各自拥有K[i]个选项,第i个选项是让怪兽顺时针走s[i]步。

两个人轮流让怪兽走,谁让怪兽走进洞里面谁就胜利。

现在问你考虑所有情况,胜利的结果是什么。
题解:

记忆化搜索。

倒着来。dp[i][j]表示现在i先手位置在j的胜负情况。

显然如果转移到dp[i][j]的状态全是对手胜利的话,那么dp[i][j]就是失败。

如果转移到dp[i][j]的状态存在对手失败,那么dp[i][j]就是胜利。

其他都是无限循环。

#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define N 8010
string ans[3]={"Lose","Loop","Win"};
int n;
vector<int>Move[2];
int Flag[2][N];
int cnt[2][N];
void dfs(int x,int y,int val){
    Flag[x][y]=val;
    if(val==-1){
        for(int i=0;i<Move[!x].size();++i){
            if(!Flag[!x][(y+n-Move[!x][i])%n])
                dfs(!x,(y+n-Move[!x][i])%n,1);
        }
    }
    else{
        for(int i=0;i<Move[!x].size();++i){
            if(Flag[!x][(y+n-Move[!x][i])%n])continue;
            if(cnt[!x][(y+n-Move[!x][i])%n]<Move[!x].size()){
                cnt[!x][(y+n-Move[!x][i])%n]++;
            }
            if(cnt[!x][(y+n-Move[!x][i])%n]==Move[!x].size()){
                dfs(!x,(y+n-Move[!x][i])%n,-1);
            }
        }
    }
}
int main(){
    //freopen("in.txt","r",stdin);
    scanf("%d",&n);
    for(int tp=0;tp<2;++tp){
        int k;
        scanf("%d",&k);
        for(int i=0;i<k;++i){
            int tmp;
            scanf("%d",&tmp);
            Move[tp].push_back(tmp);
        }
    }
    Flag[1][0]=-1;
    dfs(0,0,-1);
    dfs(1,0,-1);
    for(int tp=0;tp<2;++tp){
        for(int i=1;i<n;++i){
            cout<<ans[Flag[tp][i]+1]<<' ';
        }puts("");
    }
}
YOLO26算法心电图十二导联目标检测+训练好的模型+368张数据集+pyqt可视化界面.zip 附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[导联I(I), 导联II(II), 导联III(III), 胸导联V1(V1), 胸导联V2(V2), 胸导联V3(V3), 胸导联V4(V4), 胸导联V5(V5), 胸导联V6(V6), 加压肢体导联aVF(aVF), 加压肢体导联aVL(aVL), 加压肢体导联aVR(aVR)] · 训练集:313 张 · 验证集:37 张 · 测试集:18 张 · 总计:368 张 该数据集聚焦于临床心电图信号的精准识别与定位,其核心检测目标为标准12导联心电图中的各个独立导联波形区域,涵盖肢体导联(I、II、III)与加压肢体导联(aVR、aVL、aVF),以及胸前导联(V1至V6),适用于心电图自动分析系统中对各导联位置的快速准确标注与分类。数据采集场景真实还原了医院心电图室或急诊监护环境下的标准心电图记录纸,波形清晰、基线稳定,具有高度临床参考价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 57 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9708** mAP50-95 | 0.6344 Precision | 0.8990 Recall | 0.9191 train/box_loss | 1.2231 train/cls_loss | 0.9703 val/box_loss | 1.2779 val/cls_loss | 0.... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。 立即下载

相关推荐

企业级AI助手平台 开箱即用的全栈AI平台,支持多智能体协同、Supervisor模式编排、多种决策模式、RAG技术和流程编排能力 支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化

企业级AI应用开发框架,支持多厂商大模型统一接入与管理,安全可控的企业知识库与高精度检索优化能力,提供可视化流程编排、自主决策智能体与多智能体协同调度,兼容主流 Agent Skill 协议,帮助企业与开发者零门槛快速构建安全、高效、可落地的AI智能体应用与行业解决方案。

Berzerk CodeForces - 787C (BFS)题解

Berzerk CodeForces - 787C (BFS)题解

Sega_hsj 's Blog 1758

基于动态窗口法DWA的机器人路径规划研究(Matlab代码实现)

内容概要:本文系统研究了基于动态窗口法(DWA)的机器人局部路径规划算法,深入剖析其在动态环境中实现自主避障与实时轨迹优化的核心机制。文章详细阐述了DWA算法的速度空间采样策略、轨迹预测模型、动力学约束处理及多目标代价函数的设计原理,并通过构建完整的Matlab仿真框架验证算法有效性。结合典型场景的仿真实验,展示了机器人在复杂障碍物环境下如何实时生成安全、平滑且符合运动学约束的最优路径,充分体现了DWA在移动机器人导航中的实用性与鲁棒性。; 适合人群:具备机器人运动规划基础知识和Matlab编程能力,从事智能移动机器人、自动驾驶或服务机器人研发的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解DWA算法的理论基础与实现细节;②掌握机器人局部路径规划的仿真实现方法;③为实际机器人系统的导航模块开发提供可复用的算法原型与代码参考;④作为进一步研究高级导航算法(如TEB、MPC)的技术基础。; 阅读建议:建议结合提供的Matlab代码逐模块分析与调试,重点关注速度采样、轨迹积分、障碍物距离计算及代价评估等关键环节,通过调整参数在不同地图环境中进行对比实验,以深刻把握算法性能与参数之间的关系,进而提升对实时路径规划系统设计的理解与应用能力。

【CodeForces】CodeForces Round #406 (Div. 1) 题解

【比赛链接】 点击打开连接 【题解链接】 点击打开链接 **【A】**Berzerk 【思路要点】 博弈搜索,将状态按先后手拆点,建出游戏图。 若一个点存在出边指向必败态,则该点为必胜态。 若一个点所有出边指向必胜态,则该点为必败态。 不满足上述两点的点为平局态。 用一个类似拓扑排序的过程实现即可。 时间复杂度 O(N2)O(N^2)O(N2) 。 【代码】 #inclu...

cz_xuyixuan的博客 443

【轴承故障诊断】用于轴承故障诊断的集中时频分析研究(Matlab代码实现)

内容概要:本文系统研究了用于轴承故障诊断的集中时频分析技术,重点解决了传统时频分析方法在处理非平稳信号时存在的能量分散与分辨率不足等问题。通过引入集中时频分析方法,能够有效聚焦信号能量,精确提取轴承故障特征频率,提升故障识别的准确性与时效性。文章详细阐述了该方法的理论基础,并结合仿真信号与实际实验数据验证其优越性能,同时提供了完整的Matlab代码实现流程,涵盖信号预处理、时频变换、参数优化及结果可视化等环节,便于读者复现与拓展应用。; 适合人群:具备一定信号处理理论基础和Matlab编程能力的研究生、科研人员,以及从事机械设备状态监测、故障诊断与预测性维护工作的工程技术人员。; 使用场景及目标:①应用于电机、风机、齿轮箱等旋转机械的早期轴承故障检测,实现故障预警;②提升工业设备运维系统的智能化水平,支撑预测性维护体系构建;③作为高校或研究机构在信号处理、机械故障诊断等课程中的教学案例与实践素材。; 阅读建议:建议读者结合文中提供的Matlab代码逐段运行与调试,深入理解集中时频分布的生成机制及其关键参数(如核函数选择、平滑窗口大小)对诊断效果的影响,并尝试将其应用于其他类型的机械故障信号分析中,开展对比研究以深化对该方法适用性的认识。

从像素到光影:解析《黑神话:悟空》中Nanite与Lumen的协同渲染革命

本文深度解析了《黑神话:悟空》如何利用Unreal Engine 5的Nanite与Lumen技术实现渲染革命。Nanite处理亿级多边形几何细节,无需传统LOD优化;Lumen提供全动态全局光照,实现实时光线反弹。两者协同工作,为游戏带来电影级视觉体验,重塑了实时渲染的技术标准与工作流程。

f6g7h8i9j的博客 425

Codeforces Round #406 (Div. 1)

B题打错调了半天,C题想出来来不及打,还好没有挂题 AC:AB Rank:96 Rating:2125+66->2191 A.Berzerk 题目大意:有一个东东在长度为n的环上(环上点编号0~n-1),两个玩家,玩家1有a种操作可选,玩家2有b种操作可选,每种操作可以让这个东东向前走若干步,两个玩家轮流操作,谁先让东东走到0谁胜,求出双方都选最优操作的情况下,东东开始在1~n-...

weixin_30675967的博客 153

数据库:关系运算整理大全(包括关系代数、元组关系演算、域关系演算)

数据库关系运算: 1. 关系代数(基本关系代数、附加关系代数、扩展关系代数) 2. 元组关系演算 3. 域关系演算

ysji's blog 1万+

Codeforces Round #406 (Div. 2):C. Berzerk(记忆化搜索解决博弈问题)

C. Berzerk time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Rick and Morty are playing their own version of

加载中... 1582

VIVADO网表文件DCP和EDF

为了便于模块化设计,同时保护自己的知识产权,Xilinx VIVADO 提供两种代码封装方法:DCP文件和edf文件。

u014035968的博客 1万+

用ESP32-S3打造迷你录音笔:SPIFFS存储+INMP441麦克风全流程解析

本文详细解析了如何使用ESP32-S3微控制器与INMP441数字麦克风构建迷你录音笔。内容涵盖硬件选型、I2S驱动配置、SPIFFS文件系统存储管理以及WAV格式封装等全流程,重点探讨了在资源受限的嵌入式设备上实现高质量语音采集与存储的优化方案和实战技巧。

qq_27496129的博客 1366

Codeforces Round #406 C. Berzerk(搜索)

Rick and Morty are playing their own version of Berzerk (which has nothing in common with the famous Berzerk game). This game needs a huge space, so they play it with a computer.In this game there are

DorMOUSENone的博客 743

【已解决】如何在服务器中下载huggingface模型,解决huggingface无法连接

在服务器上使用huggingface模型时,如果直接指定模型名称,用AutoTokenizer.from_pretrained(“model_name”),可能会由于网络原因会报错 Failed to connect to huggingface.co port 443 after 75018 ms: Operation time out因此我们需要下载模型到服务器上,得到模型本地的路径model_dir,再通过AutoTokenizer.from_pretrained(model_dir)方式来使用。

a61022706的博客 4万+

Codeforces Round #406 (Div. 1) A. Berzerk(博弈论)

#include <iostream> #include <stdio.h> #include <string.h> #include <stack> #include <queue> #include <map> #include <set> #include <vector> #include <math.h> #include <bitset>

我们仍未知道那天所看见的花的名字。 350

保姆级教程:手把手教你用CANoe/CANalyzer读取汽车故障码(UDS 0x19服务实战)

本文提供了一份详细的CANoe/CANalyzer使用教程,指导如何通过UDS 0x19服务读取汽车故障码。从硬件配置到报文构建,再到故障码解析,手把手教你完成汽车诊断全流程,特别适合汽车电子工程师和诊断开发人员。

weixin_42524945的博客 257

Star CCM+中的物性参数(定值、多项式、查表)

仿真过程中我们一定会遇到设置物性参数的问题,对于固定的物性参数还好说,直接输入一个固定的值即可。但是对于冷却液、气体、两相流等,物性参数是随着温度或温度和压力变化的。此时就涉及到多项式和查表。首先创建物理连续体,选择计算模型。

2201_75375391的博客 2957

【Codeforces Round #406 (Div. 2)】题解

The Monster 签到题,算一下b+=a和d+=c,然后卡一下次数就可以了。 Not Afraid 只要一组出现一对相反数就是安全的。 Berzerk 题意:【1,n】,两个人轮流走,谁能走到1谁就赢,求每个人先手在【2,n】时的胜负情况。 一直没怎么写过博弈论的题,但其实这种题也只是一个bfs。 必胜态:有一条边走到必败态 必败态:连出去的所有边都是必胜态。 ...

weixin_34006965的博客 192

西门子S7-1200/1500 PLC编程与应用技巧

西门子S7-1200 PLC是一款紧凑型的控制器,适用于小型到中型的自动化控制任务。紧凑设计:集成了I/O模块,减少了控制柜的空间需求。高性能:高达25µs的扫描时间,能够快速响应。模块化扩展:支持扩展输入输出模块、通信模块和智能模块,满足不同的应用需求。多种编程语言:支持Ladder图(梯形图)、功能块图(FBD)、结构化文本(ST)等多种编程语言。西门子S7-1200与S7-1500 PLC是强大且灵活的工业控制系统,适用于各种自动化应用。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 2670

Codeforces Round #406 (Div. 2) C 有向图博弈,dp

C. Berzerk 题意:n个星球围成一个圏,第一个星球是黑洞,有一个怪物在第2~n个星球上的任意一个。两个人分别有两个数集S1、S2,两人轮流从数集中选一个数 m,让怪物走 m 步。走到第一个星球则败,问怪物在第2~n个星球上时,先手胜负。 tags: 跑bfs,倒着来推。 (1)初始时,假设现在走到了第一个星球,为必败态,则往前推一步可以直接确定为必胜态。 (2)然后可以继续递推下去。...

weixin_30251587的博客 158

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Codeforces Round #406 (Div. 2) C. Berzerk(有向图博弈)

C. Berzerk time limit per test4 seconds memory limit per test256 megabytes inputstandard input outputstandard output Rick and Morty are playing their own version of Berzerk (which has nothing in c

妍恐龙的博客....^~^眼熟我 719

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Codeforces Round #406 (Div. 2) C. Berzerk[博弈论][bfs]

传送门:http://codeforces.com/contest/787/problem/C 题意:一个长度为n的环,两个人公平游戏,先走到0点胜利,询问每个人从每个点开始的结果。 题解:利用一个人的必败态推另一个人的必胜态,用一个人的必胜态减少另一个人胜利的方案数。用bfs,反向往回推结果,from组代表这个点的不确定结果来源于几个点,如果到最后都没访问过,则为循环点,q队列中存的...

weixin_34249678的博客 149

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【动态规划】Codeforces Round #406 (Div. 2) C.Berzerk

有向图博弈问题。 能转移到一个必败态的就是必胜态。 能转移到的全是必胜态的就是必败态。 转移的时候可以用队列维护。 可以看这个http://www.cnblogs.com/quintessence/p/6618640.html #include<cstdio> #include<queue> using namespace std; struct No...

weixin_34336526的博客 104

Codeforces Round #216 (Div. 2) C. Valera and Elections (树形dp)

C. Valera and Elections time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output The city Valera lives in is going to

To be what you what to be! 1670
上一篇: Codeforces 676D Theseus and labyrinth 模拟+bfs
下一篇: Codeforces Round #448 (Div. 2) C. Square Subsets
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值