刚才做了一套上海交大的比赛题,可能是初选吧,题有点水
放上链接: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分
放上链接: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