Wannafly挑战赛27: E. 黄魔法师(构造)
链接:https://www.nowcoder.com/acm/contest/215/E
来源:牛客网
题目描述
“恕瑞玛,你的皇帝回来啦!”--黄魔法师
给出 n, k,求一个长度为 n 的数组 a, 满足有恰好 k 对数对 (i, j) (1 <= i < j <= n) 满足 ai + aj 为完全平方数。如果不存在,输出 -1。
输入描述:
第一行两个整数 n, k (1 <= n <= 105, 0 <= k <= 1010)
输出描述:
如果这样的数组不存在,输出 -1。 反之,输出一行 n 个整数,表示 a 数组,其中 1 <= ai <= 105。如果有多解,输出任意一个即可。
输入
3 2
输出
1 3 6
分三种情况考虑:
①n*(n-1)/2<k:很显然无解,就算任意一对数加起来都是完全平方数也不够,输出-1(否则一定有解)
②n*(n-1)/2==k:全部输出2即可,这个时候每一对ai+aj都是4,满足条件(前两种情况非常简单)
③n*(n-1)/2>k:步骤如下:
- 找到一个最大的p满足p*(p-1)/2≤k,设last = k-p*(p-1)/2
- 找到4个数x, y, c, d满足只有2*x,2*y,x+y,c+y是完全平方数(x = 98, y = 2, c = 7, d = 100000就是一组合法解)
- 只要输出last个y,p-last个x,1个c,剩下全部输出d即可,一定满足条件
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<map>
#include<string>
#include<math.h>
#include<queue>
#include<stack>
#include<iostream>
using namespace std;
#define LL long long
#define mod 1000000007
int main(void)
{LL n, k, i, x, p;scanf("%lld%lld", &n, &k);if(n*(n-1)/2==k){for(i=1;i<=n;i++)printf("2 ");puts("");}else if(n*(n-1)/2<k)printf("-1\n");else{for(p=1;(p+1)*p/2<=k;p++);x = k-p*(p-1)/2;for(i=1;i<=x;i++)printf("2 ");for(i=1;i<=p-x;i++)printf("98 ");printf("7 ");for(i=1;i<=n-p-1;i++)printf("100000 ");puts("");}return 0;
}
Wannafly挑战赛27: E. 黄魔法师(构造)相关推荐
- Wannafly 挑战赛27 题解
Wannafly 挑战赛27 题目连接 https://www.nowcoder.com/acm/contest/215#question A.灰魔法师 题目 题解 考虑到可能的完全平方数只有4004 ...
- Wannafly挑战赛27 C蓝魔法师
链接Wannafly挑战赛27 C蓝魔法师 给出一棵树,求有多少种删边方案,使得删后的图每个连通块大小小于等于\(k\),\(n,k\leq 2*10^3\) 假设我们正在考虑\(i\)这个子树,那么 ...
- NowCoder Wannafly 27E 黄魔法师 构造
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-Wannafly27E.html 题目传送门 - NowCoder Wannafly 27E 题 ...
- 牛客网 Wannafly挑战赛27 蓝魔法师
蓝魔法师 链接: https://www.nowcoder.com/acm/contest/215/C 来源:牛客网 题目描述 "你,你认错人了.我真的,真的不是食人魔."--蓝魔 ...
- 牛客网比赛-Wannafly挑战赛27
无关前置 最近同学都在打牛客网的比赛并且博主也在写一下牛客网的题,博主就去看了看,打了一场,题目质量还是非常不错的.我才不会告诉你我没开long long错了好久QWQ 212A-灰魔法师 题意简述 ...
- Wannafly挑战赛27
A.灰魔法师 题目描述 "White shores, and beyond. A far green country under a swift sunrise."--灰魔法师 给 ...
- Wannafly挑战赛27: C. 蓝魔法师(树形DP)
链接:https://www.nowcoder.com/acm/contest/215/C 来源:牛客网 题目描述 "你,你认错人了.我真的,真的不是食人魔."--蓝魔法师 给出一 ...
- Wannafly挑战赛27: D. 绿魔法师(莫比乌斯函数)
链接:https://www.nowcoder.com/acm/contest/215/D 来源:牛客网 题目描述 "我不知道你在说什么,因为我只是个pupil."--绿魔法师 一 ...
- Wannafly挑战赛27 C 蓝魔法师(树上dp)
链接:https://ac.nowcoder.com/acm/contest/215/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
最新文章
- RDKit | 基于RDKit去除片段(盐或络合物等)
- python的assert(断言)异常步骤机制
- 漫画:通俗易懂的进程与线程解释
- 取消搜索状态_百度搜索引擎全网推广通常有哪些账户?
- 从单机到2000万QPS: 知乎Redis平台发展与演进之路
- pythonisnan_python - 在NumPy中快速检查NaN
- 数据分析没有思路怎么办
- IGH_Master主站配置驱动伺服电机和变频器总结
- 计算机键盘复制键是哪个,键盘按什么键复制粘贴_键盘上复制粘贴快捷键是哪个键-win7之家...
- DNA测序技术的发展史之——第二代测序技术
- FusionSphere虚拟化套件
- Ext2explore查看ext2/ext3/ext4 file
- 固态硬盘先装系统还是4k对齐?
- Android定位元素与操作
- Windows10编译MySQL8.0.28源码
- 利用搜索引擎来搜索特定网站中的关键词
- 笔记本网络里没有计算机图标,Windows 7没有本地连接图标如何解决?
- 【数据可视化 第一周】解构数据可视化
- Vim查找替换操作 --- 查找和替换
- CS231n-2022 Module1: 神经网络3:Learning and Evaluation
热门文章
- python代码大全-python贪吃蛇游戏代码
- python与java区别-python(一):python与java语法的异同之处
- python必背入门代码-初学Python必背手册
- 2020年PHP面试题大全
- android alphaanimation xml,android AlphaAnimation动画代码实现与XML实现
- java 字符串 float_Java 字符串转float运算 float转字符串
- 手机怎么打开f12_碰到生僻字看不懂怎么办?打开手机这个开关,一键即可秒懂...
- 使用 Shell 脚本实现安装进度指示器
- filazilla搭建ftp_使用Filezilla搭建FTP服务器
- Git 更改远程地址