题目背景

“在中学的信息学教育领域,洛谷无疑是一个相当受欢迎的辅助网站。同时有百余所学校正在通过洛谷进行信息学竞赛(以后简称OI)的教育。洛谷之所以如此受欢迎,是因为洛谷创新的将OI教育的几乎每一个环节都搬到了线上,无论是学校的竞赛教练还是学生,均可以仅仅使用这一个网站来进行练习,提升自己的能力。”

——摘自《厦门中小学教育科学研究》,2015年2月号。

题目描述

XX中学的两位信息组的教练正在为学校信息组是否应当将洛谷作为主要的训练工具而争论不休,最后决定采取一个量化的办法来决定是否迁移。

该中学的原来训练方法是,在机房的教师机里面用cena装载好测试数据,装载数据所需要Ta时间,每一道题目都要装载。学生写好代码后,可以跑到教师机上收取程序并进行评测。但由于需要往返的路程,因此每跑一次就要浪费Tb时间。所以也允许学生在自己的机子上装载好测试数据,可以根据自己的需要选择装载的题目,这需要花费和在教师机装载数据一样的时间Ta,但是每次评测花费的时间就减少为Tc。此外,该中学可能会用excel记录各位同学的训练情况,如果某位同学的某道题的得分高于表格里的记录,那就会花费Td时间将这个成绩更新,否则就不必费那个事了,如果之前没有提交过这道题视为表格记录的程序为0分。

而在洛谷中,只需要将题目和测试数据上传到洛谷,花费Ta时间。每次评测学生只需花费Tc时间即可。记录成绩?那是洛谷的事儿,一提交完就帮你整理好了表格根本不费时间。

看起来可以省下不少时间吧。。然而,支持传统训练方法的教练认为,洛谷并非100%的稳定,在有的情况会无法提供服务,因此首先要将洛谷的耗时除以它的可用度(一个小于100%的数字A%)并去掉小数点。又因为传统观念不易纠正,总是有不信任将题目数据交给洛谷这样的想法(kkksc03:怪我咯?),因此使用洛谷的耗时还要再加上一个罚时H以做公平比较。

现在给出该中学的训练情况,希望你帮两位教练分析一下到底该如何选择。

输入输出格式

输入格式:

第一行两个整数,N与M,代表题目数量与学生数量。

第二行N个整数,P_i,为涉及的题目编号。

第三行M个整数,S_i,为学生的学号。

第四行7个整数,Ta,Tb,Tc,Td,A,H,E,前6个数字的意义见题目描述,E如果是1那么在excel中记录成绩,如果是0则不记录。

第五行一个整数R,代表评测数量

接下来R行,评测记录,每行是Pr_i,Sr_i,Sc_i分别为该次评测的题目号、学号以及成绩。

输出格式:

三行。

第一行为传统方法的的耗时。

第二行为使用洛谷包括罚时在内的耗时。

第三行是结论,如果使用洛谷的时间小于传统方法的时间,那么输出“Use Luogu!”,不含引号。否则输出“Forget it…”。

输入输出样例

输入样例#1:

4 4

501 502 503 504

2 3 5 7

50 30 10 5 93 50 1

10

501 2 10

501 2 80

501 2 70

502 3 0

502 3 0

504 5 100

503 7 0

503 7 0

503 7 0

503 7 10

输出样例#1:

480

372

Use Luogu!

输入样例#2:

2 3

101 102

1 2 3

70 60 50 1 80 100 0

6

101 1 100

101 2 100

101 3 100

102 1 100

102 2 100

102 3 100

输出样例#2:

500

650

Forget it…

说明

样例1解释

使用传统方法的话,装载4道题目需要4*50=200,2号同学和7号同学用教师机需要时分别30*3=90,30*4=120,但是明显自己装载cena只需要50+10*3=80,50+10*4=90更优。而3,5同学则使用教师机就好,耗时60,30。2号同学的前两次评测单调递增,所以额外花费2*5=10时间记录,3号同学太弱了都是0分所以没必要记录了,5与7各耗费5时间。所以这种情况总时间耗费为200+80+90+60+30+10+5+5=480

使用洛谷的话,装载题目耗费200,10次评测共耗费10*10=100,考虑稳定性时间为(200+100)/93%=322,所以最后总耗时为322+50=372,所以决定使用洛谷。

【数据范围】

其中50%数据中,不需要进行成绩的excel记录。

其中50%数据中,题目编号和学号均大于等于0,小于等于1000。

(这两种情况,可能会重叠)

对于100%的数据,保证0< n,m <=1000

0< Ta,Tb,Tc,Td,H < = 10000,R < 100000,0 < = Sc_i < = 100,0 < A < = 100,学号和题目号在100000000(8个0)之内。

【题解】

只需要存下某个选手的某道题目的成绩和次数,在自己电脑装载数据还是去教师机评测由两者的总时间大小比较决定。

然后,我应用了C++的语言优势map(一种映射)去将(选手编号、题目编号)分别与成绩、提交次数对应。

所以说,这题只是一道模拟题,估摸也就普及组第二题难度。

(~不过,这是全网第一篇题解,我还是很高兴的。。。~)

#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<map>
#define ll long long
#define re register
#define il inline
#define fp(i,a,b) for(register int i=a;i<=b;i++)
#define fq(i,a,b) for(register int i=a;i>=b;i--)
using namespace std;
map<int,int>t,x;//t用于将题目编号离散化,x用于将学生编号离散化
int n,m,r,ta,tb,tc,td,a,h,e,c,j[2005][2005]={},f[2005][2005]={};
ll ans1=0,ans2=0;//ans1是用传统团队训练的时间,ans2是用洛谷团队训练的时间
int s1,s2;
il ll gi()//读入优化
{
re ll t=1,x=0;
re char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-') ch=getchar();
if(ch=='-') t=-1,ch=getchar();
while(ch>='0'&&ch<='9') x=x*10+ch-48,ch=getchar();
return x*t;
}
int main()
{
n=gi();m=gi();
fp(i,1,n)
t[gi()]=i;
fp(i,1,m)
x[gi()]=i;
ta=gi();tb=gi();tc=gi();td=gi();a=gi();h=gi();e=gi();r=gi();
ans1=n*ta;ans2=n*ta;//加上装载数据所需时间
fp(i,1,r)
{
s1=gi();s2=gi();c=gi();
s1=t[s1];s2=x[s2];j[s1][s2]++;//更新交题次数
if(e&&c>f[s1][s2]) f[s1][s2]=c,ans1+=td;//加更新成绩所需时间
}
fp(i,1,n)
fp(j1,1,m)
{
int p=tb*j[i][j1];
int z=ta+tc*j[i][j1];
if(p>z) ans1+=z;
else ans1+=p;
}//比较在自己电脑装载数据和去教师机评测的时间,选其小者 ans2=(ll)((ans2+r*tc)/(a/100.0))+h;
printf("%lld\n%lld\n",ans1,ans2);
if(ans1<=ans2) printf("Forget it...\n");
else printf("Use Luogu!\n");
return 0;
}

洛谷P1193 洛谷团队训练VS传统团队训练的更多相关文章

  1. 洛谷 P1193 洛谷团队训练VS传统团队训练

    P1193 洛谷团队训练VS传统团队训练 题目背景 “在中学的信息学教育领域,洛谷无疑是一个相当受欢迎的辅助网站.同时有百余所学校正在通过洛谷进行信息学竞赛(以后简称OI)的教育.洛谷之所以如此受欢迎 ...

  2. 『计算机视觉』Mask-RCNN_训练网络其三:训练Model

    Github地址:Mask_RCNN 『计算机视觉』Mask-RCNN_论文学习 『计算机视觉』Mask-RCNN_项目文档翻译 『计算机视觉』Mask-RCNN_推断网络其一:总览 『计算机视觉』M ...

  3. 使用Axure管理团队项目图文教程 团队协作操作步骤

    Axure RP团队版和企业版都支持团队协作,可以创建和管理团队项目,即多人共同创作一个原型.本文通过图文教程的形式,讲解了如何基于Axure Share服务创建和管理团队项目.因为Axure Sha ...

  4. 《毛毛虫团队》第九次团队作业:BETA冲刺与团队项目验收

    一:实验名称:Beta冲刺与验收准备 二:实验目的与要求 (1)掌握软件黑盒测试技术: (2)学会编制软件项目总结PPT.项目验收报告: (3)掌握软件项目验收内容,验收流程. 三.实验内容与步骤 任 ...

  5. 《小团团团队》第九次团队作业:Beta冲刺与验收准备

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验十三 团队作业9:Beta冲刺与团队项目验收 团队名称 小团团团队 作业学习目标 (1)掌握软件黑盒测试技术:(2)学 ...

  6. 实验十一 团队作业7:团队项目设计完善&编码

    实验十一 团队作业7:团队项目设计完善&编码 实验时间 2019-6-6 Deadline: 2019-6-12 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 – ...

  7. 【团队项目1】 团队展示&选题

    一.团队展示 1. 队名:这次稳了 2. 队员: 莫少政 3117004667 (队长) 黄思扬 3117004657 余泽端 3117004679 江海灵 3117004658 温治乾 311700 ...

  8. 《逆袭团队》第九次团队作业【Beta】Scrum meeting 3

    项目 内容 软件工程 任课教师博客主页链接 作业链接地址 团队作业9:Beta冲刺与团队项目验收 团队名称 逆袭团队 具体目标 (1)掌握软件黑盒测试技术:(2)学会编制软件项目总结PPT.项目验收报 ...

  9. 《逆袭团队》第九次团队作业【Beta】Scrum meeting 2

    项目 内容 软件工程 任课教师博客主页链接 作业链接地址 团队作业9:Beta冲刺与团队项目验收 团队名称 逆袭团队 具体目标 (1)掌握软件黑盒测试技术:(2)学会编制软件项目总结PPT.项目验收报 ...

随机推荐

  1. Ceres

    sudo apt-get install liblapack-dev libsuitesparse-dev libcxspares3.1.2 libgflags-dev libggoogle-glog ...

  2. 1054.求平均数-PAT乙级真题

    从其他博客优秀代码中学到了些技巧,记录一下. 思路:使用sscanf和sprintf函数. sscanf() – 从一个字符串中读进与指定格式相符的数据 sprintf() – 字符串格式化命令,主要 ...

  3. <MyBatis>入门三 sqlMapper文件

    增加 1.增删改在接口中的返回值 Integer.Long.Boolean.void 返回影响多少行 或 true | false 2.mapper 中 增删改没有返回值 (resultType或re ...

  4. 爬虫之Re库

    一.常见匹配模式 \W # 匹配字母数字及下划线 \W # 匹配非字母数字下划线 \s # 匹配任意空白字符,等价于[\t\n\r\f] \S # 匹配任意非空字符 \d # 匹配任意数字,等价于[0 ...

  5. 03 Python的那些事

    目录: 1) 创始人以及重要发展历程 2) Python语言的特点 3) TIOBE排名 4) 解释器 5) Python后缀名 6) 变量规则和约定 7) 常量 8) 注释 9) 缩进 10) Py ...

  6. graph.h

    #ifndef _GRAPH_#define _GRAPH_#include<stdio.h>#include<stdlib.h>#include<string.h> ...

  7. POJ 3468 A Simple Problem with Integers(线段树水题)

    A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 135904 ...

  8. [bzoj1878][SDOI2009][HH的项链] (莫队算法)

    Description HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH不断地收集新的贝壳,因此, 他的项链变 ...

  9. tomcat配置虚拟目录实现无项目名访问项目,域名直接访问

    1.tomcat下新建文件夹名为 myapp,把编译后的项目放入该文件夹,不是war包. 2.conf/Catalina/localhost目录下,新建一个ROOT.xml文件,写入类似于如下内容 & ...

  10. [luoguP3565] [POI2014]HOT-Hotels(dfs)

    传送门 三点在树上距离相等的情况只有一种,就是以某一个点为中心,三个点到这个点的距离相等. 所以直接枚举每个点作为中心,dfs这个中心的子树,根据乘法原理统计答案即可. 时间复杂度 O(n2) (n ...