首页 > 其他分享 >CSP-J模拟赛day6——试题

CSP-J模拟赛day6——试题

时间:2024-10-18 16:20:01浏览次数:3  
标签:10 指示牌 试题 day6 sum 房间 青团 楼梯 CSP

全人杯奖金

Description

万人瞩目的第一届“全人杯”思维挑战赛正在紧锣密鼓的进行中,比赛的类别包括数学、物理和信息。为了激励同学们踊跃参与,比赛设置了一系列的奖项。对于每个学科,分别设置了一、二、三等奖以及鼓励奖和参与奖。其中,一等奖预设x名,奖金a元,二等奖预设y名,奖金b元,三等奖预设z名,奖金c元,对于未获得一、二、三等奖但是得分在m(m>0)分及以上的学生均为鼓励奖(数据保证有学生会获得鼓励奖),奖金d元,对于剩余未获奖的学生,只要得分不为0分均可以获得参与奖(数据不保证一定有学生获得参与奖),奖金e元。

(获奖规则纯属杜撰,与现实无关)

当比赛结果出来后,组织者需要把奖金预算上报给学校,你以为这很简单吗?并不是,因为每年都会存在成绩相同的并且都可以领奖学金的同学,这部分学生的存在让奖学金的最终数量变得不确定了起来。比如一等奖有三名同学,有两名同学都并列第三名,由于这两名同学分数相同,学校肯定不能区别对待,所以这两名学生都会获得一等奖,同样二等奖、三等奖也是如此,当然一名同学最多只能获得一种奖学金。

现在计算机老师已经统计出每位同学信息挑战赛的成绩a​i​,现需要计算出学校一共需要发放多少奖学金。

Format

Input

输入共四行:
第一行一个正整数n表示参加信息挑战赛学生人数;
第二行n个整数表示每位学生的信息挑战赛成绩;
第三行四个正整数x,y,z,m分别表示一、二、三等奖预设名额以及鼓励奖分数线。
第四行五个正整数a,b,c,d,e分别表示一、二、三等奖、鼓励奖、参与奖奖学金金额。

Output

所有学生获得的奖学金总数。

Samples

输入数据 1

12
0 2 3 3 4 5 7 7 7 8 9 9
1 2 2 2
300 200 100 50 20

输出数据 1

1750

样例解释

一等奖预设1名,每人奖金300,但是有两位,共600元;

二等奖预设2名,每人奖金200,但是有4位,共800元;

三等奖预设2名,每人奖金100,有2位,共200元;

鼓励奖分数线2分,每人奖金50,满足要求学生3位,共150元

参与奖无学生获得。

总共奖金共计1750。

Limitation

对于100%的数据,4<=x+y+z<n<=100000,0<=e<=d<=c<=b<=a<=1000, 0<=m,a​i​<=200000。

寻宝

Description

传说很遥远的藏宝楼顶层藏着诱人的宝藏。小明历尽千辛万苦终于找到传说中的这个藏宝楼,藏宝楼的门口竖着一个木板,上面写有几个大字:寻宝说明书。说明书的内容如下:

藏宝楼共有N+1层,最上面一层是顶层,顶层有一个房间里面藏着宝藏。除了顶层外,藏宝楼另有N层,每层M个房间,这M个房间围成一圈并按逆时针方向依次编号为0,…,M−1。其中一些房间有通往上一层的楼梯,每层楼的楼梯设计可能不同。每个房间里有一个指示牌,指示牌上有一个数字x,表示从这个房间开始按逆时针方向选择第x个有楼梯的房间(假定该房间的编号为k),从该房间上楼,上楼后到达上一层的k号房间。比如当前房间的指示牌上写着2,则按逆时针方向开始尝试,找到第2个有楼梯的房间,从该房间上楼。如果当前房间本身就有楼梯通向上层,该房间作为第一个有楼梯的房间。

寻宝说明书的最后用红色大号字体写着:“寻宝须知:帮助你找到每层上楼房间的指示牌上的数字(即每层第一个进入的房间内指示牌上的数字)总和为打开宝箱的密钥”。

请帮助小明算出这个打开宝箱的密钥。

Format

Input

输入文件名为 treasure.in。

第一行2个整数N和M,之间用一个空格隔开。N表示除了顶层外藏宝楼共N层楼,M表示除顶层外每层楼有M个房间。

接下来N×M行,每行两个整数,之间用一个空格隔开,每行描述一个房间内的情况,其中第(i−1)×M+j行表示第i层j−1号房间的情况(i=1,…,N;j=1,…,M)。第一个整数表示该房间是否有楼梯通往上一层(0表示没有,1表示有),第二个整数表示指示牌上的数字。注意,从j号房间的楼梯爬到上一层到达的房间一定也是j号房间。

最后一行,一个整数,表示小明从藏宝楼底层的几号房间进入开始寻宝(注:房间编号从0开始)。

Output

输出文件名为 treasure.out。

一个整数,表示打开宝箱的密钥,这个数可能会很大,请输出对20123取模的结果即可。

Samples

输入数据 1

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

输出数据 1

5

样例解释

从一楼1号房间进入藏宝楼,1号房间(0,3)表示该房间无楼梯,逆时针找到第3个有楼梯的房间上楼,指示牌数字为3。

从一楼的2号房间进入2楼2号房间,2楼2号房间(1,2)表示该房间有楼梯,逆时针找到第2个有楼梯的房间上楼,指示牌数字为2。

最终从2楼1号房间进入顶楼,指示牌数字之和为3+2=5。

Limitation

对于50%的数据,有0<N<=1000,0<x<=10000;

对于100%的数据,有0<N<=10000,0<M<=100,0<x<=1000000。

卖青团的小姑凉

Description

清明节快到了,为了满足广大群众对青团的需求,清兰购置了一台青团生产机器,把材料放入机器,青团机器可以一次性高效的生产出多个青团,但是这个机器有一个bug,不同批次生产出的青团大小是不同的,同一批次连续生产的青团会越来越大,准确的,同一批次第i个青团比第i-1个青团大1,考虑到成本问题,青团的价格也会增加1。由于每天的顾客数量很多,购买的青团数量不少,机器生产出的青团价格也不相同,所以清兰总是搞不清楚一大堆青团的价格如何。

清兰找到了你,希望你告诉她每次售出青团时,青团的总价格。

对于大小为c的青团,它的售价为c。同时,青团生产机器有个特性,那就是生产出来的青团的大小依次增加1。为了存储已经生产出来的青团,清兰使用了一种类似于栈的结构,在一天的开始,这个栈为空栈。现在有n次操作,分为两种:

1 l r:青团生产机器生产出一批青团,大小依次为l,l+1…r-1,r。清兰将这些团子依次入栈,也就是在栈顶依次加入l,l+1…r-1,r。

2 k:有一位客人想要购买k个青团,此时清兰会依次从栈顶取出k个青团并售出,保证k不大于当前栈内的青团个数,此时清兰想知道售出这k个青团的总价格。

你要做的就是对于每个操作2输出这些青团的总价格。

Format

Input

输入文件名为sale.in。

第一行包含一个正整数 n,表示操作的次数。

接下来 n 行,每行描述一种操作,第一个整数op表示询问的种类,若为1接下来有两个正整数l,r,含义如题面所示,为2接下来有一个整数k,含义如题面所示。

Output

输出文件名为sale.out。

输出若干行,对于每次操作2,输出这些团子的售价之和。

Samples

输入数据 1

6
1 1 14
2 5
1 14 19
1 1 9
2 8
2 10

输出数据 1

60
44
124

样例解释

操作1后,栈内有青团1,2…14;

操作2,卖出10…14一共5个青团,总售价为60;

操作3后,栈内有青团1…9,14…19;

操作4后,栈内有青团1…9,14…19,1…9;

操作5,卖出2…9一共8个青团,总售价44;

操作6后,卖出7…9,14…19,1一共10个青团,总售价124。

Limitation

对于 100% 的数据,1≤n≤2e5, 0≤l≤r≤1e6, 1≤k≤1e10。

求和

Description

有一个长为n的序列a​1,a​2…a​n。

现定义sum(l,r)为al​,a​l+1,…a​r-1,ar这些数去重后的和。

你需要求出
∑ l = 1 n ∑ r = 1 n s u m ( l , r ) \sum_{l=1}^n\sum_{r=1}^n sum(l,r) l=1∑n​r=1∑n​sum(l,r)

结果可能很大,需要对10​^9​+7取模。

Format

Input

输入文件名为sum.in。

第一行一个正整数n表示序列长度。

第二行n个正整数表示这个序列。

Output

输出文件名为 sum.out。

输出一行一个正整数表示答案。

Samples

输入数据 1

4
1 1 4 5

输出数据 1

51

样例解释

sum(1,1)=1,sum(1,2)=1,sum(1,3)=5,sum(1,4)=10

sum(2,2)=1,sum(2,3)=5,sum(2,4)=10

sum(3,3)=4,sum(3,4)=9

sum(4,4)=5。

因此答案为 1+1+5+10+1+5+10+4+9+5=51。

Limitation

对于100%的数据,1<n<=5e5,1<=ai<=1e9。

标签:10,指示牌,试题,day6,sum,房间,青团,楼梯,CSP
From: https://blog.csdn.net/CylMK/article/details/142961261

相关文章

  • 解析“60k”大佬的19道C#面试题(上)
    解析“60k”大佬的19道C#面试题(上) 解析“60k”大佬的19道C#面试题(上)先略看题目:请简述async函数的编译方式请简述Task状态机的实现和工作机制请简述await的作用和原理,并说明和GetResult()有什么区别Task和Thread有区别吗?如果有请简述区别简述yield的作用利用IEnumerab......
  • 2024 CSP-J/S2 模板复习计划
    2024CSP-J/S2模板复习计划(Starton2024-10-18)说明原来这个计划是2023CSP-J/S2模板复习,现在被拿来当模板集。Day1我的记录@zhenghanyun的记录任务已完成SPFA(不带负环)已完成Floyd已完成Dijkstra已完成拓扑排序已完成单调栈已......
  • 力扣面试题02.07.链表相交
    题目链接:面试题02.07.链表相交-力扣(LeetCode)给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果......
  • [10.17]CSP模拟赛
    本场比赛中小L的std挂了样例,所以他需要唱歌~俗话说暴力要打满,但是暴力把数据范围打多了就一点不好了。赛前发现可以提前看题,但是昏昏欲睡的我决定先去睡觉。赛时睡醒了,开题。看到T1,一眼发现一种病毒要不把它所在的矩形全部删除,要不就不用管,所以很自然地想到预处理出每......
  • 图论day64 :最短路径算法 | SPFA(Bellman_ford的队列优化版)、城市间货物运输 I、Ⅱ、Ⅲ
    图论day64:最短路径算法|SPFA(Bellman_ford的队列优化版)、94.城市间货物运输I(卡码网)【SPFA算法+邻接表优化】、95.城市间货物运输II(判断负权回路)、96.城市间货物运输III【已知有负权回路,该如何计算】、Bellman_ford算法思维导图汇总SPFA(Bellman_ford的队列优化版)94......
  • CSP2024 前集训:多校A层冲刺NOIP2024模拟赛08
    前言光顾着想T2了,但是不知道哪儿假了,只有\(\dfrac{n}{k}\le5\)的点是对的,然后居然只有二十分,发现数据放错了,找喵喵改了成五十了。然后T1因为重边挂没了。T3没调出来,确切的说是省的时间不多了打不完,就写了个部分分。T4咕了。机房凳子没靠椅,一直坐着腰快折了肿么办。......
  • CSP 模拟 49
    A传送(teleport)暴力连边一定不行,寻找最优的连边。先说下我的连法,手玩一下发现,如果对横坐标排序,点\(u\)只连下一个横坐标中与它纵坐标最近的即可,这样对于下一个横坐标的点,\(u\)的连法都是最优的,纵坐标同理。题解连法也一样,考虑本质就是在一维上走,所以两维排序后都连一下就......
  • 信息学奥赛复赛复习18-CSP-J2022-01解密-二分答案、二分找边界、二分时间复杂度、二分
    PDF文档公众号回复关键字:202410171P8814[CSP-J2022]解密[题目描述]给定一个正整数k,有k次询问,每次给定三个正整数ni,ei,di,求两个正整数pi,qi,使ni=pi×qi、ei×di=(pi−1)(qi−1)+1[输入格式]第一行一个正整数k,表示有k次询问。接下来k行,第i行三个正整数......
  • 「闲话」CSP 集训记萌(二)
    10.17模拟赛相关模拟赛喜欢捏,之前只有过认为自己做法是正解结果不是的经历,这次T1、T2都认为自己做法不是正解结果却是。省流:T1Dij中的dis数组没赋极大值,不然A了,T2最经典放球问题推错式子,不然A了,应该都不算挂分,因为我是宋词开场Ratio:T1纯Dij板子啊,尝试一下7:30......
  • Java数据结构二叉树面试题精华(画图详解)
    前言:    针对二叉树,因为涉及到递归,需要跟多的练习强化递归的思想,其中也包括需要画图理解一些想不通的问题来提升自己!    一下面这些题为例,一起来提升自己的逻辑思维能力!(可能其中一些题已经写过,但是希望能再写一遍有助于提高代码能力)相同的树:      ......