您当前的位置: 首页 >  ide

MangataTS

暂无认证

  • 2浏览

    0关注

    423博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Divide by Zero 2021 and Codeforces Round #714 (Div. 2)

MangataTS 发布时间:2021-04-25 09:43:00 ,浏览量:2

目录
  • A. Array and Peaks
    • 题意
    • 解题思路
    • Code
  • B. AND Sequences
    • 题意
    • 解题思路
    • Code
  • C. Add One
    • 题意
    • 解题思路
    • Code
A. Array and Peaks

传送门

题意

给你一个n表示的是这个数组的长度,并且数组的元素只能有[1,n]范围内唯一的数确定,然后给你一个k表示的是你构造的数组的高峰数目,高峰指的是 中间元素比两边元素大eg: 1 3 2 ,3就是这个数组的一个高峰

解题思路

很明显我们会发现高峰数是有一个取值范围的[0,(n-1)/2],在这个范围内是我们能取到的正确高峰,我们不难发现,我们要想构造完最多的高峰我们用到的作为高峰数一定是后面的(n-1)/2个数,那么我们就可以先输出一个当前元素,然后再输出一个高峰元素,这样构造即可,不懂请看代码

Code
#include
using namespace std;

int t,n,k;

int main()
{
	cin>>t;
	while(t--) {
		cin>>n>>k;
		if(k > (n-1)/2) {
			puts("-1");
			continue;
		}
		int cnt = k;
		for(int i = 1,j = n;i             
关注
打赏
1665836431
查看更多评论
0.0397s