题目

题目

原数据是水成啥样了,\(<\longrightarrow <=,>=\longrightarrow <=,\)这也能过 被\(hack\)后身败名裂

做法

简单的贪心吧

开始先填上\(1\)~\(k\),然后如果能全部\(+1\)就加:这样一定能为后面的构造创造出更多的可能(\(2\)倍的限制)

后面就找到能填的最小的位置反复填就行了

Code

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL maxn=1e6+9;
LL n,k;
LL a[maxn];
int main(){cin>>n>>k;LL ret(0);for(LL i=1;i<=k;++i) a[i]=i,ret+=a[i];if(ret>n){puts("NO"); return 0;}LL tmp(n-ret);if(tmp>=k){LL lun(tmp/k);for(LL i=1;i<=k;++i) a[i]+=lun;ret+=lun*k;}LL up(0);while(true){tmp=n-ret;if(!tmp) break;LL now(std::max(k-tmp+1,up));if(a[now-1]*2<a[now]+1){LL f(0);for(LL j=now+1;j<=k;++j){if(a[j-1]*2>=a[j]+1){f=j;break;}}if(!f){puts("NO"); return 0;}up=f;for(LL j=f;j<=k;++j) ++a[j];ret+=k-f+1;}else{for(LL i=now;i<=k;++i) ++a[i];ret+=k-now+1;}}   puts("YES");for(LL i=1;i<=k;++i) cout<<a[i]<<' ';return 0;
}

转载于:https://www.cnblogs.com/y2823774827y/p/10778811.html

CF1157D N Problems During K Days(简单构造)相关推荐

  1. 4014基于邻接表的长度为k的简单路径的求解

    描述 一个连通图采用邻接表作为存储结构.设计一个算法,判断无向图中任意给定的两点是否存在一条长度为k的简单路径. 输入 多组数据,每组m+3数据行.第一行有两个数字n,m和k,代表有n个顶点,m条边和 ...

  2. CUGBACM22级暑假小学期训练-简单构造

    CUGBACM22级暑假小学期训练-简单构造 这Typora打到9000多字就开始卡了,难绷 A - Gardener and the Capybaras (hard version) 题意:给一个字 ...

  3. c语言程序构造数据类型问题,C语言程序设计课程课件之第四章简单构造数据类型.ppt...

    C语言程序设计课程课件之第四章简单构造数据类型 第四章 简单构造数据类型 目录 4.1 一维数组 4.2 二维数组 4.3 字符数组 4.4 数组与指针 4.5 数组及指针作为函数参数 4.1 一维数 ...

  4. 4014-基于邻接表的长度为k的简单路径的求解(C++,附思路)

    描述 一个连通图采用邻接表作为存储结构.设计一个算法,判断无向图中任意给定的两点是否存在一条长度为k的简单路径. 输入 多组数据,每组m+3数据行.第一行有两个数字n,m和k,代表有n个顶点,m条边和 ...

  5. K Co-prime Permutation 构造,gcd,互质(2020.12.南京)

    题意 : 求构造一个n的排列,满足其中恰好k个元素与下标互质,如果不能则输出-1 思路 : 让前k个与下标偏移1,后面的都与下标相同即可 当且仅当k=0时,无解,输出-1 #include <i ...

  6. GYM CERC 16 K Key Knocking 构造

    Problem K 题意:给出长度为3n的01串,定义一个串的价值为:相邻不同的个数+1.例如011010100 价值为7. 操作反转两个相邻元素:将[x,x+1]两个元素的值反转,0->1,1 ...

  7. 采用邻接表存储结构,编写一个判别无向图中任意给定的两个顶点之间是否存在一条长度为k的简单路径的算法。

    以邻接表存储的有向图中是否存在有顶点Vi到Vj顶点的路径(i!=j). 问题描述:试基于图的深度优先搜索策略编写一程序,判别以邻接表存储的有向图中是否存在有顶点Vi到Vj顶点的路径(i!=j). 输入 ...

  8. N Problems During K Days

    https://codeforces.com/contest/1157/problem/D 题意:找到一个长度为k的元素大于0的数组,并且,整个数组的和等于n 题解:因为数组严格递增,数组最小和k*( ...

  9. 超超超 简单构造者模式

    需求: 电脑类用于主键构造者模式 使⽤构建者设计模式来⽣产computer(演示用了String 其实都是对象·) 主要步骤: 1.将需要构建的⽬标类分成多个部件(电脑可以分为主机.显示器.键盘.⾳箱 ...

  10. html+css编写简单构造跳动爱心

    一.主要思路是 二.完整参考代码: 三.附上部分参考注释 四.最终效果 一.主要思路是 构造一个大盒子,里面放left.right.bottom三个小盒子,并将三个盒子设置好边框宽度.高度.弧度达到想 ...

最新文章

  1. Udacity机器人软件工程师课程笔记(二)-样本搜索和找回-基于漫游者号模拟器
  2. shell在二级python_在python下运行时在shell脚本之间传递shell变量[duplicate]
  3. java线程删除文件,线程“main”java.io.jgitinernalexception中的异常:无法删除临时文件c:\users\13 dec...
  4. android大疆飞控界面,DJI Android SDK 开发笔记(入门篇)
  5. python opencv过滤红色
  6. 张一鸣的心里“住着小马哥”
  7. Low Power概念介绍<Level Shifter>
  8. js回文数的四种判断方法
  9. dva处理_dva中使用store管理数据的异步问题
  10. 通过代理截取并修改非对称密钥加密信息
  11. 杰奇2.3内核淡绿唯美小说网站源码 PC+手机版
  12. 关于C语言进位问题的小测试(直接去尾or四舍五入)
  13. OSChina 周四乱弹 —— 这个腿就有我来守护了
  14. 如何恢复扩展属性为u的linux文件,chattr - 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性...
  15. 计算机视觉基础知识复习
  16. 共轭方式怎么判断_有机化学中共轭体系的类型怎么判断
  17. 几种线程安全的Map解析,真香系列
  18. vscode的vue代码提示与补全没反应(vetur问题)
  19. 微信云开发Al短视频一键换脸小程序源码
  20. Microsoftware Project 的安装和使用不需要连接project server

热门文章

  1. Xfce4里添加登录后程序自动运行
  2. Benchmark与Profiler---性能调优得力助手
  3. SDxCentral 2015年NFV报告
  4. Android 读取手机归属地
  5. rhel5中查询设备上采用的未知文件系统
  6. Android关闭输入法键盘
  7. BZOJ2521[SHOI2010] 最小生成树
  8. [2018.03.13 T3]联盟(alliances)
  9. 远程文件传输工具Filezilla
  10. actions vuex 请求_vuex中actions请求的数据提交给mutations,组件中获取到参数如何根据参数操作下面...