【上海交大比赛】Data Structures Spring 2013 Exam 1

刚才做了一套上海交大的比赛题,可能是初选吧,题有点水


放上链接:http://acm.sjtu.edu.cn/OnlineJudge/contest/66



Data Structures Spring 2013 Exam 1 2013-04-01 18:00:00 -- 2013-04-01 19:45:00


1107. 二哥的赌博
Description
二哥听说了这样一个游戏,于是拿来和他的室友赌博.


桌子上1~n有n个数(n为0就表示一个数都没有),两个人轮流选数,每次一个人要选一个没被拿走的数x,然后把x和x所有的约数拿走,不能操作了就算输.


这两个无聊的人要玩m局,每次二哥都先手拿数,而且二哥是一个超级聪明的人,问二哥在每一局里是否能赢?


有一只小鸟说这道题是送分的


Input Format
第1行,一个数字m,表示游戏一共有m局. 第2~m+1行,一个数字n_i表示这局游戏两个人要取的数是1~n_i.


Output Format
m行,每行一个单词 "yes" 或者 "no",表示这一局二哥是否能够获胜.


Restrictions
m<=2,000


n<=10,000,000


Sample Input 1
1
1
Sample Output 1
yes
Sample Input 2
2
1
2
Sample Output 2
yes
yes
Sample Input 3
1
0
Sample Output 3
no






这一题听同学说是博弈论,反正我是猜的


0就是no,其余全是yes


其实可以把1,2,3,4,...,等等情况写出来,然后就会发现一些规律



















1108. 二哥的爬树
Description
二哥的室友赌博经常输给二哥,被激怒了.


他追打着二哥,把二哥追上了一棵树(树由节点和节点之间的边构成,没有环,但是是全连通的),两个人在树的某两个节点的位置.你要帮二哥计算他们之间隔了多远的距离(沿着树的边计算距离).


有一只小鸟说不会的话可以用邻接矩阵存储...


Input Format
第一行是一个整数n, 表示树一共有n个节点, 他们的编号是1~n. 之后的n-1行,每行有三个数a_i,b_i和c_i中间各用一个空格隔开. a_i, b_i表示树有一条从a_i号节点到b_i号节点的边,c_i是这条边的长度. 再一行是一个整数m, 表示有m次询问. 之后m行每行有两个数d_j和e_j,中间用一个空格隔开,表示二哥和室友在这两个节点的位置上,请你帮助计算他们的距离.


Output Format
m行,是这m次询问得到的他们之间的距离.


Restrictions
对于100%的数据n<=100.


对于100%的数据m<=10.


Sample Input
3
2 1 4
3 1 5
3
1 2
1 3
2 3
Sample Output
4
5
9




这一题floyd,不说了


很水是吧?






下一题就不水了













1109. 二哥买车票
Description
二哥被愤怒的室友追杀,于是去买火车票回老家,但是赶上了春运,买票的人排起了长队,还有很多人插队.


突然售票员起身去上厕所了,无聊的二哥就开始观察这个春运队伍的特点.


每个人有两个特性:a_i,这是他目前的任务的重要性(数字越大,说明他的事情越紧急),还有c_i,这是一个人良心.这n个人的a_i由1到n的数字不重复的排列构成.


此刻,假设队列里面有n-1个人,让我们看一看第n个人的到来会发生什么. 首先,他站在队列末尾,然后他会问前面那个人能不能插队,即执行以下操作:如果站在他前面那个人事情的重要性(a_i)没有他高,他们就会交换位置. 然后,他又会继续向前面一个人问能不能插队,依此类推.但是如果前面那个人的a_i比他的大,那他就停止他的插队工作.而且,该男子由于良心会收到谴责,最多只能插队c_n次.


假设这个排队活动中,前一个人插完队之后下一个人才来.


二哥看到这么多人插队十分蛋疼. 你的任务是帮助二哥为这个可恶的队伍做计算,当有n个人依次来排队,他们都插队结束之后,他们的顺序是什么?


有一只小鸟说这道题不能放弃...有分数拿...


Input Format
第一行是一个整数n, 表示一共有几个人陆续来排队,1<=n<=10^5,他们的编号是1~n


之后的n行每行有两个数a_i和c_i,中间用一个空格隔开,1<=a_i<=n,0<=c_i<=n


Output Format
一行,n个数中间用一个空格隔开,是这n个人的编号,从前到后表示插队结束后这n个人的顺序.


Restrictions
对于80%的数据n<=1000


对于100%的数据n<=100000


Sample Input 1
3
1 3
2 3
3 3
Sample Output 1
3 2 1
Sample Input 2
5
2 3
1 4
4 3
3 1
5 2
Sample Output 2
3 1 5 4 2




这一题我反正没做,首先朴素O(N²)可以80分


听同学说可以SBT,但是他还在再奋斗。。。。





就A了两道题


排名32



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值