算法竞赛入门经典(第2版)习题4-9 数据挖掘 Data Mining UVa1591
2014-09-07 11:56
441 查看
这题我看了半个小时没看懂
,只好看原文。
所谓偏移量Pofs(i)其实就是当P数组为连续存储时第i个元素距离P数组起始存储位置的距离。
根据原题有如下公式
Pofs(0)=0
Pofs(1)=Pofs(0)+Sp
...
Pofs(i)=Sp*i
同理
Pofq(i)=Sq*i
又因为
i=Pofs(i)/Sp
所以
Pofq(i)=Sq*Pofs(i)/Sp
但是乘法和除法cpu计算起来太慢了所以题目要求用下面这个公式代替上面那个公式来通过Pofs(i)计算Qofs‘(i)
Qofs'(i) = (Pofs(i) + Pofs(i) < < A) > > B
题目的要求就是找到最优的A和B使得利用Qofs‘(i)存储Q数组所需的空间K尽量小。多解时取最小A,仍多解取最小B。
因为N*Sq<=2^30所以A/B的取值范围大致确定为[0,32)(其实我是看了测试数据才确认的数据范围...)所以本题比较适合暴力穷举。
同时A/B的取值应使得K>=n*Sq 既 ( ((n-1)*Sp+ (n-1)*Sp < < A) > > B)+Sq>=n*Sq
另外重新参考了代号4101的代码,发现题目中A/B取尽量小的要求其实不需要刻意选择,只要由小到大穷举并取先即可。
,只好看原文。
所谓偏移量Pofs(i)其实就是当P数组为连续存储时第i个元素距离P数组起始存储位置的距离。
根据原题有如下公式
Pofs(0)=0
Pofs(1)=Pofs(0)+Sp
...
Pofs(i)=Sp*i
同理
Pofq(i)=Sq*i
又因为
i=Pofs(i)/Sp
所以
Pofq(i)=Sq*Pofs(i)/Sp
但是乘法和除法cpu计算起来太慢了所以题目要求用下面这个公式代替上面那个公式来通过Pofs(i)计算Qofs‘(i)
Qofs'(i) = (Pofs(i) + Pofs(i) < < A) > > B
题目的要求就是找到最优的A和B使得利用Qofs‘(i)存储Q数组所需的空间K尽量小。多解时取最小A,仍多解取最小B。
因为N*Sq<=2^30所以A/B的取值范围大致确定为[0,32)(其实我是看了测试数据才确认的数据范围...)所以本题比较适合暴力穷举。
同时A/B的取值应使得K>=n*Sq 既 ( ((n-1)*Sp+ (n-1)*Sp < < A) > > B)+Sq>=n*Sq
另外重新参考了代号4101的代码,发现题目中A/B取尽量小的要求其实不需要刻意选择,只要由小到大穷举并取先即可。
#include<stdio.h> #include<string.h> long long n, sp, sq; int A,B; int main() { while(scanf("%d%d%d",&n,&sp,&sq)==3) { bool firstk = true; long long k; int kn = 0; for(int i = 0; i<=31;i++) { for(int j = 0; j<= 31; j++) { long long tempk = (((n-1)*sp+(((n-1)*sp)<<i))>>j)+sq; if(tempk<sq*n) break; else { if(firstk) { k = tempk; A = i; B = j; firstk = false; } else if(k > tempk) { k = tempk; A = i; B = j; } } } } printf("%lld %d %d\n", k , A, B); } }
相关文章推荐
- 4-9 UVA 1591 Data Mining 数据挖掘
- 习题4-9 数据挖掘 UVa1591
- [刷题]算法竞赛入门经典(第2版) 4-9/UVa1591 - Data Mining
- 算法竞赛入门经典(第2版)习题4-7 RAID技术 RAID! UVa509
- 算法竞赛入门经典(第2版)习题4-3 黑白棋 Othello UVa220
- 算法竞赛入门经典(第2版)习题4-8 特别困的学生UVa12108
- 算法竞赛入门经典(第2版)习题3-8 循环小数 Repeating Decimals UVa202
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色 Uva253
- 算法竞赛入门经典(第2版)习题3-5 谜题(Puzzle) Uva227
- 算法竞赛入门经典(第2版)习题5-7 打印队列 UVa12100
- 算法竞赛入门经典(第2版)习题3-5 谜题 Puzzle UVa227
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色UVa253
- UVa220 算法竞赛入门经典(第2版)习题4-3 黑白棋 Othello
- 算法竞赛入门经典(第2版)习题4-10 洪水!UVa815
- 算法竞赛入门经典(第2版)习题5-6 对称轴(Symmetry) Uva1595
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色 Cube painting UVa 253
- 算法竞赛入门经典(第2版)习题4-5 IP网络UVa1590
- 算法竞赛入门经典第四章习题4-9 Data Mining UVA - 1591
- 算法竞赛入门经典(第2版)习题6-3 二叉树重建 UVa536
- 算法竞赛入门经典(第2版)习题4-10 洪水! Flooded! UVa815