算法竞赛入门经典(第2版)习题4-9 数据挖掘 Data Mining UVa1591
来源:互联网 发布:js设置边框阴影 编辑:程序博客网 时间:2024/04/29 05:36
这题我看了半个小时没看懂,只好看原文。
所谓偏移量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); }}
0 0
- 算法竞赛入门经典(第2版)习题4-9 数据挖掘 Data Mining UVa1591
- 算法竞赛入门经典(第2版)习题4-9 数据挖掘 Data Mining UVa1591
- [刷题]算法竞赛入门经典(第2版) 4-9/UVa1591 - Data Mining
- 数据挖掘(Data Mining, uva1591)
- 习题4-9 数据挖掘 UVa1591
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色UVa253
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色 Uva253
- 算法竞赛入门经典(第2版)习题4-2 正方形 Squares UVa201
- 算法竞赛入门经典(第2版)习题4-2 正方形UVa201
- 算法竞赛入门经典(第2版)习题2-4
- 算法竞赛入门经典(第2版)习题3-4 周期串 Periodic Strings UVa445
- 算法竞赛入门经典(第2版)习题4-1 象棋 Xiangqi UVa1589
- 算法竞赛入门经典(第2版)习题4-3 黑白棋 Othello UVa220
- 算法竞赛入门经典(第2版)习题4-5 IP网络 IP Networks UVa1590
- 算法竞赛入门经典(第2版)习题4-7 RAID技术 RAID! UVa509
- 算法竞赛入门经典(第2版)习题4-10 洪水! Flooded! UVa815
- 算法竞赛入门经典(第2版)习题4-1 象棋UVa1589
- 算法竞赛入门经典(第2版)习题4-5 IP网络UVa1590
- 移植tslib库出现selected device is not a touchscreen I understand
- 使用ViewPager实现页面滑动(点击)跳转效果(类似于微信页面)
- 润乾——统计图配色方案在项目里的应用
- 集群服务器消息通讯办法
- 初始化变量的问题
- 算法竞赛入门经典(第2版)习题4-9 数据挖掘 Data Mining UVa1591
- 又是一年桂花飄香時
- Palindrome Number
- redis常用五种数据类型的使用
- 从标题到活动谈谈微信运营三件事儿
- Android平台中文输入法的设计与实现
- 多个项目之间引用如何设置他们的依赖
- iOS: 本地通知(UILocalNotification )的应用
- JS 关于 undefined