2016.10.05【初中部 NOIP普及组 】模拟赛

来源:互联网 发布:mac电脑excel换行 编辑:程序博客网 时间:2024/05/22 11:56

回到普及组比赛,感觉发挥得不是特别好每道题都是差一点就AC了啊!!!但是,居然比某些2015级的神犇分数还高....自我安慰一下)


那么,该写题解啦


第一题:

https://61.142.113.109/junior/#main/show/2066

题目描述:

2066. 【2016.10.5NOIP普及模拟】kk的作业 

       又是周四了,kk又是很早的到了教室,开始一天的学习,不过,他的概率论作业还没有写完。由于有一道题的数字比较大,上星期周四kk在做作业的时候就直接写了个式子,没有算出来。当然,kk是不知道这个数字到底是多大的。现在,就是你帮助kk的时候了。kk有个好习惯,所有答案都化成一个分数,分母和分子都是许多个整数的积,现在,你需要告诉kk,这个分数化成既约分数的结果(既约分数就是分子分母最大公约数为1的分数)。

输入

     输入一共两行,第一行第一个数为分子上的整数个数n1,之后有n1个整数,第二行第一个数为分母上的整数个数n2,之后n2个整数,答案分母不会为0,每两个整数之间有一个空格隔开。

输出

      输出共两行,第一行为既约分数的分子,第二行为分母,输出精确值。注意,如果分数值为0,那么输出分子为0,分母为1。

样例输入

2 1 4
3 4 5 6

样例输出

1
30

数据范围
    0<ni<=1000。
    数字均为在1000以内的非负整数。



这道题就是给出一些分母的因子和分子的因子,求这个分数的最简形式


那么,我们可以把分子化成质因子形式,分母也化成质因子形式,

然后两边相抵消(就相当于约分了),

之后再把抵消后的分子质因子形式相乘,

以及抵消后的分母质因子形式相乘(都要用高精度乘法)

然后输出便可以了

要注意的是,输入的分子的因子其中可能有0,所以要特殊判断,有0的话就输出:0/1


第二题:

https://61.142.113.109/junior/#main/show/2067

题目描述:

2067. 【2016.10.5NOIP普及模拟】zy的秘密 

       zy和wd是宿舍里的一对活宝,两个人总是吵架,今天,他们又吵架了。wd威胁要把zy和某个mm的故事传出去。zy需要防止自己的秘密暴露,他要安排对策,但是,他不知道wd把秘密传出去后最少多久全班都会知道。由于lsn是团支书而且熟悉班上每一个人,他给了zy一张表,里面有班里所有的朋友关系,并且对于每对朋友,lsn给出了一个数字表示这对朋友中一个知道zy的秘密后最少多少时间另一个也会知道。不过,对于这么多关系,程序设计只拿了B+的zy实在没有办法了,于是他找到了宿舍里的最后一个成员kk。现在,kk把这个光荣而伟大的任务交给了你,你需要告诉kk在wd传出消息最少多少时间后全班都会知道zy的秘密。

输入

      第一行一个整数n表示班级的人数。
      第二行一个整数m表示lsn提供的关系数。
      第3至(2+m)行每行三个整数ai,bi,ci,ai、bi表示ai号与bi号同学是一对朋友,ci为这对朋友中一个知道zy的秘密后另一个也知道的最短时间。wd的编号固定为1号。

输出

      一行一个整数表示在wd传出消息多少时间后全班都会知道zy的秘密。如果全班中有人永远不会知道zy的秘密,那么则输出让那些能知道zy秘密的人全知道的最短时间。

样例输入

5
6
1 2 3
1 3 4
1 4 5
1 5 6
2 3 1
2 4 4

样例输出

6

数据范围
0<n<=1000。
0<m<=n*(n-1)/2。
0<ai,bi<=n,0<=ci<=60。



这道题就是给你一些一个点到另一个点的距离,让你求编号为1的点到它所有能到的点的最短路径的最大值


很明显,这题是最短路径类型的问题,直接用单纯的SPFA算法搞定



第三题:

https://61.142.113.109/junior/#main/show/2068

题目描述:

2068. 【2016.10.5NOIP普及模拟】zy送画 

      话说在军训的倒数第二天,zy终于下定决心要将画了10天之久的画像送给他心怡的法学院mm。但是,他不敢自己一个人去,倒霉的kk只能和他一起去了。不过,为了表现的有诚意,kk和zy不能走在一起,要不然被对方看见就不好了。那么到底要怎么走呢?zy给了kk一幅地图,他把学校分成了n*m个格子,对于每个格子,zy写下了一个数字表示他对于这个格子的好感度(好感度当然是zy自己定义的),入口在左上角(1,1)点,出口在右下角(n,m),zy和kk需要从左上角一起出发,在右下角会和,因为zy非常害羞,所以中间kk和zy都只向右或向下走,这样走完全程的时间最短,但中间两人不能走到同一个格子上。经过深思熟虑,他决定,需要他和kk走的路的好感度总和最大才是最好。现在,zy和kk希望你能告诉他们两个人各自要走那一条路。为了简化问题,你只需告诉他们两个好感度总和就可以了。你可以假设mm一定会在zy的路上。

输入

第一行两个整数n,m。
接下来n行每行m个整数,每两个整数之间用一个空格隔开。

输出

一行一个整数表示最大好感度和。注意,起点和终点的好感度值只计入一次。

样例输入

3 4
1 2 3 4
5 6 7 8
9 10 11 12

样例输出

71

数据范围

2<=n,m<=50。
好感度为10000以内的正整数。




好吧这题和https://61.142.113.109/junior/#main/show/1811 【提高组NOIP2008】传纸条(message)这题完全一样.....

我们可以把题目转化一下变成:

给你一个矩阵,让你求从左上角到右下角两条不交错的路径的和的最大值

然后弄个四维的DP,设F[i,j,k,l]表示一条路径从1,1到i,j;另一条路径从1,1到k,l的最大值,那么转移方程便显而易见了


第四题:

https://61.142.113.109/junior/#main/show/2069

题目描述:

2069. 【2016.10.5NOIP普及模拟】wd的假日 

        又到了十月一号了,今年十一居然是8天连休,wd早早的回到了家里,盘算着十月一号怎么过。作为一名dota狂热爱好者,打dota必然是他的首选任务。不过wd毕竟是学霸,作业还是要做的,书还是要看的。那么问题就来了,如何学习dota两不误。就个人管理而言,wd向来是饱受诟病的,于是他又想到了kk。wd告诉kk他在假期里想完成的n个学习任务,在这些任务中,他在这个假期至少要做m件,每件任务都有一个耗时,并且对于每个任务,wd都给出了一个好感度(顺便说一句,wd与zy是同一个中学的)。同时,这个假期的总时间是有限的,为T,他最少需要用来打dota的时间是t,而且,打dota的每个单位时间都有好感度g。现在,你要告诉wd,在至少打t时间dota,并完成至少m个任务的前提下,他所能获得的最大好感度。

输入

第一行两个整数n,m。
接下来n行每行两个整数ti,gi,表示每个任务的时间和好感度。
最后一行三个整数T,t,g。

输出

一行一个整数,表示最大好感度。如果没有符合的方案,则输出0。

样例输入

2 1
2 4
3 6
10 5 1

样例输出

15

数据范围

0<=m<=n<=20。
0<=t<=T<maxlongint。
0<=ti<=T,0<=gi<=10000,0<=g<=10。
答案保证在maxlongint范围内。


题目赏析:

借题喻人,运用侧面描写,生动形象的表现了出题者假期经常打dota,表达了作者对dota的喜爱之情


这题,就是用爆搜就可以了,搜索选择做的作业,之后剩余的时间就用来打dota,再判断打dota的时间和做的作业是否达到要求,然后选一个达到要求的最大值就行了

1 0
原创粉丝点击