1400*B. Phoenix and Beauty(贪心&构造)

这篇具有很好参考价值的文章主要介绍了1400*B. Phoenix and Beauty(贪心&构造)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Problem - 1348B - Codeforces

1400*B. Phoenix and Beauty(贪心&构造),codeforces,算法,c++,数据结构,开发语言,贪心,构造

1400*B. Phoenix and Beauty(贪心&构造),codeforces,算法,c++,数据结构,开发语言,贪心,构造 解析:

        满足题意,会构成循环序列,其中循环节长度为 k,统计数列中不同元素的个数 cnt ,如果cnt > k,显然无解。

        否则,由于题意中已经证明,答案序列个数小于等于 10000,并且 n和k的范围都为100,则n*k小于等于10000,所以我们直接把去重后的序列 a 重复 n 次即可。并且如果a不足k个,直接补 1即可。文章来源地址https://www.toymoban.com/news/detail-714920.html

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+5;
int t,n,k,a[N]; 
signed main(){
	scanf("%lld",&t);
	while(t--){
		scanf("%lld%lld",&n,&k);
		set<int>s;
		for(int i=1;i<=n;i++){
			scanf("%lld",&a[i]);
			s.insert(a[i]);
		}
		if(s.size()>k) puts("-1");
		else{
			vector<int>v;
			for(auto it:s) v.push_back(it);
			printf("%lld\n",n*k);
			for(int i=1;i<=n;i++){
				for(int j=0;j<v.size();j++) printf("%lld ",v[j]);
				for(int j=1;j<=k-v.size();j++) printf("1 ");
			}
			printf("\n");
		}
	}
	return 0;
}

到了这里,关于1400*B. Phoenix and Beauty(贪心&构造)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【夜深人静学习数据结构与算法 | 第六篇】贪心算法

    目录 前言: 引入: 贪心算法:     455. 分发饼干 - 力扣(LeetCode) 376. 摆动序列 - 力扣(LeetCode) 53. 最大子数组和 - 力扣(LeetCode) 122. 买卖股票的最佳时机 II - 力扣(LeetCode)         在本文我们将为大家介绍在计算机中比较常见的一种算法:贪心算法。他并没有具体的代

    2024年02月09日
    浏览(34)
  • 数据结构与算法之贪心&动态规划

            一:思考         1.某天早上公司领导找你解决一个问题,明天公司有N个同等级的会议需要使用同一个会议室,现在给你这个N个会议的开始和结束 时间,你怎么样安排才能使会议室最大利用?即安排最多场次的会议?电影的话 那肯定是最多加票价最高的,入场

    2024年02月09日
    浏览(39)
  • 【CF闯关练习】—— 1400分(C. Make Good、B. Applejack and Storages)

    🌏博客主页: PH_modest的博客主页 🚩当前专栏: cf闯关练习 💌其他专栏: 🔴 每日一题 🟡 C++跬步积累 🟢 C语言跬步积累 🌈座右铭: 广积粮,缓称王! 👉传送门👈 XOR运算就是按位异或:相同为0,不同为1 这个操作符有两个结论: X ⊕ X = 0 Xoplus X= 0 X ⊕ X = 0 0 ⊕ X = X

    2024年01月21日
    浏览(30)
  • 【地铁上的面试题】--基础部分--数据结构与算法--动态规划和贪心算法

    一、动态规划的基本概念和思想 1.1 动态规划的定义和特点 动态规划是一种解决多阶段决策问题的算法思想,它通过将问题划分为若干个子问题,并保存子问题的解来求解原问题的方法。动态规划的特点包括以下几个方面: 最优子结构性质:动态规划问题具有最优子结构,即

    2024年02月12日
    浏览(44)
  • 算法分析与设计考前冲刺 (算法基础、数据结构与STL、递归和分治、 动态规划、贪心算法、 回溯算法)

    算法分析与设计考前冲刺 算法基础 算法是一系列解决问题的清晰指令,代表着用系统的方法描述解决问题的策略机制。 程序是算法用某种程序设计语言的具体的 具体实现 算法特征: 有穷性(有限步) 确定性 输入 输出 可行性(有限时间) 算法的复杂性: 时间复杂性 和空间复

    2024年02月02日
    浏览(33)
  • 【数据结构】算法题:邻接表构造相应的逆邻接表

    编写算法:根据含有n个顶点的有向图邻接表,构造相应的逆邻接表。 1.算法的思想: 邻接表和逆链接表的 顶点信息是相同的 ,直接复制即可。把 出边信息转换成入边信息 ,则需要逐一访问邻接表的各结点的出边表,把边结点通过头插法插入相应的入边表中。 2.算法的实现

    2024年02月11日
    浏览(37)
  • 【算法与数据结构】106、LeetCode从中序与后序遍历序列构造二叉树

    所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。    思路分析 :首先我们要知道后序遍历数组的最后一个元素必然是根节点,然后根据根节点在中序遍历数组中的位置进行划分,得到根节点的左右子树遍历数组,以此递归。当然这里有一个前提

    2024年02月10日
    浏览(31)
  • Codeforces Round 916 (Div. 3)(E:贪心 F贪心dfs G tarjan+topsort +线段树优化建图)

    A:直接暴力统计每个字符的次数是否达标即可 B:直接先输出所需要的k,然后降序输出剩下的即可 C: 直接枚举最后操作到哪个位置就行了,然后贪心一直操作1到i的位置的b最大值即可 D: 先固定第一次是A 第二次是B 第三次是C 枚举B为中介点i,然后求1到i-1的A的最大值,和

    2024年01月17日
    浏览(31)
  • Codeforces Round 816 (Div. 2)(D拆位图论构造 E斜率优化)

    C:直接单独算每个位置的贡献,如果当前位置和前面位置重复了,那么前面就没选的位置了 修改的时候只要重新算i和i+1位置即可 D: 拆位,考虑字典序最小,让开头的数能等于0就等于0 要先把一定是0的数和u==v这种确定的数先填了,后面根据字典序填即可 E: 直接斜率优化

    2024年04月27日
    浏览(27)
  • G. Rudolf and CodeVid-23 codeforces1846G

    Problem - G - Codeforces 题目大意:给出一长度为n的二进制字符串s,和m对二进制字符串e1和e2,,费用为d,s和一对字符串操作后s中是1且e1中也是1的位置会变成0,s中是0,e2中是1的位置会变成1,得到新的s,每对字符串可以操作任意次,问能否使s变成全0字符串 1=n=10;1=m=1000;1=d=

    2024年02月13日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包