模拟题

2024-10-18

P1026

P1054

2024-10-17

题目背景

在商店中,每一种商品都有一个价格(用整数表示)。例如,一朵花的价格是 22 ,而一个花瓶的价格是 55 。为了吸引更多的顾客,商店举行了促销活动。

题目描述

促销活动把一个或多个商品组合起来降价销售,例如:

三朵花的价格是 55 而不是 6622 个花瓶和一朵花的价格是 1010 而不是 1212 。 请编写一个程序,计算顾客购买一定商品的花费,尽量地利用优惠使花费最少。尽管有时候添加其他商品可以获得更少的花费,但是你不能这么做。

对于上面的商品信息,购买三朵花和两个花瓶的最少花费的方案是:以优惠价购买两个花瓶和一朵花(1010),以原价购买两朵花(44)。

输入格式

输入文件包括一些商店提供的优惠信息,接着是购物清单。(最多有 55 种商品)

第一行 优惠方案的种类数(0s990\leq s\leq99)。

22\sims+1s+1 行 每一行都用几个整数来表示一种优惠方式。第一个整数 nnn5\leq n\leq5),表示这种优惠方式由 nn 种商品组成。后面 nn 对整数 cckk 表示 kk1k51\leq k\leq5)个编号为 cc1c9991\leq c\leq999)的商品共同构成这种优惠,最后的整数 pp 表示这种优惠的优惠价(1p9,9991\leq p\leq9,999)。优惠价总是比原价低。

s+2s+2 行 这一行有一个整数 bb0b50\leq b\leq5),表示需要购买 bb 种不同的商品。

s+3s+3\sims+b+2s+b+2 行 这 bb 行中的每一行包括三个整数:c,k,pc,k,pcc 表示唯一的商品编号(1c9991\leq c\leq999),kk 表示需要购买的 cc 商品的数量(1k51\leq k\leq5)。pp 表示 cc 商品的原价(1p9991\leq p\leq999)。最多购买 5×5=255\times5=25 个商品。

输出格式

只有一行,输出一个整数:购买这些物品的最低价格。

样例 #1

样例输入 #1

1
2
3
4
5
6
2
1 7 3 5
2 7 1 8 2 10
2
7 3 2
8 2 5

样例输出 #1

1
14

提示

题目翻译来自NOCOW。

USACO Training Section 3.3

2024-10-16

题目描述

老师想从 nn 名学生中选 mm 人当学霸,但有 kk 对人实力相当,如果实力相当的人中,一部分被选上,另一部分没有,同学们就会抗议。所以老师想请你帮他求出他该选多少学霸,才能既不让同学们抗议,又与原来的 mm 尽可能接近。

输入格式

第一行,三个正整数 n,m,kn,m,k

接下来 kk 行,每行 22 个数,表示一对实力相当的人的编号(编号为 1,2,n1,2,\cdots n)。

输出格式

共一行,表示既不让同学们抗议,又与原来的 mm 尽可能接近的选出学霸的数目。

如果有两种方案与 mm 的差的绝对值相等,选较小的一种。

样例 #1

样例输入 #1

1
2
3
4 3 2
1 2
3 4

样例输出 #1

1
2

提示

对于 100%100\% 的数据,满足 1n,m2×1041 \le n,m \le 2 \times 10^4

2024-10-15

题目

rnd函数如下:

1
2
3
4
inline int rnd () {
static const int MOD = 1e9;
return Seed = ( 1LL * Seed * 0x66CCFF % MOD + 20120712 ) % MOD;
}

样例 #1

样例输入 #1

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

样例输出 #1

1
27

样例 #2

样例输入 #2

1
2
10 30630 56910 2 0
7484 99194 86969 17540 29184 68691 91892 81564 93999 74280

样例输出 #2

1
717318

样例 #3

样例输入 #3

1
2
10000000 899999999 923456655 213111 1
1314520

样例输出 #3

1
9231813656566921

2024-10-12

题目



样例 #1

样例输入 #1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
13 21 1 1
1000 6000
7
1 2
3 7
2 4
5 8
8 9
2 5
3 4
4 7
9 10
10 11
5 9
7 12
3 6
4 5
1 3
11 12
6 7
8 11
6 13
7 8
12 13

样例输入 #1

1
11000