正题

题目链接:https://www.luogu.com.cn/problem/CF1594F


题目大意

给出n,s,kn,s,kn,s,k,求是否所有的长度为nnn且和为sss的正整数序列都有一段和为kkk的区间。

1≤T≤105,1≤n,s,k≤10181\leq T\leq 10^5,1\leq n,s,k\leq 10^{18}1≤T≤105,1≤n,s,k≤1018


解题思路

可以考虑构造一个序列使得没有和为kkk的区间。

要求使得没有两个前缀和差值为kkk,构造时显然前面的越小越好,因为如果前面的增大给后面的减小那么还不如直接让前面的减小,当我们在前缀和中填入1∼k−11\sim k-11∼k−1之后我们下一个由于(0∼k−1)+k(0\sim k-1)+k(0∼k−1)+k都给封锁住了所以我们只能填2k2k2k,然后可以继续往后填2k∼3k−12k\sim 3k-12k∼3k−1,发现每隔kkk个就要加k+1k+1k+1。

也就是我们构造的序列是形如:1,1,1,1,...k+1,1,1,1,...k+1,1,1,11,1,1,1,...k+1,1,1,1,...k+1,1,1,11,1,1,1,...k+1,1,1,1,...k+1,1,1,1形式的,计算出前nnn个的最小和就好了。

然后交上去发现WA了,后来想了想当n<kn<kn<k时由于没有填上关键格所以需要特殊考虑,如果s=ks=ks=k时显然是无解的,否则n<kn<kn<k时填n−1n-1n−1个111然后填s−n+1s-n+1s−n+1即可。


code

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
ll T,s,n,k;
signed main()
{scanf("%lld",&T);while(T--){scanf("%lld%lld%lld",&s,&n,&k);if(n<k){if(s==k)puts("YES");else puts("NO");continue;}ll w=n/k*2ll*k+n%k;if(s<w)puts("YES");else puts("NO");}return 0;
}

CF1594F-Ideal Farm【构造】相关推荐

  1. Ideal Farm 构造(2400)

    题意 : 将s个物品分为n堆,每堆编号1-n,且保证每堆内至少有一个物品,问是否对于任意的一种物品分配方式都存在一个连续区间[l,r][l,r][l,r]使得,这段区间内对应堆中物品数量和为k 思路 ...

  2. Codeforces Round #747 (Div. 2)题解

    Codeforces Round #747 (Div. 2)题解 (本博客将持续更新以后每场CF div2的题解,喜欢ACM.OI的小伙伴记得点个关注哟) 昨天夜晚刷网络流刷入迷了,渐渐就忘记了我还要 ...

  3. 独家 | 构建端到端数据科学项目,从我的Data Scientist Ideal Profiles项目中学习(附链接)...

    翻译:张睿毅 校对:吴金笛 本文约1500字,建议阅读5分钟. 本文为你介绍了构建数据科学项目中重要的思维能力及训练建议. Joseph Barrientos 拍照于 Unsplash (链接:htt ...

  4. ideal常用快捷键

    新建项目时必须是单斜杠 ideal中的项目就相当于eclipse中的工作空间 建了项目之后,需要右键先新建模块(相当于eclipse中的项目),之后建包,类 ideal快捷键: main方法:psvm ...

  5. ideal如何创建dynamic web project

    步骤如下 ① file -> new -> project ② 选择 Java Enterprise -> next ③ create project from template - ...

  6. LeetCode简单题之构造矩形

    题目 作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的. 所以,现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面.要求: 你设计的矩形 ...

  7. 兑换量子计算机,阅读 | 【量子计算机】构造置换量子门

    原标题:阅读 | [量子计算机]构造置换量子门 量子计算机的一个基本组成单位叫量子门(quantum gate),下面简单介绍些基本概念. 量子比特和量子态 量子计算机的信息存储单元是一种叫做量子比特 ...

  8. [ActionScript 3.0] AS向php发送二进制数据方法之——在URLRequest中构造HTTP协议发送数据...

    主类 HTTPSendPHP.as 1 package 2 { 3 import com.JPEGEncoder.JPGEncoder; 4 import com.fylib.httpRequest. ...

  9. js把base64串解析成中文_回文问题终极篇:最小代价构造回文串

    学算法认准 labuladong 东哥带你手把手撕力扣? 点击下方卡片即可搜索? 读完本文,你可以去力扣完成第 1312 题「让字符串成为回文串的最少插入次数」,难度 Hard. 回文串就是正着读反着 ...

最新文章

  1. 【jquery】jquery基础知识
  2. 京沪深月薪均超2万元,清华近三成毕业生年入50万+ | 2019上半年中高端人才就业现状报告...
  3. IO流基础,创建File对象与方法是用
  4. SQL Server数据库表锁定原理以及如何解除表的锁定转
  5. 聊一聊Jmeter与多接口测试
  6. APP签名MD5获取
  7. MYSQL 自定义排序
  8. [转载] C++ STL之 vector的capacity和size属性区别
  9. comptia a+_CompTIA认证考试– A +,Network + Security +,CASP,Linux +和IT基础实践测试和网站
  10. jmeter元件的作用域与执行顺序
  11. 国家地表水水质自动监测站坐标位置数据(共1946个点位,含断面名称、所在省份、所在城市、经度、纬度、所在河流、所在流域、断面属性、介绍、属地管理)
  12. 名校400门免费人文社科公开课视频合集!
  13. 意创坊-移动富媒体平台
  14. 大数据应用管理模式及内容
  15. 尚硅谷谷粒商城第九天 模板引擎-Thymeleaf
  16. 用友服务器系统,用友软件 用友云服务器
  17. Java题目集-Chapter 10 Object-Oriented Thinking
  18. MAC电脑配置maven
  19. 实现用户端的充值、修改密码、查看个人信息、保存用户的信息到文件操作
  20. 使用Snake代理跳板

热门文章

  1. 通过简单的Word Count讲解MapReduce原理以及Java实现
  2. 电子计算机制作探测,如何自己制作一个简易的金属探测器
  3. python跟java 效率_Python和Java该如何选择?老男孩Python人工智能
  4. linux 内核 三天吐血,编译安装——吐血经验,内附脚本
  5. mat opencv 修改roi_设置图片ROI(OpenCV学习笔记之二)
  6. layui html模块化,终于搞懂了layui的模块化
  7. HTML第八章ppt,第八章 web基础教程之HTML篇v1.0.ppt
  8. 南湖量子计算机科学课程,《量子计算》暑期课程开课通知
  9. signature=fc89d4352b6699754c14ce282ec75426,Method for Assembly of Nucleic Acid Sequence Data
  10. 软件构造学习笔记-实验4