Kevinrzy103874的博客

Kevinrzy103874的博客

动态线条
动态线条end
code: {

专注于分享信息学竞赛技巧、知识点、模拟赛及一些题目题解,又有着当码农的乐趣,有时还会写写比赛游记等等。

模拟赛SXJ202508030900题目

包包的牛奶调配

问题描述

农业,尤其是生产牛奶,是一个竞争激烈的行业。包包发现如果他不在牛奶生产工艺上有所创新,他的乳制品生意可能就会受到重创!

幸运的是,包包想出了一个好主意。他的三头获奖的乳牛,小强、小美和小帅,各自产奶的口味有些许不同,他打算混合这三种牛奶调制出完美的口味。

为了混合这三种不同的牛奶,他拿来三个桶,其中分别装有三头奶牛所产的奶。这些桶可能有不同的容积,也可能并没有完全装满。然后他将桶 \(1\) 的牛奶倒入桶 \(2\),然后将桶 \(2\)的牛奶倒入桶\(3\),然后将桶\(3\)中的牛奶倒入桶\(1\),然后再将桶\(1\)的牛奶倒入桶\(2\),如此周期性地操作,共计进行\(100\)次(所以第\(100\)次操作会是桶\(1\)倒入桶 \(2\))。当包包将桶\(a\)中的牛奶倒入桶\(b\) 时,他会倒出尽可能多的牛奶,直到桶\(a\) 被倒空或是桶\(b\)被倒满。

请告诉包包当他倒了\(100\)次之后每个桶里将会有多少牛奶。

输入格式

  • 第一行输入包括\(2\)个数,分别表示第一个桶的容积\(c_1\),以及第一个桶里的牛奶量\(m_1\)
  • 第二行输入包括\(2\)个数,分别表示第二个桶的容积\(c_2\),以及第二个桶里的牛奶量\(m_2\)
  • 第三行输入包括\(2\)个数,分别表示第三个桶的容积\(c_3\),以及第三个桶里的牛奶量\(m_3\)

所有输入数值均为正,并且不超过\(10^9\)

输出格式

  • 输出三行,给出倒了\(100\)次之后每个桶里的牛奶量。

样例数据

样例输入&1

10 3
11 4
12 5

样例输出&1

0
10
2

样例解释&1

在这个例子中,每倒一次之后每个桶里的牛奶量如下:

  1. 初始状态:3 4 5
  2. \(1->2\)0 7 5
  3. \(2->3\)0 0 12
  4. \(3->1\)10 0 2
  5. \(1->2\)0 10 2
  6. \(2->3\)0 0 12

(之后最后三个状态循环出现……)

数据范围与约束

  • \(1≤c_i,m_i≤10^9\)\(i=1,2,3\)

包包的猜测游戏

问题描述

小强和包包厌倦了他们的猜数字游戏,决定玩一个"猜动物"的新游戏。

游戏开始时,小强会想好一种动物(通常是牛,但偶尔也会想其他动物)。包包通过提问来猜测这个动物,每个问题询问该动物是否具有某个特定特征,小强回答"是"或"不是"。

如果将所有符合当前回答特征的动物集合称为"可行集",包包会持续提问直到可行集只剩一种动物。对于每个问题,包包会选择某个特征提问(即使不能缩小范围),且不会重复询问同一特征。

给定所有动物及其特征,求包包在猜出正确答案前可能得到的"是"回答的最大数量。

输入格式

  • 第一行输入\(1\)个数\(N\),表示动物数量
  • 接下来\(N\)行,每行描述一种动物:
    • 首先输入动物名称(不超过\(20\)个小写字母)
    • 接着输入\(1\)个数\(K\)表示特征数量
    • 最后输入\(K\)个特征(每个不超过\(20\)个小写字母)

输出格式

  • 输出\(1\)行,表示可能得到的"是"回答的最大数量。

样例数据

样例输入&1

4
bird 2 flies eatsworms
cow 4 eatsgrass isawesome makesmilk goesmoo
sheep 1 eatsgrass
goat 2 makesmilk eatsgrass

样例输出&1

3

样例解释&1

包包:“这种动物是能飞的吗?”

小强:“不是。”

包包:“这种动物是eatsgrass的吗?”

小强:“是。”

包包:“这种动物是能makesmilk的吗?”

小强:“是。”

包包:“这种动物是会goesmoo的吗?”

小强:“是。”

包包:“这样的话我想这种动物是cow。”

小强:“猜对了!”

对于样例一:如上段的对话,包包可能在对话中获得\(3\)个“是”的回答,并且不可能进行包含超过\(3\)个“是”的回答的对话。

数据范围与约束

  • \(2≤N≤100\)
  • \(1≤K≤100\)
  • 所有字符串长度不超过\(20\)个字符
  • 保证没有两种动物具有完全相同的特征组合

包包的邀请赛

问题描述

包包要举办一场编程竞赛,他需要邀请一些学生参加。在学生们的学习小组中,存在若干个学习团队。对于每个学习团队,如果包包已经邀请了其中\(k−1\)名学生,那么最后剩下的那名也必须被邀请。已知$1号学生已经被邀请,请计算包包最少需要邀请多少名学生。

输入格式

  • 第一行输入\(2\)个数,分别表示学生总数\(N\)和学习团队数量\(G\)
  • 接下来\(G\)行,每行先输入\(1\)个数\(k\) 表示该团队的人数,随后输入\(k\)个数表示该团队包含的学生编号。

输出格式

  • 输出\(1\)行,表示最少需要邀请的学生数量。

样例数据

样例输入&1

10 4
2 1 3
2 3 4
6 1 2 3 4 6 7
4 4 3 2 1

样例输出&1

4

样例解释&1

初始邀请\(1\)号学生。

  • 由第一个团队\([1,3]\):已邀请\(1\),则必须邀请\(3\)
  • 由第二个团队\([3,4]\):已邀请\(3\),则必须邀请\(4\)
  • 由第四个团队\([4,3,2,1]\):已邀请\(1,3,4\)\(3\)个),而团队大小为\(4\)(即\(k=4\)),所以当已邀请\(3\)(即\(k-1\))个时,剩下的\(2\)必须被邀请。

因此,总共邀请了学生\(1,2,3,4\),共\(4\)人。

注意:第三个团队\([1,2,3,4,6,7]\)在邀请过程中没有被触发,因为始终没有达到\(5\)个被邀请。

数据范围与约束

  • \(1≤N≤10^6\)
  • 所有学习团队的人数之和\(M\)满足\(1≤M≤2.5×10^5\)
  • 保证输入数据合法,且\(1\)号学生初始已被邀请

包包的假期兼职

问题描述

包包暑假期间想通过做包子兼职来赚零花钱。现在有\(N\)个包子订单,第 ii 个订单如果接受的话,需要在\(A_i\)天后才能收到\(B_i\)元的报酬。

包包每天最多只能接一个订单,而且每个订单只能接一次。

请帮包包计算,从现在开始到\(M\)天后(包括第\(M\)天)最多能赚到多少钱。

注意:包包可以从今天就开始接订单哦!

输入格式

  • 输入给出订单信息:
    • 第一行包含两个数\(N\)\(M\) ,表示订单数量和天数限制
    • 接下来\(N\)行,每行由两个数,分别表示该订单完成后赚钱所需的时间以及能赚多少钱。

输出格式

  • 输出包包最多能赚到的钱数。

样例数据

样例输入&1

3 4
4 3
4 1
2 2

样例输出&1

5

样例解释&1

最优接单方案:

  1. 今天接第\(1\)个订单(\(4\)天后获得\(3\)元)
  2. 明天接第\(3\)个订单(\(2\)天后获得\(2\)元) 总共可以获得\(3+2=5\)

样例输入&2

1 1
2 1

样例输出&2

0

样例解释&2

因为订单需要\(2\)天才能完成,但总共只有\(1\)天时间,所以赚不到钱。

样例输入&3

5 3
1 2
1 3
1 4
2 1
2 3

样例输出&3

10

数据范围与约束

  • \(1≤N≤10^5\)
  • \(1≤M≤10^5\)
  • \(1≤A_i≤10^5\)
  • \(1≤B_i≤10^4\)

包包的品尝计划

问题描述

\(N\)个排成一排的包子铺,编号从\(1\)\(N\)。包包想从第\(1\)家包子铺开始品尝包子,最终到达第\(N\)家包子铺。

包包有一个特殊的品尝规则:给定\(K\)个互不重叠的区间\([L_1,R_1],[L_2,R_], ..., [L_K,R_K]\),它们的并集记为\(S\)。当包包在第\(i\) 家包子铺时,他可以选择\(S\) 中的任意一个整数\(d\),然后直接跳到第\(i+d\)家包子铺品尝(但不能跳过第\(N\) 家)。

请你计算包包从第\(1\)家包子铺到达第\(N\)家包子铺的所有可能路线数量,结果对\(998244353\)取模。

输入格式

  • 第一行输入\(2\)个整数\(N\)\(K\)
  • 接下来\(K\)行,每行输入\(2\)个整数\(L_i\)\(R_i\),表示一个区间

输出格式

  • 输出包包到达第\(N\)家包子铺的方案数,对\(998244353\)取模。

样例数据

样例输入&1

5 2
1 1
3 4

样例输出&1

4

样例解释&1

  1. 可选的跳跃距离\(S={1,3,4}\),有以下\(4\) 种路线:
    1. \(1→2→3→4→5\)
    2. \(1→2→5\)
    3. \(1→4→5\)
    4. \(1→5\)

样例输入&2

5 2
3 3
5 5

样例输出&2

0

样例解释&2

\(S={3,5}\),无法从第\(1\)家跳到第\(5\)家。

样例输入&3

5 1
1 2

样例输出&3

5

样例输入&4

60 3
5 8
1 3
10 15

样例输出&4

221823067

数据范围与约束

  • \(2≤N≤2×10^5\)
  • \(1≤K≤min⁡(N,10)\)
  • \(1≤Li≤Ri≤N\)
  • 所有区间互不重叠
  • 输入均为整数

包包的数数游戏

问题描述

包包最近在学习数数游戏。现在他想知道在\(1\)\(N\)的所有整数中(包括\(N\)),有多少个数字恰好包含\(K\)个非零的数字?

比如数字"\(100\)"有\(1\)个非零数字(\(1\)),"\(25\)"有\(2\)个非零数字(\(2\)\(5\))。

输入格式

  • 第一行输入\(2\)个整数\(N\)\(K\)
  • 接下来\(K\)行,每行输入\(2\)个整数\(L_i\)\(R_i\),表示一个区间

输出格式

  • 第一行包含两个整数\(N\)\(K\) ,表示目标数\(N\)以及限制数\(K\)

样例数据

样例输入&1

100
1

样例输出&1

19

样例输入&2

25
2

样例输出&2

14

样例输入&3

314159
2

样例输出&3

937

样例输入&4

9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
3

样例输出&4

117879300

数据范围与约束

  • \(1≤N<10^{100}\)
  • \(1≤K≤3\)
posted @ 2025-08-13 21:30  Kevinrzy103874  阅读(5)  评论(0)    收藏  举报