HDU 4473 Exam 枚举
原题转化为求a*b*c <=n中选出两个数组成有序对<a,b>的选法数。
令a<=b<=c....
分情况讨论:
(1)全部相等,即a = b = c.
选法有n^(1/3).
(2)有两个相等,则设相等的值为i,枚举i = 1到i*i <= n ,剩下的一个数的最大值为t = n/(i*i).当t >=i时,t = i这一种要删除,因为t = i则三个数都相等了,这种选法有3种,所以ans += 3*(t-1).t<i就ans += 3*t;
(3)三个数都不相等,则枚举a,b,其中b>a,剩下的数的最大值s = n/(a*b),如果s <= b,不满足····,假设s>b,则ans += 6*(s - b ).
分类讨论时要不重复,不遗漏······
贴代码:
#include<cstdio>
typedef long long int LL;
int main()
{
// freopen("in.txt","r",stdin);
LL n,ans;
int kase = ;
while(~scanf("%I64d",&n))
{
ans = ;
for(LL i=; i*i*i <=n; ++i) ++ans;
int A = ans;
for(LL i=; i*i <=n ; ++i)
{
LL t = n/(i*i);
if(t >= i) ans += *(t-);
else ans += *t;
}
for(LL a=; a<=A; ++a)
{
LL k = n/a;
for(LL b=a+; b*b <= k; ++b)
{
LL s = n/(a*b);
if(s > b) ans += *(s-b);
}
}
printf("Case %d: %I64d\n",++kase,ans);
}
return ;
}
注意n为long long int ·······
HDU 4473 Exam 枚举的更多相关文章
- hdu 4473 Exam 数学
思路: 将条件转化为满足abc<=n的abc的数目. 1.3个数相等时,为 A; 2.有2个数相等时,为 B; 3.都不相等时,为 C. 则结果为A+3*B+6*C. 代码如下: #includ ...
- hdu 2489(枚举 + 最小生成树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2489 思路:由于N, M的范围比较少,直接枚举所有的可能情况,然后求MST判断即可. #include ...
- hdu 3118(二进制枚举)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3118 思路:题目要求是去掉最少的边使得图中不存在路径长度为奇数的环,这个问题等价于在图中去掉若干条边, ...
- HUD 4473 Exam
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4473 题目意思 定义f(x) = 满足(a * b)|x的有序对(a,b)的个数. 然后输入一个n, ...
- HDU 6351暴力枚举 6354计算几何
Beautiful Now Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)T ...
- HDOJ/HDU 1015 Safecracker(枚举、暴力)
Problem Description === Op tech briefing, 2002/11/02 06:42 CST === "The item is locked in a Kle ...
- HDU 5240 Exam
The 2015 ACM-ICPC China Shanghai Metropolitan Programming Contest 2015ACM-ICPC上海大都会赛 签到题 #include< ...
- HDU 1281 棋盘游戏 (枚举+最大匹配)
<题目链接> Problem Description 小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单 ...
- hdu 5240 Exam(贪心)
Exam Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
随机推荐
- (一)kafka修改topic分区的位置
(一)kafka修改topic分区的位置 环境:kafka_2.10-0.8.2.1 + JDK1.7.0_80 1. 查看分区topic的分区分布 $ le-kafka-topics.sh --de ...
- hdu3847Trash Removal(凸包)
链接 这题居然是WF的题, 应属于签到题.. 求一个多边形是否能被一个宽为d的矩形框住. 可以求一下凸包,然后枚举每条凸包的边,找出距离最远的点. #include <iostream> ...
- git github 异常
git :版本控制工具 github:项目托管 git clone failed:git是否安装正确 github commit failed:github 是否账号 / 密码是否正确(密码错误也可以 ...
- android产品业务逻辑对app稳定影响太大
产品经理们, 看看你们的交互文档, 有n个逻辑分支, 在我们的实现中至少存在2*n个逻辑分支 这样极度造成了app的不稳定性,表现就是 非必须的bug很多.还有就是维护性极差 当然你们会说,你们可以写 ...
- laravel 的.env 配置文件
(相关的环境变量) APP_ENV=localAPP_DEBUG=trueAPP_KEY=base64:cWMz1hM4dp9ihoOtUs6iV+BDZX9KtjYvMALFmyEPQfI= D ...
- Spring3博客(内含ppt和代码的github地址)
我们的Spring3相当于给我们的项目来了一次大整容!因为上次演示的时候,老师给我们的建议是做得小清新一点,所以我们项目改动挺大的. PPT地址:http://files.cnblogs.com/fi ...
- iOS开发技巧
一.寻找最近公共View 我们将一个路径中的所有点先放进 NSSet 中.因为 NSSet 的内部实现是一个 hash 表,所以查找元素的时间复杂度变成了 O(1),我们一共有 N 个节点,所以总时间 ...
- 三星在GPL下发布其exFAT文件系统实现源码
exFAT文件系统是微软的一个产品,设计让外置储存设备和PC之间实现无缝的TB级数据转移和数据交换,它只支持Windows和OS X,不支持Linux.作为一个含有大量专利的私有产品,没有人会预计它会 ...
- 自定义控件之 RadioList
var RadioListObj = function (id, url) { this.URL = url;//radiobox source URL this.ID = id;//radioLis ...
- vector 的 push_back[转]
vector是用数组实现的,每次执行push_back操作,相当于底层的数组实现要重新分配大小(即先free掉原存储,后重新malloc):这种实现体现到vector实现就是每当push_back一个 ...