HDU 4473 Exam 2012成都现场赛J题(规律+思维)
来源:互联网 发布:网络摄像头密码重置 编辑:程序博客网 时间:2024/04/28 07:38
题目大意:给你一个n,找出所有<=n,从1一直到n的f(x)和。
定义f(x) = 满足(a * b)|x的有序对(a,b)的个数。
然后输入一个n,求f(1) + f(2) + ... + f(n)
解题思路:把原题的条件(a * b)|x 转化为 a * b * c = x这个才是关键。
先规定a<=b<=c便于讨论。
然后分类a=b=c个数×1 (a=b<c和a<b=c)×3 a<b<c个数×6,自己可以在纸上模拟序数的情况。这道题首先就是思维上必须有个突破,并不是以往那种简单的找规律。而是需要我们转换思路a*b * c = x,能想到这里,剩下的基本上都可以写出来了。思维跳跃性也不大,只是需要去发现。说这个题是思维题,还有一点,一般求S(n)都需要先求前n项,找递推关系,而这个题是直接Sn.
题目地址:HDU 4473 Exam
#include <iostream>#include<cmath>#include<cstdio>using namespace std;long long cal2(long long x){ long long mid = floor(pow(x,0.5)); while(mid*mid<=x) mid++; while(mid*mid>x) mid--; return mid;}long long cal3(long long x){ long long mid = floor(pow(x,double(1.0/3.0))); while(mid*mid*mid<=x) mid++; while(mid*mid*mid>x) mid--; return mid;}int main(){ long long n,res,t1,t2,i,j,res2,res3; int cas=0; while(~scanf("%I64d",&n)) { printf("Case %d: ",++cas); t1=cal3(n); res=t1; //第一种情况(a=b=c) t2=cal2(n); res2=0; res3=0; //a<b<c; for(i=1;i<=t1;i++) { res2+=n/(i*i)-i; //a=b<c; res2+=cal2(n/i)-i; //a<b=c; for(j=i+1;j<=t2;j++) { if(n/(i*j)<=j) break; res3+=n/(i*j)-j; //a<b<c; } } res+=res2*3; //第二种情况 res+=res3*6; //第三种情况 printf("%I64d\n",res); } return 0;}
- HDU 4473 Exam 2012成都现场赛J题(规律+思维)
- hdu 4473 Exam (2012ACM成都赛区现场赛J题)
- HDU 4473 Exam 有点技巧的暴力枚举 (2012成都区域赛J题)
- HDU 4790 Just Random (2013ACM/ICPC成都赛区现场赛J题)
- hdu 4810 思维题+二进制位规律+异或规律 213南京现场赛题
- hdu 4465 Candy(2012 ACM-ICPC 成都现场赛)
- hdu 4472 Count (2012 ACM-ICPC 成都现场赛)
- HDU-4472-Count (2012 ACM/ICPC成都现场赛)
- hdu 4473 Exam (思维题 问题转化)
- 2012成都现场赛
- HDU 4790 2013 ACM/ICPC 成都赛区现场赛 J. Just Random
- HDU 4462 Scaring the Birds (2012年杭州赛区现场赛J题)
- HDU-4464-Browsing History (2012 ACM/ICPC成都现场赛!)
- hdu 3715(2-sat入门题目)2010成都现场赛1007题
- HDU ACM 4473 Exam->数论(思维-问题转换)
- hdu 5984 Pocky (16青岛现场赛)找规律
- 2012ACM/ICPC成都赛区现场赛A题---Browsing History(hdu4464)
- 2012 ICPC/ACM 成都现场赛 Candy
- php编程,写一个函数,能够遍历一个文件夹下的所有文件和子文件夹
- hdu 4466 Triangle (12年成都区域现场赛c题)(dp+组合数学)
- 处处是可怕的灾难、
- 字符串16进制存储
- ZOJ 1076 最长上升子序列
- HDU 4473 Exam 2012成都现场赛J题(规律+思维)
- shǎ崽 OrOrOrOrz
- mac 字符串转换为二进制
- uva 331 Mapping the Swaps 求交换排序的map 纯DFS
- ZOJ 1710 The Snail
- log4j日志等级
- linux小记
- LA 3644
- ZOJ 1093 最大高度