HPUOJ_1443_完美三元组
来源:互联网 发布:淘宝网牛仔女裤 编辑:程序博客网 时间:2024/05/29 04:22
1443: 完美三元组
时间限制: 1 Sec 内存限制: 128 MB提交: 50 解决: 3 统计
题目描述
第**届ACM亚洲区域赛HeNan赛区正在HPU举行,这时作为HPUACM的萌新王小二要拉着女朋友到现场为学姐们加油!
然而,入场竟然有个鉴定程序,判断你是否接触过ACM,通过此问题你才有机会进场当观众。问题描述如下:
定义完美三元组(a, b, d)需满足一下三个条件:
- a % d = 0, 记作:d | a;
- b % d = 0, 记作:d | b;
- a >= b >= d >= 1 ;
输入
T组测试数据,第一行一个T(1<=T<=10000),之后T行每行两个整数L,R,表示三元组中a的取值区间[L, R].
求a在此区间下(b,d满足上述条件)完美三元组总数(1<=L<=R<=100000).
输出
每行输出一个整数,代表完美三元组个数;
样例输入
22 31 3
样例输出
78
提示
第一个样例:L = 2, R = 3,表示a取值区间[2, 3],此时:
a = 2时,完美三元组:(2, 1, 1), (2, 2, 1), (2, 2, 2);
a = 3时,完美三元组:(3, 1, 1), (3, 2, 1), (3, 3, 1), (3, 3, 3);
好难啊,完全没搞出来规律,唉,智商真是硬伤。
看完答案后自己写了一些个人理解,如图,好久没写过字了。。。 >.< (好丑啊)
#include <iostream>#include <stdio.h>#include <iostream>#include <math.h>#include <string.h>using namespace std;typedef long long ll;ll a[100005];void init(){for(int i=1;i<=100000;i++){ll ans=0;for(int j=1;j<=sqrt(i);j++){if(i%j==0){ans+=j+i/j;if(i==j*j)ans-=j;}}a[i]=a[i-1]+ans;}}int main() {init();int t;scanf("%d",&t);while(t--){int l,r;scanf("%d%d",&l,&r);printf("%lld\n",a[r]-a[l-1]);}return 0;}
阅读全文
0 0
- HPUOJ_1443_完美三元组
- 完美三元组
- 三元组
- 数据结构之三元组
- 数据结构实现三元组
- 【其他】【RQNOJ】三元组
- 权限三元组
- [三元组]题解
- 三元组--数据结构
- 毕达哥拉斯三元组
- 三元组最小距离
- "等差三元组"
- 数据结构三元组
- 最小三元组距离
- 毕达哥斯拉三元组poj1305
- 三元组距离最小
- 稀疏矩阵-三元组
- VxWorks三元组资料
- Java多线程简析——Synchronized(同步锁)、Lock以及线程池
- 跳台阶
- Python输出一百以内的质数(素数)
- OkHttp的封装
- 做后台遇到的几个问题
- HPUOJ_1443_完美三元组
- 二插排序树(自己实现)
- 洛谷P2392 kkksc03考前临时抱佛脚
- java入门篇
- 机器学习入门学习笔记:(3.2)ID3决策树程序实现
- 混淆模板
- 曾经它认识我,我不认识他的Linux系统
- hdu 1712 ACboy needs your help(分组背包模版)
- MVP_P层