hdoj 5211 Mutiple 【数学】
2016-04-07 17:22
309 查看
题目链接:hdoj 5211 Mutiple
题意:给定n元素的序列a[],f[i]为最小的j满足a[j] % a[i] == 0,不存在为0。问你∑ni=1f[i]。
怎么搞都可以过,毕竟n太小。。。
AC代码:
题意:给定n元素的序列a[],f[i]为最小的j满足a[j] % a[i] == 0,不存在为0。问你∑ni=1f[i]。
怎么搞都可以过,毕竟n太小。。。
AC代码:
#include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #include <cstring> #define CLR(a, b) memset(a, (b), sizeof(a)) using namespace std; typedef long long LL; const int INF = 0x3f3f3f3f; const int MAXN = 1e4 + 10; int a[MAXN]; int pos[MAXN]; int main() { int n; while(scanf("%d", &n) != EOF) { CLR(pos, 0); for(int i = 1; i <= n; i++) { scanf("%d", &a[i]); pos[a[i]] = i; } int ans = 0; for(int i = 1; i <= n; i++) { int id = INF; for(int j = 2; a[i] * j <= n; j++) { int v = a[i] * j; if(pos[v] && pos[v] > i) { id = min(id, pos[v]); } } if(id != INF) ans += id; } printf("%d\n", ans); } return 0; }
相关文章推荐
- 无密码身份验证:安全、简单且部署快速
- SQL语句操作优先级顺序
- hdoj 5210 Delete 【水题】
- unity3d创建材质时,无法添加材质贴图的解决方法
- 判断一个字符是否是中文
- Quartz学习一
- iOS - UITextFieldKeyBoardPan为时间选择器
- 使用AJAX异步提交表单的几种方式
- mybatis整合spring、springmvc时业务层无法进行事务回滚问题解决
- SecureCRT突然假死的问题(Ctrl+S)
- LintCode_166_链表倒数第n个节点
- Rman 备份参数 及 oracle 进程理论
- 五大常用算法:分治、动态规划、贪心、回溯、分支限界算法
- Fbric、Ansible、Docker、Chaos Monkey:DevOps工具的年中回顾
- dt dl列表布局
- hdoj 5256 序列变换 【LIS 变形】
- android_design support library-Snackbar
- 深入剖析CSS变形transform(3d)
- (6)
- hdoj 5253 连接的管道 【MST】