J - 屠龙勇者ErvinXie

2023-10-24 21:32
文章标签 勇者 ervinxie 屠龙

本文主要是介绍J - 屠龙勇者ErvinXie,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接

已知这个世界中一共有 k 种炼金材料,分别使用 1, 2, 3…k 编号。
炼金法阵的布置方法是将相应炼金材料按直线摆放就能成功布置。法阵一共需要 s 个炼金材料, 法阵
的布置方法通过 a1, a2, a3 · · · as 给出,其中 ai 代表的是炼金材料种类。可能存在不同位置需要摆放相同
种类炼金材料的情况。那么这种材料就需要收集多个。
季蒜脊河的长度为 len, 从源头开始直到末尾,每米存在的炼金材料为 b1, b2, b3 · · · blen。bi 是炼金材
料的种类。
问 ErvinXie 至少需要经过多少个炼金材料(包含收集的)才能去屠龙拯救公主。当然,如果 ErvinXie
注定收集不全材料,他仍然会去拯救公主,和公主在一起… 即使是以恶龙的身份。
例如:季蒜脊河 5 米长,材料为 [1, 2, 1, 3, 2], 法阵的布置方法为 [1, 2, 3, 2],那么 ErvinXie 可以直接
传送到河里的第 2 个位置,往后收集材料,最终按照顺序收集了 [2, 1, 3, 2] 材料后,能够完成法阵,此时
传送去恶龙谷拯救公主。经过了 4 个炼金材料.
PS:不会吧不会吧,你不会认为 ErvinXie 会按收集顺序摆放法阵吧?ErvinXie 只是懒,不是蠢。他
当然知道材料收集够了,摆放可以自己按顺序摆。

尺取法:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <string>
#include <cstring>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <unordered_map>
#define ll long long
using namespace std;
const int N = 2e6+10;
unordered_map<int,int>mp;
int num[5005],vis[5005];int main() {int k,s,a[N],len,b[N];scanf("%d",&k);scanf("%d",&s);int cnt=0;for(int i=1; i<=s; i++){scanf("%d",&a[i]);if(num[a[i]]==0)cnt++;num[a[i]]++;}scanf("%d",&len);for(int i=1; i<=len; i++)scanf("%d",&b[i]);int l,r;l = r = 1;int sum=0,ans = N;while(true){while(r<=len&&sum<cnt){vis[b[r]]++;if(vis[b[r]]==num[b[r]])sum++;r++;}if(sum<cnt)break;ans = min(ans,r-l);vis[b[l]]--;if(num[b[l]]>vis[b[l]])sum--;l++;}if(ans==N)printf("DragonXie\n");elseprintf("%d\n",ans);return 0;
}

这篇关于J - 屠龙勇者ErvinXie的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/277904

相关文章

万龙觉醒辅助:屠龙攻略大全!VMOS云手机带你组团抓龙!

在《万龙觉醒》中,使用VMOS云手机能够为玩家提供专属定制版的云手机,不仅内置游戏安装包,还无需重新下载安装游戏。这一切都让玩家的游戏体验更加便捷和高效。VMOS云手机能够辅助游戏的自动化运行,支持24小时云端运行,同时还能无限多开,让玩家在多个账号之间无缝切换。此外,VMOS云手机支持安卓、iOS、PC、网页端多端互通,即使是低配手机,也能够畅玩《万龙觉醒》中的各大场景,享受极致的游戏体

做算法是屠龙,做工程是狩猎,做数据是养猪!

近来一段时间,能明显感到,想入行 AI 的人越来越多,而且增幅越来越大。 缘起 为什么这么多人想入行 AI 呢?真的是对计算机科学研究或者扩展人类智能抱着无限的热忱吗?说白了,大多数人是为了高薪。 人们为了获得更高的回报而做出选择、努力工作,原本这是个非常正当的事情,但是关键在于:如何找对路径。 想要入行,总得知道这个行业里面都有什么样的岗位,分别是干什么的吧。 本文中,我们将从直观

Godot 4 教程《勇者传说》依赖注入 学习笔记(1):相机使用

文章目录 相关地址扩大场景添加相机相机拖动相机平滑相机限制不进行限制进行限制左边轴移动,得到坐标填入坐标限制平滑 相关地址 十分钟制作横版动作游戏|Godot 4 教程《勇者传说》#0 人物素材 环境素材 Gclove2000/GodotNet_LegendOfPaladin 扩大场景 为了实现相机的跟随,我们首先要先扩大场景

nyoj1103勇者斗恶龙

勇者斗恶龙 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 2 描述 在你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头)。村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉一个直 径不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次)。

勇者斗恶龙(uva11292)

勇者斗恶龙(The Dragon of Loowater, UVa 11292) 你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头)。村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次)。 【输入格式】 输入包含多组数据。每组

【excrt】屠龙勇士(luogu 4774)

正题 luogu 4774 题目大意 有n条龙,第i条血量为 a i a_i ai​,回血量为 b i b_i bi​,杀死后掉落伤害为 D i D_i Di​的刀,初始有若干刀 杀第i条龙要用现有伤害比 a i a_i ai​小的刀中伤害最大的(如果没有就用伤害最小的),对第i条龙造成x次伤害后,龙会连续回血,每次回 b i b_i bi​,若某一时刻龙的血量为0,那么该龙死亡 现

重生奇迹MU游戏中勇者大陆

玩重生奇迹MU,我们进入游戏首先会来到勇者大陆。在看到勇者大陆市场,有很多交易的玩家也在这里,在勇者市场里面有商店。接下来介绍主要的NPC 的作用和怪物有那些? 勇者大陆卖药的商店老板莉雅 商店里面会有卖治疗药水,有红和蓝,还有血灵之书 和血灵之骷,恶魔之眼,恶魔之钥。回城卷等。 勇者大陆仓库使者塞弗特 左边有仓库使者塞弗特里面可以放玩家需要存储的装备和物品。出来后会看到市场的传送师,

《孤勇者》等热门歌曲伴奏--源代码

目录  使用方法 《起风了》歌词伴奏 《起风了》歌词 《生日歌》歌词伴奏 《生日歌》歌词  《童话》歌词伴奏 《童话》歌词 《光阴的故事》歌词伴奏 《光阴的故事》歌词 ​《千本樱》歌词伴奏 《千本樱》中文歌词 《平凡之路》歌词伴奏 《平凡之路》歌词 《孤勇者》歌词伴奏 《孤勇者》歌词 《海阔天空》歌词伴奏 《海阔天空》歌词   使用方法 Visual S

P4774 [NOI2018] 屠龙勇士

#1024程序员节征文活动 [NOI2018] 屠龙勇士 搬题面: [NOI2018] 屠龙勇士 题目描述 小 D 最近在网上发现了一款小游戏。游戏的规则如下: 游戏的目标是按照编号 1 → n 1 \rightarrow n 1→n 顺序杀掉 n n n 条巨龙,每条巨龙拥有一个初始的生命值 a i a_i ai​ 。同时每条巨龙拥有恢复能力,当其使用恢复能力时,它的生命值

重生奇迹mu“荣誉之城”勇者大陆

曾经,不少重生奇迹mu玩家讨论最经典的新人出生地,有的说是仙踪林,有的则是说勇者大陆,最后在重生奇迹mu网站上面,以投票的方式最终得出一个答案,那就是勇者大陆,游戏里面当之无愧的荣誉之城,最经典的新手出生地,同时也是最符合重生奇迹mu里面的骑士精神! 勇者大陆其实只是一片大陆,但玩家心目中的勇者大陆一般是指位于这块大陆中央的那处城堡,那座城堡通体漆黑,以钢铁来浇铸,城堡四面有护城河环绕,仅有三面