传送门

Inversion

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Total Submission(s): 0    Accepted Submission(s): 0


Problem Description
Give an array A, the index starts from 1.

Now we want to know Bi=maxi∤jAj , i≥2.
 

Input
The first line of the input gives the number of test cases T; T test cases follow.

Each case begins with one line with one integer n : the size of array A.

Next one line contains n integers, separated by space, ith number is Ai.

Limits
T≤20
2≤n≤100000
1≤Ai≤1000000000
∑n≤700000
 

Output
For each test case output one line contains n-1 integers, separated by space, ith number is Bi+1.
 

Sample Input
  1.  
2
4
1 2 3 4
4
1 4 2 3
 

Sample Output
  1.  
3 4 3
2 4 4
 

Statistic | Submit | Clarifications | Back

题意:

数组Bi的值等于下标i不整除j的最大的数组A中的值,直接给个样例解释

以1 4 2 3为例 2不能被1 、3整除,A1=1<A3=2,所以B2的值为2;

思路:

用pair将下标与value的值关联起来,以value的值从大到小排序,进行整除比较,找到最大的那个下标不能被整除的值

可以使用多中数据结构,或map或vector或list等

pair的排序重定义函数如下:

bool judge(const pair<int,int> a,const pair<int,int> b)

{

return a.first>b.first;//从大到小排序

}

代码如下:

  1. #include<iostream>
  2. #include<list>
  3. #include<vector>
  4. #include<string.h>
  5. #include<algorithm>
  6. #include<stdio.h>
  7. using namespace std;
  8. const int maxn=100006;
  9. typedef long long ll;
  10. ll b[maxn];
  11. bool judge(const pair<ll,ll> a,const pair<ll,ll>b)
  12. {
  13. return a.first>b.first;
  14. }
  15. int main()
  16. {
  17. int t;
  18. scanf("%d",&t);
  19. ll a;
  20. int n;
  21. while(t--)
  22. {
  23. vector<pair<ll,ll> >vec;
  24. memset(b,0,sizeof(b));
  25. scanf("%d",&n);
  26. for(ll i=1;i<=n;i++)
  27. {
  28. scanf("%lld",&a);
  29. vec.push_back(make_pair(a,i));
  30. }
  31. sort(vec.begin(),vec.end(),judge);
  32. for(ll j=2;j<=n;j++)
  33. {
  34. for(ll i=0;i<vec.size();i++)
  35. {
  36. if(vec[i].second%j!=0)
  37. {
  38. b[j]=vec[i].first;
  39. break;
  40. }
  41. else continue;
  42. }
  43. }
  44. for(ll i=2;i<n;i++)
  45. printf("%lld ",b[i]);
  46. printf("%lld\n",b[n]);
  47. }
  48. return 0;
  49. }

2017杭电多校第六场03Inversion的更多相关文章

  1. 2017杭电多校第六场1008 Kirinriki

    传送门 Kirinriki Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...

  2. 2017杭电多校第六场1011Classes

    传送门 Classes Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Tota ...

  3. 2017杭电多校第五场11Rikka with Competition

    Rikka with Competition Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O ...

  4. 2017杭电多校第五场Rikka with Subset

    Rikka with Subset Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...

  5. 2018杭电多校第六场1009(DFS,思维)

    #include<bits/stdc++.h>using namespace std;int a[100010];char s[20];int zhiren[100010];vector& ...

  6. 2017杭电多校第七场1011Kolakoski

    Kolakoski Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) Tota ...

  7. 2017杭电多校第七场1005Euler theorem

    Euler theorem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) ...

  8. [2019杭电多校第六场][hdu6641]TDL

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6641 题意为求出最小的n,满足(f(n,m)-n)^n=k,其中f(n,m)为第m大的x,其中x满足g ...

  9. [2019杭电多校第六场][hdu6638]Snowy Smile(维护区间最大子段和)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6638 题意为在一个平面上任意选择一个长方形,使得长方形内点权和最大. 因为长方形可以任意选择,所以上下 ...

随机推荐

  1. 从一个简单的组件化封装写优化DOM操作

    /* *缺点 * 1. 还需要我们自己手工维护dom状态,以数据的思想去思考 *2. 数据改变后,还需要我们自己手动改变dom *3. * */ class LikeButton{ construct ...

  2. Oldboy 基于Linux的C/C++自动化开发---MYSQL

    http://www.eimhe.com/forum.php?mod=viewthread&tid=142952#lastpost http://www.eimhe.com/thread-14 ...

  3. Tree Operations 打印出有向图中的环

    题目: You are given a binary tree with unique integer values on each node. However, the child pointers ...

  4. 贪吃蛇 c++ ncurses

    近期学ncurses.用贪吃蛇训练下 思路:不构造链表.蛇头向前进方向打点,蛇尾逐点消失,形成移动. 须要记录蛇头方向,蛇尾方向.并用list仿造队列,增加拐点信息(空间比链表每一个结点开辟空间节省非 ...

  5. react 项目实战(十)引入AntDesign组件库

    本篇带你使用 AntDesign 组件库为我们的系统换上产品级的UI! 安装组件库 在项目目录下执行:npm i antd@3.3.0 -S 或 yarn add antd 安装组件包 执行:npm ...

  6. react 项目实战(九)登录与身份认证

    SPA的鉴权方式和传统的web应用不同:由于页面的渲染不再依赖服务端,与服务端的交互都通过接口来完成,而REASTful风格的接口提倡无状态(state less),通常不使用cookie和sessi ...

  7. Django打造大型企业官网(八)

    4.16.侧边栏标题和广告位布局完成 templates/news/index.html <div class="sidebar-wrapper"> <div c ...

  8. hdu5375 Gray code(DP)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5375 题目大意:给你一个二进制串,带'?'的位置能够由你来决定填'1'还是'0',补充完整之后转换成 ...

  9. png图片解码

    PNG.可移植网络图形格式(Portable Network Graphic Format,PNG)名称来源于非官方的"PNG's Not GIF",是一种位图文件(bitmap ...

  10. 开发,从需求出发 &#183; 之二 造飞机的工厂

    CD镇楼~~! 如今.让我们切换到后端开发者的角度看问题.我们须要做的是实现一下这个类,让它返回真实的业务数据. package cn.com.sitefromscrath.service; impo ...