HDU
来源:互联网 发布:淘宝店铺宝贝分类代码 编辑:程序博客网 时间:2024/06/18 18:32
题目大意:
给你一个数组 a ,让你求出数组 b 。b[ i ] 表示 a 数组中下标不能被 i 整除的数里面的最大值。
分析:
可能是一个比较投机取巧的方法吧,首先取出 a 数组里的最大值 a[ j ] ,那么 b 数组里,除了下标为 j 的因子的数以外,其他数的值都是 a[ j ] ,然后因为 j 的因子个数不多,我一个一个确认应该也不慢。
代码:
#include<bits/stdc++.h>#define maxn 100050using namespace std;int test=0;int n,a[maxn],b[maxn];int main(){ scanf("%d",&test); while(test--) { int maxv=0,max_num=0; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); if(maxv<a[i]) { maxv=a[i]; max_num=i; } } for(int i=2;i<=n;i++) { if(max_num%i==0) { int max_t=0; for(int j=1;j<=n;j++) { if(j%i==0)continue; if(max_t<a[j]) { max_t=a[j]; } } b[i]=max_t; } else { b[i]=maxv; } } printf("%d",b[2]); for(int i=3;i<=n;i++) { printf(" %d",b[i]); } printf("\n"); }}
阅读全文
0 0
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- HDU
- EnumUtil根据值获取枚举对象
- batik svg转pdf异常 org.apache.batik.bridge.BridgeException: null:0
- 练习一A+B+C+D+E+F
- C++ 文件IO操作 读写
- 关于mysql自增id的获取和重置
- HDU
- 2017年8月8日提高组T3 题目
- linux编程---进程---孤儿进程与僵尸进程区别
- Android MediaPlayer各种状态切换
- Codevs 1253 超级市场
- 工具使用 -- Source Insight的一些使用总结
- FZU 2192位置信息挖掘(并查集)
- 第几天?
- 子序列个数