-
个人简介
😕 啊啊啊!!!!
die马
/* 函数 */ //c++11 to_string(num) //数字转string stoi(string) //string转int stoll(string) //string转long long
好东西
B站
优秀删除(better)
【题目描述】
小 W 有两个只有小写字母的字符串 A 和 B,他想删除 A 中的若干个字符,使得 A 变成由数个 B 拼接而成的字符串,问在满足前面要求的前提下。最后剩下的字符串 A 最长可以是多少?
【输入格式】
从标准输入读入数据。
第一行输入一个字符串 A
第二行输入一个字符串 B
【输出格式】
输出到标准输出。
最后剩下的 A 最长的长度
【样例 1 输入】
1 aabbaacaaa
2 aa
【样例 1 输出】
1 6
【样例 1 解释】
小 W 可以删除所有的字符 b, c 以及最后一个字符 a,最后 A = ”aaaaaa”,由三个B 拼接而成,长度为 6
【样例 2】
见题目目录下的 2.in 与 2.ans。
【子任务】
对于 30% 的数据,1 ≤ |B| ≤ |A| ≤ 20
对于 50% 的数据,1 ≤ |B| ≤ |A| ≤ 1000
对于 80% 的数据,1 ≤ |B| ≤ |A|, |B| ≤ 1000, |A| ≤ 10^5
对于 100% 的数据,1 ≤ |B| ≤ |A| ≤ 10^6
三重选择(three)
【题目描述】
小 D 有三个整数数组:A, B, C,他们的长度都是 n
小 D 想知道,对于一个三元组 (i, j, k) 而言 (1 ≤ i, j, k ≤ n),最小的 |Ai − Bj | +|Ai − Ck| + |Bj − Ck| 是多少(也就是 A, B, C 三个数组分别选择一个数,求他们两两之间的差值和的最小值)。
【输入格式】
从标准输入读入数据。
第一行包含一个正整数 n,为 A, B, C 的长度。
第二行包含 n 个整数,其中第 i 个整数为 Ai。
第三行包含 n 个整数,其中第 i 个整数为 Bi。
第四行包含 n 个整数,其中第 i 个整数为 Ci。
【输出格式】
输出到标准输出。
删除 |Ai − Bj | + |Ai − Ck| + |Bj − Ck| 的最小值
【样例 1 输入】
1 4
2 1 3 5 7
3 2 10 ‐5 ‐100
4 50 1000 3 ‐6
【样例 1 输出】
1 2
【样例 1 解释】
一种可行的选法:(2, 1, 3)。此时为 |3 − 2| + |2 − 3| + |3 − 3| = 2。可以证明此时为最优解
【样例 2】
见题目目录下的 2.in 与 2.ans。
【子任务】
对于 60% 的数据,1 ≤ n ≤ 100
对于 100% 的数据,1 ≤ n ≤ 3000, |Ai, Bi, Ci| ≤ 10^8
狗国杀(kill)
【题目背景】
可能有的同学曾经听说过大模拟题——猪国杀,这道题目与它类似,但是会简化不少。
【题目描述】
在这个游戏中,有 n 名玩家玩家,其按照按照顺序从 1 开始依次编号。
同时,这个游戏存在以下四种身份:
• .狗 .主(1 .号 .身 .份):具有 6 点最大生命值,当狗主被击败时,游戏立即结束,当反狗与内狗全部被击败时,获得胜利。
• .忠 .狗(2 .号 .身 .份):具有 4 点最大生命值,与狗主是队友,并共享胜利条件。
• .反 .狗(3 .号 .身 .份):具有 4 点最大生命值,当狗主被击败时,若有除了内狗以外其 他玩家存活,所有反狗获得胜利。
• .内 .狗(4 .号 .身 .份):具有 5 点最大生命值,当狗主被击败时,若只剩下内狗,所有内狗获得胜利。
游戏规则
• 游戏开始时,所有玩家会获得身份,其中 1 号玩家会获得狗主的身份(且只有它会获得这个身份),其他角色获得其他身份。然后所有角色依次获得 4 张牌。
• 玩家会按照顺序依次进行回合,先 1 号玩家进行回合,再 2 号玩家 . . .,最后 1号玩家,再从 1 号玩家从头开始回合。
• 每个回合,玩家若没有被击败,则进行三个阶段
– 摸牌阶段:从摸牌堆顶部摸两张牌
– 出牌阶段:此时可以使用牌:无中生有,桃,杀。
– 弃牌阶段:将手牌丢弃到和自身当前生命值一致。
– 无论如何,玩家失去的牌都会按照顺序放入弃牌堆最上方。
• 玩家获得的牌有以下四种:
– 闪/1:若对方对自己使用了杀,使用这张牌,并使得杀无效。
– 杀/2:每回合限用一次。选择一名其他玩家使用,若对方不使用闪,则对该玩家造成一点伤害。
– 桃/3:血量不等于最大生命值时才可以使用。回复一点生命值。当其他玩家进入求桃时,可以对其使用,并让他回复一点生命值。
– 无中生有/4:摸两张牌。
• 当有玩家生命值小于等于 0 时,其会向其他玩家(包括自己)求桃,若没有角色使用桃,则该玩家被击败。
• 当抽牌堆所有牌抽完时再抽牌,由于抽牌堆没有牌了,会先将当前弃牌堆上的牌全部移动到抽牌堆,然后继续抽牌。
• 当玩家被击败时,其身上的所有手牌会按照无中生有,桃,闪,杀的顺序全部进入弃牌堆。
我们认为所有玩家具有这样的策略:
• 所有玩家按照以下顺序使用牌:无中生有,杀,桃。 • 所有反狗会优先攻击狗主。
• 所有忠狗和狗主都会按照顺序依次攻击反狗,当反狗全部被击败时,会按照顺序依次攻击内狗。
• 所有内狗都会按照顺序依次攻击忠狗,当忠狗全部被击败时,会按照顺序依次攻击反狗,当反狗全部被击败时,会攻击狗主。
• 狗主,反狗和内狗会直接使用桃,忠狗在手牌大于生命值时才会使用桃。
• 所有玩家都会在其他队友在求桃时使用桃,多个玩家有桃时,编号低的优先给,特别的,当狗主需要桃且狗主与忠狗都没有桃时,内狗会使用桃。
• 弃牌时,优先保留桃,其次保留闪,最后保留杀。
现在,小 G 知道了一个牌局,他想要知道这样的情况下,是哪一方获得胜利。
当然,也可能会出现无论如何都结束不了的情况,我们认为,当抽牌堆所有牌抽完时出现了超过 10 次,或者抽牌时无牌可以抽取时,就是平局。
【输入格式】
从标准输入读入数据。
第一行输入两个正整数数,为玩家数量 n 和牌堆数量 m
第二行输入 m 个数,其中第 i 个数为牌堆顶开始数第 i 张的卡的种类(闪为数字1,杀为数字 2,桃为数字 3,无中生有为数字 4)。
第三行开始一共有 n 行,每行有 5 个数字,对于第 i 行来说,第 1 个数字是玩家的身份,后面 4 个数字是玩家的手牌的种类(闪为数字 1,杀为数字 2,桃为数字 3,无中生有为数字 4)。
【输出格式】
输出到标准输出。
• 如果是忠狗和狗主赢,输出 1
• 如果是反狗赢,输出 2
• 如果是内狗赢,输出 3
• 如果平局,输出-1
【样例 1 输入】
1 2 5
2 2 2 2 2 2
3 1 1 2 2 3
4 3 1 2 2 3 【样例 1 输出】
1 ‐1
【样例 1 解释】
前 6 回合情况:
第 1 回合,玩家 1 抽两张牌,对玩家 2 使用杀,玩家 2 使用闪
第 2 回合,玩家 2 抽两张牌,对玩家 1 使用杀,玩家 1 使用闪
双方剩余手牌:
玩家 1:{2,2,2,3}
玩家 2:{2,2,2,3}
弃牌堆:{1,2,1,2}
第 3 回合,玩家 1 抽两张牌,其中抽第二张牌时将弃牌堆移动到抽牌堆,抽牌堆为{1,2,1,2},因此玩家 1 抽到的牌为 {2,1},然后对玩家 2 使用杀,玩家 2 失去 1 点生命值
第 4 回合,玩家 2 抽两张牌,对玩家 1 使用杀,玩家 1 使用闪,然后玩家 3 使用桃回复一点生命值。
双方剩余手牌:
玩家 1:{2,2,2,3}
玩家 2:{1,2,2,2}
弃牌堆:{3,1,2,2}
第 5 回合,玩家玩家 1 抽两张牌,其中抽第二张牌时将弃牌堆移动到抽牌堆,抽牌堆为 {3,1,2,2},因此玩家 1 抽到的牌为 {2,3},然后对玩家 2 使用杀,玩家 2 使用闪。
第六回合,玩家 2 抽两张牌,对玩家 1 使用杀,玩家 1 失去 1 点生命值。
双方剩余手牌:
玩家 1:{2,2,2,3,3}
玩家 2:{1,2,2,2}
弃牌堆:{2,1,2}
实际上这一局不会结束,所以输出-1
【样例 2 输入】
1 4 20
2 1 1 1 1 1
3 2 2 2 2 2
4 2 2 2 2 2
5 2 2 2 2 2
6 1 4 1 1 3
7 2 2 2 2 2
8 3 2 2 2 2
9 4 2 2 2 2
【样例 2 输出】
1 1
【样例 2 解释】
对于弃牌情况的解释:
玩家 1 第一回合使用了一张无中生有, 需要弃牌,不会弃桃,弃了一张闪。
【样例 3】
见题目目录下的 3.in 与 3.ans。
【子任务】
对于 100% 的数据,2 ≤ n ≤ 100, m ≤ 1000
数据点 特殊情况
1, 2, 3 E, F
4, 5, 6 A
7, 8, 9 B, C
10, 11, 12 C, D, E
13, 14, 15 C, D
16 20 无
特殊情况 A:牌堆和初始手牌没有杀
特殊情况 B:牌堆和初始手牌没有闪
特殊情况 C:牌堆和初始手牌没有桃
特殊情况 D:牌堆和初始手牌没有无中生有
特殊情况 E:所有玩家中,没有内狗
特殊情况 F:所有玩家中,没有忠狗 -
最近活动
- 8.25普及组补题场 IOI
- csp-j 第二次普及组模拟赛-补题 作业
- 24年8月21日 普及组模拟赛DAY1-补题 作业
- 2024年8月16日CSP-J初赛模拟赛-补题 作业
- 历年CSP初赛真题 作业
- 2024年8月16日CSP-J初赛模拟赛 OI
- 2024.8.9普及集训第七天(追光班) IOI
- 2024.8.7~8.8普及集训第五/六天(追光班) IOI
- 2024.8.6普及集训第四天(追光班) IOI
- 2024.8.5普及集训第三天(追光班) IOI
- 2024.8.4普及集训第二天(追光班) IOI
- 2024年8月2日 初赛练习(6)【普及组】 OI
- 2024年7月26日 初赛练习(5)【普及组】 OI
- 2024年7月12日 初赛练习(3)【提高组】 OI
- 2024年7月12日 初赛练习(3)【普及组】 OI
- 2024年7月5日 初赛练习(2)【普及组】 OI
- 2024.7.9 初赛练习 2【小学组】补题场 作业
- 2024年6月28日 初赛练习(1)【普及组】 OI
- 2024 六月 图灵初赛月赛 - 普及组 作业
- 2024年6⽉第三场周赛-普及组 IOI
- 2024年6月第二场周赛 普及组-补题 作业
- 2024年6⽉第二场周赛-普及组 IOI
- 2024年6月第一场周赛 普及组-补题 作业
- 2024年6⽉第一场周赛-普及组 IOI
- 2024图灵5月月赛 - 普及组 作业
- 2024 图灵五月月赛 - 普及组 ACM/ICPC
- 2024年5⽉第三场周赛补题-普及组 作业
- 2024年5⽉第三场周赛-普及组 IOI
- 2024.5.9周赛补题-普及组 作业
- 2024年5⽉第二场周赛-普及组 IOI
- 2024.5.12 市北区市赛前集中提高训练 - 小学组 OI
- 2024图灵4月月赛 - 普及组 作业
- 2024 图灵4月月赛 - 普及组 OI
- 2024.5月 第一周周赛 - 普及组 作业
- 2024.5月 第一场 周赛 - 普及组 IOI
- 2024 4月 第三场周赛 - 普及\提高组 IOI
- 2024.4 月 第二场周赛 补题场 - 普及、提高 作业
- 2024年4月第二周周赛 - 普及\提高组 IOI
- 2022-2023年市北区区赛历年真题 - 小学组 IOI
- 2022-2023年市北区区赛历年真题 - 初中组 IOI
- 2024.4.8 普及、提高组 四月第一周周赛 作业
- 2024 4月 第一场周赛 - 普及、提高组 IOI
- 2024.3.31 图灵三月月赛 - 普及组 补题场 作业
- 图灵三月月赛 - 普及组 赛题 ACM/ICPC
- 2024.3.25 周赛 补题 - 普及、提高组 作业
- 2024年3⽉第三场周赛-入门/提高 IOI
- 2024.3.18 周赛补题-普及/提高 作业
- 2024年3⽉第二场周赛-入门/提高 IOI
- 2024.3.11 周赛补题-入门/提高组 作业
- 2024年3⽉第⼀场周赛-入门/提高 IOI
-
Stat
-
Rating