洛谷 P1193 洛谷团队训练VS传统团队训练
题目背景
“在中学的信息学教育领域,洛谷无疑是一个相当受欢迎的辅助网站。同时有百余所学校正在通过洛谷进行信息学竞赛(以后简称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...”。
输入输出样例
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
480
372
Use Luogu!
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
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)之内。
实际上,根据超级监控颁发的证书,洛谷2015年第一季度可靠性(SLA)为99.36%。同时观念也是可以改变的。
洛谷的优点很多都是不能量化的,其精华在于社区。和全国的OIer一起学习交流,不很好吗?
最后插一句,去年的【榨取kkksc03】的布告依然有效,详情 。
思路:主要是模拟,再加上一点离散化就可以了。
要注意的一点是:应该对于每个学生的每个问题讨论是本机测试还是教师机测试,否则就会像我一样。。。。GG
#include<map>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
map<int,int>stu,pro;
int bns;
int n,m;
int dis[][];
long long ans1,ans2;
int r,ta,tb,tc,td,a,h,e;
int ans[][],vis[];
void work1(){
ans1=n*ta;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
ans1+=min(tc*dis[i][j]+ta,tb*dis[i][j]);
}
int main(){
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++){ int x;scanf("%d",&x);pro[x]=i; }
for(int i=;i<=m;i++){ int x;scanf("%d",&x);stu[x]=i; }
scanf("%d%d%d%d%d%d%d%d",&ta,&tb,&tc,&td,&a,&h,&e,&r);
for(int i=;i<=r;i++){
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
if(ans[pro[x]][stu[y]]<z){ bns+=td;ans[pro[x]][stu[y]]=z; }
dis[pro[x]][stu[y]]++;
}
work1();if(e==) ans1+=bns;
ans2=(long long)((n*ta+r*tc)/(a/100.0))+h;
cout<<ans1<<endl<<ans2<<endl;
if(ans2<ans1) cout<<"Use Luogu!"<<endl;
else cout<<"Forget it..."<<endl;
}
洛谷 P1193 洛谷团队训练VS传统团队训练的更多相关文章
- 洛谷P1193 洛谷团队训练VS传统团队训练
题目背景 "在中学的信息学教育领域,洛谷无疑是一个相当受欢迎的辅助网站.同时有百余所学校正在通过洛谷进行信息学竞赛(以后简称OI)的教育.洛谷之所以如此受欢迎,是因为洛谷创新的将OI教育的几 ...
- 『计算机视觉』Mask-RCNN_训练网络其三:训练Model
Github地址:Mask_RCNN 『计算机视觉』Mask-RCNN_论文学习 『计算机视觉』Mask-RCNN_项目文档翻译 『计算机视觉』Mask-RCNN_推断网络其一:总览 『计算机视觉』M ...
- 使用Axure管理团队项目图文教程 团队协作操作步骤
Axure RP团队版和企业版都支持团队协作,可以创建和管理团队项目,即多人共同创作一个原型.本文通过图文教程的形式,讲解了如何基于Axure Share服务创建和管理团队项目.因为Axure Sha ...
- 《毛毛虫团队》第九次团队作业:BETA冲刺与团队项目验收
一:实验名称:Beta冲刺与验收准备 二:实验目的与要求 (1)掌握软件黑盒测试技术: (2)学会编制软件项目总结PPT.项目验收报告: (3)掌握软件项目验收内容,验收流程. 三.实验内容与步骤 任 ...
- 《小团团团队》第九次团队作业:Beta冲刺与验收准备
项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验十三 团队作业9:Beta冲刺与团队项目验收 团队名称 小团团团队 作业学习目标 (1)掌握软件黑盒测试技术:(2)学 ...
- 实验十一 团队作业7:团队项目设计完善&编码
实验十一 团队作业7:团队项目设计完善&编码 实验时间 2019-6-6 Deadline: 2019-6-12 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 – ...
- 【团队项目1】 团队展示&选题
一.团队展示 1. 队名:这次稳了 2. 队员: 莫少政 3117004667 (队长) 黄思扬 3117004657 余泽端 3117004679 江海灵 3117004658 温治乾 311700 ...
- 《逆袭团队》第九次团队作业【Beta】Scrum meeting 3
项目 内容 软件工程 任课教师博客主页链接 作业链接地址 团队作业9:Beta冲刺与团队项目验收 团队名称 逆袭团队 具体目标 (1)掌握软件黑盒测试技术:(2)学会编制软件项目总结PPT.项目验收报 ...
- 《逆袭团队》第九次团队作业【Beta】Scrum meeting 2
项目 内容 软件工程 任课教师博客主页链接 作业链接地址 团队作业9:Beta冲刺与团队项目验收 团队名称 逆袭团队 具体目标 (1)掌握软件黑盒测试技术:(2)学会编制软件项目总结PPT.项目验收报 ...
随机推荐
- 紫书 习题7-13 UVa 817(dfs+栈求表达式的值)
题目链接 点击打开链接 这道题分为两个部分, 一用搜索枚举每种可能, 二计算表达式的值, 有挺多细节需要注意 特别注意我的代码中在计算表达式的值中用到了一个!(代码枚举中的!表示不加符号, 我现在说 ...
- [luogu] P3745 [六省联考2017]期末考试 (贪心)
P3745 [六省联考2017]期末考试 题目描述 有 \(n\) 位同学,每位同学都参加了全部的 \(m\) 门课程的期末考试,都在焦急的等待成绩的公布. 第 \(i\) 位同学希望在第 \(t_i ...
- js应用中的小细节-时间戳的转换和input输入框有效数字
1 input输入框内value值保留有效数字,js自带的方法.toFixed(),但是直接使用会报错,因为不论输入框内输入汉字.字母还是数字,类型都是string.解决的办法是将其转换为number ...
- 【【henuacm2016级暑期训练】动态规划专题 F】Physics Practical
[链接] 我是链接,点我呀:) [题意] 给你n个数字 让你删掉最小的数字 使得: 剩余的数字中 "最大的数字"小于等于"最小的数字*2" [题解] 把数据从小 ...
- UML基础知识点
UML : unified Modeling Language 统一建模语言 1.对系统问题进行分析和建模 2.非专利的第三代建模和规约语言 3.UML是一种开放的方法.用于说明.可视化.构 ...
- c/c++常见试题
- 安卓ProgressBar水平进度条的颜色设置
安卓系统提供了水平进度条ProgressBar的样式,而我们在实际开发中,差点儿不可能使用默认的样式.原因就是"太丑"^_^ 所以我们在很多其它的时候须要对其颜色进行自己定义,主要 ...
- PHP编译时错误解决:Don't know how to define struct flock on this system, set --enable-opcache=no
在编辑PHP5.6.1时出现了这个错误: Don't know how to define struct flock on this system, set --enable-opcache=no 解 ...
- oracle 下操作blob字段是否会产生大量redo
操作blob字段是否会产生大量redo,答案是不会.以下来做一个实验,測试数据库版本号是11.2.0.1.0: --创建一张表做測试之用 create table test_blob ( id n ...
- bzoj1066: [SCOI2007]蜥蜴(最大流)
1066: [SCOI2007]蜥蜴 题目:传送门 题解: 哇QTT大佬一眼秒算法...ORT 其实很容易就可以看出来是一道最大流 因为有边的使用限制,那么就可以直接当成是流量来处理嘛 因为是对点进行 ...