今天没做上来的问题
飞花的传送门
Time Limit: 1000MS Memory limit: 65536K
题目描述
飞花壕最近手头比较宽裕,所以想买两个传送门来代步(夏天太热,实在是懒得走路)。平面上有N个传送门,飞花壕想要挑两个距离最远的传送门带回家(距离为欧几里得距离,即两点之间直线距离)。
请你帮他算一算他所挑选的最远的两个传送门有多远。
输入
多组输入。
对于每组输入,第一行输入一个整数N(2 <= N <= 50000),接下来从第2行到第N+1行,每行两个整数(Xi,Yi),代表第i个传送门的坐标(-1000000 <= Xi , Yi <= 1000000)。
数据为随机生成。
输出
输出一个整数,代表飞花壕要挑选的两个传送门的距离的平方。
示例输入
4 0 0 0 1 1 1 1 0
示例输出
2
经济节约
Time Limit: 1000MS Memory limit: 65536K
题目描述
由于经济紧张,某国国王决定减少一部分多余的士兵,这些士兵在边界都有各自的管辖范围。例如,士兵x 的管辖范围[a,b]。我们定义:对于i号士兵,如果存在j号士兵的管辖范围[a,b], a<a且b<b成立,那么i号士兵就是多余的。给出多个士兵的管辖范围,问有多少个士兵是多余的?有多组数据,每组数据的第一行为一个整数n(1<=n<=100000),下面n行每行包含两个整数a,b,代表i号士兵的管辖范围(0<=a<b<=200000)。所有的a是不同的,b也是不同的。
输出
输出多余士兵的个数。<span font-family:\'times="" new="" roman\';="" \"="" style="padding: 0px; margin: 0px;">
示例输入
5 0 10 2 9 3 8 1 15 6 11
示例输出
3
经济节约
Time Limit: 1000MS Memory limit: 65536K
题目描述
由于经济紧张,某国国王决定减少一部分多余的士兵,这些士兵在边界都有各自的管辖范围。例如,士兵x 的管辖范围[a,b]。我们定义:对于i号士兵,如果存在j号士兵的管辖范围[a,b], a<a且b<b成立,那么i号士兵就是多余的。给出多个士兵的管辖范围,问有多少个士兵是多余的?
输入
示例输入
5 0 10 2 9 3 8 1 15 6 11
示例输出
3
神奇的数组
Time Limit: 5000MS Memory limit: 65536K
题目描述
铁牌狗拿着一个数组A过河,一不小心把数组A掉进了河里,懊恼不已之时,河神凌波而至,问道:这个金数组是你的,还是这个银数组是你的?铁牌狗怒道:你少来骗我,老子的数组是钻石的。
铁牌狗最终没有找回他的数组A,但是铁牌狗还依稀记得数组A的一些限制条件:
(1)数组A的长度为n,即数组A中共有n个数字,下标从1到n。
(2)数组A中的每个元素均不小于0且小于2^15,且均为整数。
(3)数组A中的一些子区间[Li,Ri]满足与值为Vi。
(4)数组A的一些位置的数字为Tk(0 <= Tk < 2^15) 。
与操作:位运算的一种,在C语言中为&,为双目运算符。两者相与,对应位上同为1则为1,否则为0,如5&4的值为4。
例如:设数组A为 {1,2,3,4,5},那么A的一段子区间[1,2,3,4,5]的与值为0,子区间[2,3]的与值为2,子区间[4,5]的与值为4。
现在给出这些限制条件,问是否存在一个数组满足上述条件。
输入
多组输入。对于每组数据:
第一行输入一个整数n (1 <= n <= 10^5)。
接下来的一行有n个整数Xi,若Xi == -1,则说明铁牌狗不记得第i个数字,否则第i个数字为Xi(Xi == -1 或者 0 <= Xi < 2^15)。
接下来的一行包含一个数字m(1 <= m <= 10^5)。
接下来的m行,每行三个整数Li,Ri,Vi(1<= Li <= Ri <= n ,0 <= Vi < 2^15) 。
输出
对于每组数据,若不存在一个数据满足上述要求,则输出“No”,
否则输出“Yes”,接下来的一行输出n个整数,代表数组A 。
若有多解,则输出累加和最小的那个。
具体格式见样例。
示例输入
20 111 2 33-1 -1 -122 3 23 3 3
示例输出
NoYes0 2 3
经济节约
Time Limit: 1000MS Memory limit: 65536K
题目描述
由于经济紧张,某国国王决定减少一部分多余的士兵,这些士兵在边界都有各自的管辖范围。例如,士兵x 的管辖范围[a,b]。我们定义:对于i号士兵,如果存在j号士兵的管辖范围[a,b], a<a且b<b成立,那么i号士兵就是多余的。给出多个士兵的管辖范围,问有多少个士兵是多余的?
输入
示例输入
5 0 10 2 9 3 8 1 15 6 11
示例输出
3
神奇的数组
Time Limit: 5000MS Memory limit: 65536K
题目描述
铁牌狗拿着一个数组A过河,一不小心把数组A掉进了河里,懊恼不已之时,河神凌波而至,问道:这个金数组是你的,还是这个银数组是你的?铁牌狗怒道:你少来骗我,老子的数组是钻石的。
铁牌狗最终没有找回他的数组A,但是铁牌狗还依稀记得数组A的一些限制条件:
(1)数组A的长度为n,即数组A中共有n个数字,下标从1到n。
(2)数组A中的每个元素均不小于0且小于2^15,且均为整数。
(3)数组A中的一些子区间[Li,Ri]满足与值为Vi。
(4)数组A的一些位置的数字为Tk(0 <= Tk < 2^15) 。
与操作:位运算的一种,在C语言中为&,为双目运算符。两者相与,对应位上同为1则为1,否则为0,如5&4的值为4。
例如:设数组A为 {1,2,3,4,5},那么A的一段子区间[1,2,3,4,5]的与值为0,子区间[2,3]的与值为2,子区间[4,5]的与值为4。
现在给出这些限制条件,问是否存在一个数组满足上述条件。
输入
多组输入。对于每组数据:
第一行输入一个整数n (1 <= n <= 10^5)。
接下来的一行有n个整数Xi,若Xi == -1,则说明铁牌狗不记得第i个数字,否则第i个数字为Xi(Xi == -1 或者 0 <= Xi < 2^15)。
接下来的一行包含一个数字m(1 <= m <= 10^5)。
接下来的m行,每行三个整数Li,Ri,Vi(1<= Li <= Ri <= n ,0 <= Vi < 2^15) 。
输出
对于每组数据,若不存在一个数据满足上述要求,则输出“No”,
否则输出“Yes”,接下来的一行输出n个整数,代表数组A 。
若有多解,则输出累加和最小的那个。
具体格式见样例。
示例输入
20 111 2 33-1 -1 -122 3 23 3 3
示例输出
NoYes0 2 3
最大收益问题
Time Limit: 2000MS Memory limit: 65536K
题目描述
铁牌狗最近迷上了一款游戏,但铁牌狗实在是太笨了,他还是要请求你的帮助。
有一个n行m列的矩阵A,矩阵A中每个数字均为正整数,现在铁牌狗要在其中选出一个r行c列的子矩阵B,这个子矩阵B中各个数字之和即为铁牌狗的得分,请你帮铁牌狗计算出他的最高得分是多少。
输入
首先输入一个组数T(1 <= T <= 10),表示接下来要输入T组数据。
首先输入四个整数n,m,r,c(1 <= n,m <= 1000,1 <=r <= n ,1 <= c <= m)。
接下来的n行,每行m个数,代表A中的各个数字。
矩阵A中的各个数字X均满足 1<=X <=1000。
输出
示例输入
24 4 4 41 2 3 41 2 3 41 2 3 41 2 3 44 4 2 21 2 3 31 2 3 43 3 3 41 1 5 5
示例输出
4017
经济节约
Time Limit: 1000MS Memory limit: 65536K
题目描述
由于经济紧张,某国国王决定减少一部分多余的士兵,这些士兵在边界都有各自的管辖范围。例如,士兵x 的管辖范围[a,b]。我们定义:对于i号士兵,如果存在j号士兵的管辖范围[a,b], a<a且b<b成立,那么i号士兵就是多余的。给出多个士兵的管辖范围,问有多少个士兵是多余的?
输入
示例输入
5 0 10 2 9 3 8 1 15 6 11
示例输出
3
神奇的数组
Time Limit: 5000MS Memory limit: 65536K
题目描述
铁牌狗拿着一个数组A过河,一不小心把数组A掉进了河里,懊恼不已之时,河神凌波而至,问道:这个金数组是你的,还是这个银数组是你的?铁牌狗怒道:你少来骗我,老子的数组是钻石的。
铁牌狗最终没有找回他的数组A,但是铁牌狗还依稀记得数组A的一些限制条件:
(1)数组A的长度为n,即数组A中共有n个数字,下标从1到n。
(2)数组A中的每个元素均不小于0且小于2^15,且均为整数。
(3)数组A中的一些子区间[Li,Ri]满足与值为Vi。
(4)数组A的一些位置的数字为Tk(0 <= Tk < 2^15) 。
与操作:位运算的一种,在C语言中为&,为双目运算符。两者相与,对应位上同为1则为1,否则为0,如5&4的值为4。
例如:设数组A为 {1,2,3,4,5},那么A的一段子区间[1,2,3,4,5]的与值为0,子区间[2,3]的与值为2,子区间[4,5]的与值为4。
现在给出这些限制条件,问是否存在一个数组满足上述条件。
输入
多组输入。对于每组数据:
第一行输入一个整数n (1 <= n <= 10^5)。
接下来的一行有n个整数Xi,若Xi == -1,则说明铁牌狗不记得第i个数字,否则第i个数字为Xi(Xi == -1 或者 0 <= Xi < 2^15)。
接下来的一行包含一个数字m(1 <= m <= 10^5)。
接下来的m行,每行三个整数Li,Ri,Vi(1<= Li <= Ri <= n ,0 <= Vi < 2^15) 。
输出
对于每组数据,若不存在一个数据满足上述要求,则输出“No”,
否则输出“Yes”,接下来的一行输出n个整数,代表数组A 。
若有多解,则输出累加和最小的那个。
具体格式见样例。
示例输入
20 111 2 33-1 -1 -122 3 23 3 3
示例输出
NoYes0 2 3
最大收益问题
Time Limit: 2000MS Memory limit: 65536K
题目描述
铁牌狗最近迷上了一款游戏,但铁牌狗实在是太笨了,他还是要请求你的帮助。
有一个n行m列的矩阵A,矩阵A中每个数字均为正整数,现在铁牌狗要在其中选出一个r行c列的子矩阵B,这个子矩阵B中各个数字之和即为铁牌狗的得分,请你帮铁牌狗计算出他的最高得分是多少。
输入
首先输入一个组数T(1 <= T <= 10),表示接下来要输入T组数据。
首先输入四个整数n,m,r,c(1 <= n,m <= 1000,1 <=r <= n ,1 <= c <= m)。
接下来的n行,每行m个数,代表A中的各个数字。
矩阵A中的各个数字X均满足 1<=X <=1000。
输出
示例输入
24 4 4 41 2 3 41 2 3 41 2 3 41 2 3 44 4 2 21 2 3 31 2 3 43 3 3 41 1 5 5
示例输出
4017
LCM的个数
Time Limit: 1000MS Memory limit: 65536K
题目描述
对于我们来说求两个数的LCM(最小公倍数)是很容易的事,现在我遇到了一个问题需要大家帮助我来解决这问题,问题是:给你一个数n,然后统计有多少对(a<=b) LCM(a,b)=n;例如LCM(a,b)=12; 即(1,12),(2,12),(3,12),(4,12),(6,12),(12,12),(3,4),(4,6);
输入
输入数组有多组,每组数据包含一个整数n(n<=10^9);
输出
输出每组数据的对数。
示例输入
2346
示例输出
2235
提示
经济节约
Time Limit: 1000MS Memory limit: 65536K
题目描述
由于经济紧张,某国国王决定减少一部分多余的士兵,这些士兵在边界都有各自的管辖范围。例如,士兵x 的管辖范围[a,b]。我们定义:对于i号士兵,如果存在j号士兵的管辖范围[a,b], a<a且b<b成立,那么i号士兵就是多余的。给出多个士兵的管辖范围,问有多少个士兵是多余的?有多组数据,每组数据的第一行为一个整数n(1<=n<=100000),下面n行每行包含两个整数a,b,代表i号士兵的管辖范围(0<=a<b<=200000)。所有的a是不同的,b也是不同的。
输出
输出多余士兵的个数。<span font-family:\'times="" new="" roman\';="" \"="" style="padding: 0px; margin: 0px;">
示例输入
5 0 10 2 9 3 8 1 15 6 11
示例输出
3
神奇的数组
Time Limit: 5000MS Memory limit: 65536K
题目描述
铁牌狗拿着一个数组A过河,一不小心把数组A掉进了河里,懊恼不已之时,河神凌波而至,问道:这个金数组是你的,还是这个银数组是你的?铁牌狗怒道:你少来骗我,老子的数组是钻石的。
铁牌狗最终没有找回他的数组A,但是铁牌狗还依稀记得数组A的一些限制条件:
(1)数组A的长度为n,即数组A中共有n个数字,下标从1到n。
(2)数组A中的每个元素均不小于0且小于2^15,且均为整数。
(3)数组A中的一些子区间[Li,Ri]满足与值为Vi。
(4)数组A的一些位置的数字为Tk(0 <= Tk < 2^15) 。
与操作:位运算的一种,在C语言中为&,为双目运算符。两者相与,对应位上同为1则为1,否则为0,如5&4的值为4。
例如:设数组A为 {1,2,3,4,5},那么A的一段子区间[1,2,3,4,5]的与值为0,子区间[2,3]的与值为2,子区间[4,5]的与值为4。
现在给出这些限制条件,问是否存在一个数组满足上述条件。
输入
多组输入。对于每组数据:
第一行输入一个整数n (1 <= n <= 10^5)。
接下来的一行有n个整数Xi,若Xi == -1,则说明铁牌狗不记得第i个数字,否则第i个数字为Xi(Xi == -1 或者 0 <= Xi < 2^15)。
接下来的一行包含一个数字m(1 <= m <= 10^5)。
接下来的m行,每行三个整数Li,Ri,Vi(1<= Li <= Ri <= n ,0 <= Vi < 2^15) 。
输出
对于每组数据,若不存在一个数据满足上述要求,则输出“No”,
否则输出“Yes”,接下来的一行输出n个整数,代表数组A 。
若有多解,则输出累加和最小的那个。
具体格式见样例。
示例输入
2 0 1 1 1 2 3 3 -1 -1 -1 2 2 3 2 3 3 3
示例输出
No Yes 0 2 3
最大收益问题
Time Limit: 2000MS Memory limit: 65536K
题目描述
铁牌狗最近迷上了一款游戏,但铁牌狗实在是太笨了,他还是要请求你的帮助。
有一个n行m列的矩阵A,矩阵A中每个数字均为正整数,现在铁牌狗要在其中选出一个r行c列的子矩阵B,这个子矩阵B中各个数字之和即为铁牌狗的得分,请你帮铁牌狗计算出他的最高得分是多少。
输入
首先输入一个组数T(1 <= T <= 10),表示接下来要输入T组数据。
首先输入四个整数n,m,r,c(1 <= n,m <= 1000,1 <=r <= n ,1 <= c <= m)。
接下来的n行,每行m个数,代表A中的各个数字。
矩阵A中的各个数字X均满足 1<=X <=1000。
输出
示例输入
2 4 4 4 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 4 4 2 2 1 2 3 3 1 2 3 4 3 3 3 4 1 1 5 5
示例输出
40 17
LCM的个数
Time Limit: 1000MS Memory limit: 65536K
题目描述
对于我们来说求两个数的LCM(最小公倍数)是很容易的事,现在我遇到了一个问题需要大家帮助我来解决这问题,问题是:给你一个数n,然后统计有多少对(a<=b) LCM(a,b)=n;例如LCM(a,b)=12; 即(1,12),(2,12),(3,12),(4,12),(6,12),(12,12),(3,4),(4,6);
输入
输入数组有多组,每组数据包含一个整数n(n<=10^9);
输出
输出每组数据的对数。
示例输入
2 3 4 6
示例输出
2 2 3 5