总结 2016.12.24

题目描述
纪中的食堂是十分热闹的,当然那都是拥挤的缘故了(^__^)。但纪中学生是好孩子,都会自觉排队打饭,而每个人打饭都要消耗时间。在K个人的队伍中,第i个人打饭的时间为Ti。由于每个窗口同一时间只能服务一个同学,所以后面的同学都得等着。在示范性高中评估那天,专家们也来到了学生食堂就餐。在专家来到食堂之前,同学们都已经来到了食堂。为了给专家们对纪中人有个好的评价,同学们所排的队伍一定要让专家们尽快吃上午餐(专家们当然不会插队,也不会接受同学们的礼让,他们一定会等排在前面的同学打完饭后再打饭)。人都有主观认识,专家觉得久等了,是因为全部同学等待的长了,所以同学们等待的时间总和越小,专家越快吃上饭。
现在你的任务就是确定能让专家们尽快吃上饭的排队方案。
输入
第一行一个整数K(1<=K<=300),表示排在专家们的学生的人数。
第二行以后为K个正数,每行十个数表示从1号到K号的学生的打饭时间,T1,T2,……Tk.(0<Ti<=100000)
输出
能让专家们尽快吃上饭的排队方案(数据保证只有一种方案);只要输出学生的序号(从队伍的最前面到最后面)。
样例输入
3
43.8 23.6 15
样例输出
3 2 1
数据范围限制
对于30%的数据 ,K<=100;
对于70%的数据 ,K<=200;
对于100%的数据 ,K<=300。
题目描述
众所周知,纪中的信息学竞赛是很强的。专家为看看纪中的学生是否名符其实,给几个初一的学生(当然包括信息学小牛的你)出了几个问题来考考他们。其中一个问题是:在N个数乘积K1K2……KN中插入足够的括号,使得每一个乘积恰好是两个因子的乘积。例如K1K2K3K4能被括号括成:
 ((K1K2)(K3K4))  (((K1K2)K3)K4)  (K1((K2K3)K4)) ……
在加括号的过程中不允许改变Ki的顺序。现在专家要你们告诉他合法加括号的方法总数。由于你在编程方面有比较大优势,其他同学都推荐你来回答这个问题。为了不辜负同学们的期望,更为了维护信息组的良好声誉,你可一定要回答好这个问题呀!!!
 
输入
一个整数K(2<=K<=30)
输出
一个整数(方法数)TOTAL。
样例输入
4
样例输出
5
数据范围限制
对于40%的数据,K<=10;
对于70%的数据,K<=20;
对于100%的数据, K<=30。
题目描述
示范性高中评估完之后,专家们觉得纪中太美、太大了,决定游览一下纪中。但纪中校园的太复杂了,什么中山路、庆龄路、幕贞路等等太多了,所以从校门口到新区的路线不止一两条。但是专家的时间是宝贵的,尤其不能浪费。现在,专家车队的队长找到了你,他给了你一张描述了他们待选路线的表(n*n的矩阵A),让你找出行车距离最短的路线。表中表示了任意两个路口的连通情况,以及距离。矩阵元素a(i,j)=0表是路口i,j不连通,a(i,j)!=0表示路口i,j的行车距离。其中校门在路口1,新区在路口n.
输入
第一行为一个自然数n(1<n<=30);
接着n行,每行n个整数,描述待选路线的表(元素的值小于1000);
 
输出
第一行为一个整数,表示最短行车的距离。
样例输入
4
0 2 3 4
2 0 1 1
3 1 0 0
4 1 0 0
样例输出
3
数据范围限制
对于30%的数据,n<=10;
对于70%的数据,n<=20;
对于100%的数据, n<=30。
题目描述
评估完了,游览也完了,终于到了送别的时候,为了在最后给专家们留下一个很好的印象,信息组的学生组成了送宾队。队长Symbol在经过认真的思考后,决定把队员们排成K列。为了有更好的视觉效果,每列的人数当然不能相差太多,但是美学研究表明,并非人数均等时视觉效果最好(表明任意两列人数不能相等)。队长在深思熟虑后,认为可以用一个公式来描述一种排队方式的美学价值。假设Value表示美学价值的大小,则:
K
Value=∏Wi =W1*W2*…..*Wk
                                I=1
Value值越大,视觉效果越好。
现在专家组马上要来了,可Symbol的笔记本坏了。于是他请学生你编程帮他求出最优的排队方法。
 
输入
一个整数K与人数M(1<=K<=50,M>=K*(K+1)/2),数据保证有解.
输出
最优的排队方案:K行数字(从小到大)。
样例输入
3 7
样例输出
1
2
4
数据范围限制
对于30%的数据,K<=10,1<=M<=1300;
对于70%的数据,K<=30,1<=M<=1300;
对于100%的数据 ,K<=50,1<=M<=1300。

2016.12.24

考试思路:
T1
水诶,就标个序号,快速排序,就可以了
T2
这题就是我在考试时想出了正解,就是我们可以利用乘法原理,一个个k,分解成两个数相加的样子(比如4分解成:1+3,2+2,3+1),再把这两个数之前算出来的答案乘起来,加到当前的这个k的答案里,然后我们的初始化手算一下就是:f[1]:=1(就是为了方便计算),f[2]:=1,f[3]:=2,然后就是前面说的枚举1到k,然后分解就好了。
T3
纯弗洛伊德算法,三重循环,搞定。
T4
比赛时没想到正解,按照一开始错误的思路写了一个,只有十分。


正确思路:
T1
同上。
T2
同上。
T3
同上。
T4
这题其实也挺简单的,因为题目描述是一定会有解,所以说最基本也会是这个样子:1,2,3,4...,然后我们就可以建立一个初始状态,就是前面说的,顺便把m也减掉每一个,然后这时候如果m还有值,那就从后面开始一个一个加一,加一个,m就减一(因为不能有相同的,所以要从后面开始加),可以用while循环,判断m是否大于0,然后在里面倒序加f[i],同时dec(m),直到m为0。


今天考得还算不错,主要是第二题灵光一现想到方法,然后其他该对的题也没失误,所以就100+100+100+10=310,第六名,继续加油!
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值