#贪心,构造#AT2266 [AGC008D] K-th K
题目
给你一个长度为 \(N\) 的整数序列 \(X\),请判断是否存在一个满足下列条件的整数序列 \(a\),如果存在,请构造一种方案
条件如下:
\(a\) 的长度为 \(N^2\),并且满足数字 \(1,2,3...N\) 都各出现恰好 \(N\) 次
对于 \(1\leq i\leq N\),数字 \(i\) 在 \(a\) 中第 \(i\) 次出现的位置是 \(X_i\)
分析
按照 \(X\) 从小到大排序,将 \(1\sim i-1\) 的数直接找空位填,倒过来再做一次就可以了
代码
#include <cstdio>
#include <cctype>
#include <algorithm>
#define rr register
using namespace std;
const int N=501; int ans[N*N],n;
struct rec{int x,rk;}a[N];
inline signed iut(){
	rr int ans=0; rr char c=getchar();
	while (!isdigit(c)) c=getchar();
	while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();
	return ans;
}
inline void print(int ans){
	if (ans>9) print(ans/10);
	putchar(ans%10+48);
}
bool cmp(rec x,rec y){return x.x<y.x;}
signed main(){
	n=iut();
	for (rr int i=1;i<=n;++i) a[i]=(rec){iut(),i};
	sort(a+1,a+1+n,cmp);
	for (rr int i=1;i<=n;++i){
		ans[a[i].x]=a[i].rk;
		rr int now=1;
		for (rr int j=1;j<a[i].rk;++j){
			for (;ans[now];++now);
			if (now>a[i].x) return !printf("No");
			ans[now]=a[i].rk;
		}
	}
	for (rr int i=n;i;--i){
		rr int now=n*n;
		for (rr int j=1;j<=n-a[i].rk;++j){
			for (;ans[now];--now);
			if (now<a[i].x) return !printf("No");
			ans[now]=a[i].rk;
		}
	}
	printf("Yes\n");
	for (rr int i=1;i<=n*n;++i) print(ans[i]),putchar(32);
	return 0;
}
#贪心,构造#AT2266 [AGC008D] K-th K的更多相关文章
- URAL 1995 Illegal spices 贪心构造
		Illegal spices 题目连接: http://acm.timus.ru/problem.aspx?space=1&num=1995 Description Jabba: Han, m ... 
- 贪心/构造/DP 杂题选做
		本博客将会收录一些贪心/构造的我认为较有价值的题目,这样可以有效的避免日后碰到 P7115 或者 P7915 这样的题就束手无策进而垫底的情况/dk 某些题目虽然跟贪心关系不大,但是在 CF 上有个 ... 
- 贪心/构造/DP 杂题选做Ⅱ
		由于换了台电脑,而我的贪心 & 构造能力依然很拉跨,所以决定再开一个坑( 前传: 贪心/构造/DP 杂题选做 u1s1 我预感还有Ⅲ(欸,这不是我在多项式Ⅱ中说过的原话吗) 24. P5912 ... 
- 贪心/构造/DP 杂题选做Ⅲ
		颓!颓!颓!(bushi 前传: 贪心/构造/DP 杂题选做 贪心/构造/DP 杂题选做Ⅱ 51. CF758E Broken Tree 讲个笑话,这道题是 11.3 模拟赛的 T2,模拟赛里那道题的 ... 
- Educational Codeforces Round 20  C 数学/贪心/构造
		C. Maximal GCD time limit per test 1 second memory limit per test 256 megabytes input standard input ... 
- 贪心+构造(  Codeforces Round #344 (Div. 2))
		题目:Report 题意:有两种操作: 1)t = 1,前r个数字按升序排列: 2)t = 2,前r个数字按降序排列: 求执行m次操作后的排列顺序. #include <iostream&g ... 
- 判断字符串是否包含字母‘k’或者‘K’
		判断字符串是否包含字母‘k’或者‘K’ public bool IsIncludeK(string temp) { temp = temp.ToLower(); if (temp.Contains(' ... 
- HDU 4726 Kia's Calculation(贪心构造)
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4726 题意:给出两个n位的数字,均无前缀0.重新排列两个数字中的各个数,重新排列后也无前缀0.得到的两 ... 
- 给定整数a1、a2、a3、...、an,判断是否可以从中选出若干个数,使得它们的和等于k(k任意给定,且满足-10^8 <= k <= 10^8)。
		给定整数a1.a2.a3.....an,判断是否可以从中选出若干个数,使得它们的和等于k(k任意给定,且满足-10^8 <= k <= 10^8). 分析:此题相对于本节"寻找满 ... 
- 【POJ】2449.Remmarguts' Date(K短路 n log n + k log k + m算法,非A*,论文算法)
		题解 (搬运一个原来博客的论文题) 抱着板题的心情去,结果有大坑 就是S == T的时候也一定要走,++K 我发现按照论文写得\(O(n \log n + m + k \ log k)\)算法没有玄学 ... 
随机推荐
- pikachu SQL-inject  insert/update注入
			insert 注入 (修改信息处是update注入,和此处同理) 注册页面,用户处输入 1' 发现报错信息 You have an error in your SQL syntax; check th ... 
- 面向对象之封装,类的相关操作,私有成员删除,构造方法__init__---day20
			1.面向对象之封装 # ### 面向对象oop -封装 """ 类中封装: 成员属性 成员方法 封装等级: 1.公有:公有成员既能够在类外调用,也可在类内调用 2.私有: ... 
- python内置模块argparse的使用
			官网文档 https://docs.python.org/3/howto/argparse.html # 简易教程 https://docs.python.org/3/library/argparse ... 
- proc_sys_reset 复位时序
			proc_sys_reset 模块时序 下面为仿真时序,这里做一个record , 后面有使用问题可以参考该时序: 点击查看代码 module test( ); bit slowest_sync_cl ... 
- 【Azure 应用服务】Azure Function 部署槽交换时,一不小心把预生产槽上的配置参数交换到生产槽上,引发生产错误
			问题描述 部署Function代码先到预生产槽中,进行测试后通过交换方式,把预生产槽中的代码交换到生产槽上,因为在预生产槽中的设置参数值与生产槽有不同,但是在交换的时候,没有仔细检查.导致在交换的时候 ... 
- 【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
			问题描述 在Azure上创建的数据库,单独通过SQL的连接工具是可以访问,但在Web App却无法访问,错误信息为: { "timestamp": "2021-05-20 ... 
- 【Azure 微服务】记一次错误的更新Service Fabric 证书而引发的集群崩溃而只能重建
			问题描述 错误的操作步骤: 1)更新Service Fabric 的证书,制定了次要证书(Secondary),但是只修改了Service Fabric Cluster证书,而没有指定VMSS(虚拟机 ... 
- 用 NetworkX + Gephi + Nebula Graph 分析<权力的游戏>人物关系(下篇)
			在上一篇[1]中,我们通过 NetworkX 和 Gephi 展示了<权力的游戏>中的人物关系.在本篇中,我们将展示如何通过 NetworkX 访问图数据库 Nebula Graph. N ... 
- Java   关于继承小练习
			1 package com.bytezero.inherit; 2 3 /* 4 * 面向对象的特征二:继承性 5 * 6 * 一.继承性的好处: 7 * ①减少了代码的冗余,提供了代码的复用性 8 ... 
- Python 潮流周刊第 41 期(摘要),赠书5本
			本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ... 
