1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

思路

  • 定义数的“平方因子核”函数:记 sf(x)\mathrm{sf}(x)sf(x) 为 xxx 的质因子中幂次为奇数的质因子相乘得到的数(即把所有平方因子剥去后得到的平方自由部分)。

  • 关键性质:对任意正整数 a,ba,ba,b,有

    a⋅b 是完全平方数  ⟺  sf(a)a\cdot b \text{ 是完全平方数} \iff \mathrm{sf}(a)a⋅b 是完全平方数⟺sf(a) = sf(b).\mathrm{sf}(b).sf(b).

  • 因此,将 1…n1\ldots n1…n 按 sf(x)\mathrm{sf}(x)sf(x) 相等分组。组内相邻两数乘积一定为平方数;不同组之间不可能为平方数。

  • 若把每个组作为一个连续块并依次拼接,则代价为所有组内成功对数之和,即

P3507.第2题-完全平方索引

    1000ms Tried: 68 Accepted: 14 Difficulty: 5 所属公司 : 阿里
    算法与标签>构造

题目内容

给定一个正整数 nnn ,一个长度为 nnn 的排列 ppp 是由 {1,2,...,n1,2,...,n1,2,...,n} 这 nnn 个整数按任意顺序组成的数组,其中每个整数恰好出现一次;

我们定义该排列的代价为满足 pi×pi+1p_i×p_{i+1}pi​×pi+1​ 是完全平方数的索引 iii 的个数 (1≤i<n)(1 ≤i< n)(1≤i<n) ;

请你构造一个排列 ppp ,使其代价最大。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≦T≦104)T(1 ≦T≦ 10^4)T(1≦T≦104) ,表示测试用例数;

此后 TTT 行,每行输入一个整数 n(2≦n≦2×105)n(2≦n≦2×10^5)n(2≦n≦2×105),表示排列的长度;

此外,保证所有测试用例的 nnn 之和不超过 2×1052×10^52×105 。

输出描述

对于每组测试数据,新起一行,输出一个长度为 nnn 的排列 ppp 为最大代价的排列。

如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。

样例1

输入

2
5
10

输出

2 3 1 4 5
10 7 6 1 4 9 2 8 3 5

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 93ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?