首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
游游的排列构造
7条解析
开通博客写题解
丨阿伟丨
发表于 2025-08-28 15:33:09
题目链接 游游的排列构造 题目描述 给定整数 和 ,需要构造一个长度为 的排列(包含 到 每个整数恰好一次),使得该排列中恰好有 个“好元素”,并且任意两个好元素都不相邻。 一个元素被称为“好元素”,如果它是其所在前缀的最大值。 解题思路 这是一个构造题,我们需要找到一种系统性的方法来构建
展开全文
给我中奖吧
发表于 2025-05-29 11:31:45
n, k = map(int, input().split()) # 生成好元素的位置(1-based的pos列表) pos = [2 * i + 1 for i in range(k)] # 检查位置是否超过n,这里假设输入是有效的,即2k-1 <=n # 生成好元素的数值,从n-k+1
展开全文
rpcwx
发表于 2026-02-22 13:33:03
#include <iostream> using namespace std; #include<vector> #include<algorithm> int main(){ int n,k; cin>>n>>k; int c=0;
展开全文
我是芭芭拉的狗
发表于 2026-01-05 22:35:40
n, k = map(int,input().split()) if n == 1: print('1') exit() t = n - k + 1 w = t - 1 for _ in range(k): if t != 0: print(t,end=' '
展开全文
BraveCoder
发表于 2025-10-21 11:13:02
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n
展开全文
乌鸦944
发表于 2026-02-12 21:53:16
/* 题目中要求我们构造一种方案满足恰好有k个好元素,其实不难发现如果我们从第k大的数作为第一个好元素开始往后填,但是题目要求我们好元素不相邻,那怎么保证不相邻呢? 隔着填呗,于是就有了这样一种构造方案: 定义好元素 p1 = n - k + 1 正常元素p1 = 1两者挨个填就行,只不过这里要防止
展开全文
扎男_
发表于 2025-05-28 20:42:22
//活动地址: 牛客春招刷题训练营 - 编程打卡活动 #include <iostream> using namespace std; int main() { int n,k; cin>>n>>k; // 先考虑特殊情况 if(n==
展开全文
查看本题
查看本题讨论
相关比赛
62033-牛客周赛 Round 5
进入比赛
63588-名校大联盟
进入比赛
65212-LetMeTry
进入比赛
66702-华北水利水电大学江淮校区ACM社团训练赛
进入比赛
72003-青年创客同盟蓝桥杯选拔赛
进入比赛
等你来战
查看全部
牛客小白月赛129
报名截止时间:2026-02-27 21:00
牛客周赛 Round 133
报名截止时间:2026-03-01 21:00
【小羊肖恩】小羊杯 Round 3
报名截止时间:2026-03-15 18:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题