机房水题欢乐赛 2016-04-24 下午
2016-04-24 22:13
211 查看
本次比赛为真·水题欢乐赛
40% 的数据 N<=200
60% 的数据 N<=1000
100%的数据 N<=10000
如果你猜的数比灏灏想的数小,那么K-1
如果你猜的数比灏灏想的数大,那么K-1,L-1
问,给你K,L,保证能猜到正确数字时,你能猜到的最大的数是多少?答案保证在longint范围内。
3 1
10 5
7 7
0 0
Case 2: 6
Case 3: 847
Case 4: 127
样例解释:对于Case 2,
我们先猜3(3,1),
(1)如果灏灏说大了,那么剩下(2,0),接着猜1,再猜2即可
(2)如果灏灏说小了,那么剩下(2,1),接着猜5,
如果灏灏说大了,那接着猜3,再猜4即可, 如果灏灏说小了,剩下(1,0),猜6即可。所以6是可能猜到的最大数。
输入数据包含若干组数据,以0,0结束。
数据保证0<=K,L<=30
f[i,j]=i(j=0)
f[i,j]=f[i−1][j]+f[i−1][j−1]+1(j>0)
输入数据以K=0结束。
50% K<=100
70% K<=1000
100% K<=1500
从1开始,每次从pq里取出一个数字就乘2 3 5再丢到pq里去,取出K次即可。
记得有道题也是这样类似的方法。
http://blog.csdn.net/huanghongxun/article/details/51181809
100%数据:1<=n,m<=77777
也就是说有多少个a和b使乘积为平方数。
我们可以枚举a,然后看a的质因子的幂,就可以搞出b的个数了。
时间复杂度O(nn−−√)
100%数据:1<=n<=10^6
n为偶数且不能被3整除时,答案是n(n−1)(n−3),否则A3n−1
第二行n个数,为原数列,每个数绝对值小于10^9,且数字各不相同
接下来m行每行a,b,c,求[a,b]区间内第c小的数字
1 5 2 6 3 7 4
2 5 3
4 4 1
1 7 3
6
3
100%数据1<=n<=100000,1<=m<=5000
Parliament
【题目描述】
给出一个正整数N,把N分解成若干个不同的正整数相加,使得这若干个正整数的乘积最大.按升序输出这若干个正整数.【输入样例】
7【输出样例】
3 4【数据范围】
20% 的数据 N<=2040% 的数据 N<=200
60% 的数据 N<=1000
100%的数据 N<=10000
Solution
尽量分到根号N处即可。。Oneperson
【题目描述】
这是一个传说中的猜数游戏,灏灏心里想一个数,然后让你猜,你总共有K次猜的机会,和L次猜大的机会如果你猜的数比灏灏想的数小,那么K-1
如果你猜的数比灏灏想的数大,那么K-1,L-1
问,给你K,L,保证能猜到正确数字时,你能猜到的最大的数是多少?答案保证在longint范围内。
【输入样例】
3 03 1
10 5
7 7
0 0
【输出样例】
Case 1: 3Case 2: 6
Case 3: 847
Case 4: 127
样例解释:对于Case 2,
我们先猜3(3,1),
(1)如果灏灏说大了,那么剩下(2,0),接着猜1,再猜2即可
(2)如果灏灏说小了,那么剩下(2,1),接着猜5,
如果灏灏说大了,那接着猜3,再猜4即可, 如果灏灏说小了,剩下(1,0),猜6即可。所以6是可能猜到的最大数。
【Hint】
注意空格~输入数据包含若干组数据,以0,0结束。
数据保证0<=K,L<=30
Solution
f[i,j]=f[i,i](j≥i)f[i,j]=i(j=0)
f[i,j]=f[i−1][j]+f[i−1][j−1]+1(j>0)
UglyNumbers
【题目描述】
我们认为,UglyNumbers是这样定义的,它只由2,3,5相乘而成(1除外),如1,2,3,4,5,6,8,9,10,12为最小的10个Ugly Numbers。问,第K小的UglyNumbers是哪个?输入数据以K=0结束。
【输入样例】
1 2 9 0
【输出样例】
1 2 10
【数据范围】
30% K<=1050% K<=100
70% K<=1000
100% K<=1500
Solution
用优先队列维护从1开始,每次从pq里取出一个数字就乘2 3 5再丢到pq里去,取出K次即可。
记得有道题也是这样类似的方法。
http://blog.csdn.net/huanghongxun/article/details/51181809
平方 Power
【题目描述】
给出n,m,你需要求出有多少对整数<a,b>满足1≤a≤n且1≤b≤m使得(a√+b√)2是整数【输入格式】
一行2个数n,m【输出格式】
一行为答案【输入样例】
1 4【输出样例】
2【数据约定】
40%数据:n,m<=5000100%数据:1<=n,m<=77777
Solution
即为求a+b+2ab−−√也就是说有多少个a和b使乘积为平方数。
我们可以枚举a,然后看a的质因子的幂,就可以搞出b的个数了。
时间复杂度O(nn−−√)
最小公倍数
Lcm【题目描述】
你要从[1,n]中找出3个整数(可以重复),使得这三个数的最小公倍数最大【输入格式】
一个数n【输出格式】
一个数为答案【输入样例】
3【输出样例】
6【数据约定】
40%数据:n<=200100%数据:1<=n<=10^6
Solution
n是奇数时答案为A3nn为偶数且不能被3整除时,答案是n(n−1)(n−3),否则A3n−1
Knumber
【题目描述】
给你一序列数,求某个区间的第k小数【输入格式】
第一行n,m第二行n个数,为原数列,每个数绝对值小于10^9,且数字各不相同
接下来m行每行a,b,c,求[a,b]区间内第c小的数字
【输出格式】
输出m个数,为每个询问对应的答案【输入样例】
7 31 5 2 6 3 7 4
2 5 3
4 4 1
1 7 3
【输出样例】
56
3
【数据约定】
40%数据n*m<=10^6100%数据1<=n<=100000,1<=m<=5000
Solution
主席树裸题相关文章推荐
- 安装MySQL,以及解决不能写汉字问题
- JDBC 的基本操作
- Hibernate4实战 之 第四部分:关系映射
- 20145205 《Java程序设计》第8周学习总结
- 《Linux内核分析》期末总结及学习心得
- 20145206《Java程序设计》实验三实验报告
- Android WebView 开发详解(一)
- C++理解全局变量在调用函数中的应用
- iOS开发之 协议 protocol
- 802.1Q Vlan原理
- 对多态中的父类、子类的认识
- 15_由1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?
- php的pdo用法
- 贪心算法☞磁盘文件最优存储问题
- Java并发:主线程等待多个子线程执行完才继续执行
- 《Android JNI》05 在JNI中调用Java的函数
- Integer与int的区别
- 【BZOJ2539】【codevs1221】丘比特的烦恼,trie树+几何判断+费用流
- Add Binary
- Hibernate4实战 之 第三部分:Hibernate的基本开发