Codeforces Round #839 (Div. 3) C. Different Differences

news/2025/1/12 3:47:07/

Problem - C - Codeforces

题意:

给定n和k,让你构造一个长度为k的数列,使其差分数组的数的种类尽可能多

思路:

贪心+构造

种类尽可能多,那就让1 ,+1之后+2,+3,....一直加,直到不能加为止

什么时候不能加呢?

这是个构造题,我们需要保证能够构造出长度为k的数组,这个是构造的条件

我们在构造过程中要想办法保证构造的条件被满足

因此我们需要预留出几个空位,使得这几个空位加上前面已经选的长度加起来要不少于 k

因此我们可以去维护这样给位置:

一开始在n-k

然后每加一个数,它就向右移一格,这样就能保证加起来刚好等于k了,当前面构造的数超过这个位置的时候停止加

Code:

#include <bits/stdc++.h>
using namespace std;
#define int long long
int n,k;
void solve(){cin>>k>>n;int t=n-k;int now=1,pre=1;cout<<1<<' ';for(int i=2;i<=k;i++){if(t>=now-1)t-=(now-1),cout<<pre+now<<' ',pre=pre+now,now++;else cout<<pre+1<<' ',pre=pre+1;}cout<<endl;
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int __=1;cin>>__;while(__--)solve();return 0;
}

总结:

构造题,确定好要满足的构造条件

我们在构造过程中要想办法保证构造的条件被满足


http://www.ppmy.cn/news/7211.html

相关文章

Python接口测试实战1(下)- 接口测试工具的使用

本节内容 抓包工具的使用Postman的使用 抓包工具的使用 抓包工具简介 Chrome/Firefox 开发者工具: 浏览器内置&#xff0c;方便易用Fiddler/Charles: 基于代理的抓包&#xff0c;功能强大&#xff0c;可以手机抓包&#xff0c;模拟弱网&#xff0c;拦截请求&#xff0c;定制…

开发者百宝箱——DevToys

开发者百宝箱——DevToys 文章目录 简介安装转换类型编码/解码格式化生成器文本处理图片设置参考文献 简介 DevToys 是一个开发人员的工具箱&#xff0c;基于 UWP 开发&#xff0c;免费开源无广告&#xff0c;支持中文&#xff0c;功能有&#xff1a; 转换类型 JSON / YAML…

画家创建百度百科词条的六注意事项你都了解吗!

百度百科是百度旗下的产品&#xff0c;随着百度百科审核机制越来越严格&#xff0c;百度百科的可信度也随之提高。 我们在日常中会遇到一些不懂的东西或者是想要了解一个人&#xff0c;下意识都会去浏览器搜索一下&#xff0c;出来的最上面的内容一般都是百度百科。 画家为什么…

华为开源自研AI框架昇思MindSpore数据处理:性能优化

目录一、环境准备1.进入ModelArts官网2.使用CodeLab体验Notebook实例二、下载数据集三、数据加载性能优化四、shuffle性能优化五、数据增强性能优化六、操作系统性能优化七、自动数据加速八、数据异构加速数据是整个深度学习中最重要的一环&#xff0c;因为数据的好坏决定了最终…

【JavaScript】23_浅拷贝和深拷贝 + 对象的复制 + 数组的常用方法

7、浅拷贝和深拷贝 浅拷贝&#xff08;shallow copy&#xff09; 通常对对象的拷贝都是浅拷贝浅拷贝顾名思义&#xff0c;只对对象的浅层进行复制&#xff08;只复制一层&#xff09;如果对象中存储的数据是原始值&#xff0c;那么拷贝的深浅是不重要浅拷贝只会对对象本身进行…

一文搞懂中台与产品微服务、SaaS的区别

出处&#xff1a;本文摘录自《中台产品经理》一书 谈到“中台”&#xff0c;我们不得不说的另外两个概念就是“微服务”与“SaaS”&#xff0c;有很多人会把“中台”与这两个概念画上等号。但实际上&#xff0c;中台 ≠产品微服务 ≠ SaaS。这两个概念看似与中台很相似&#xf…

Spring与SpringBoot

目录 前言 1、Spring能做什么 1.1、Spring的能力 1.2、Spring的生态 1.3、Spring5重大升级 1.3.1、响应式编程 1.3.2、内部源码设计 2、为什么用SpringBoot 2.1、SpringBoot优点 2.2、SpringBoot缺点 3、时代背景 3.1、微服务 3.2、分布式 分布式的困难 分布式的…

Java多线程创建及典型实例(多线程买票)

Java多线程创建及典型实例&#xff08;多线程买票&#xff09;多线程1. Thread2. Runnable3. 线程通信4. Callable5. 线程池多线程卖票实例1. 继承Thread类&#xff08;存在线程安全问题&#xff09;2. 实现Runnable接口&#xff08;存在线程安全问题&#xff09;3. 对线程安全…