当前位置: 首页 > news >正文

codeforces每日两道思维题(第 二 天)

第二天

1 B. Same Parity Summands

原题链接:Problem - 1352B - Codeforces

rating : 1200

题目描述:
给定两个正整数 n(1≤n≤10^9)和 k(1≤k≤100)。将数字 n 表示为 k 个相同奇偶性的正整数之和(除以 2 时余数相同)。

换句话说,找到 a1, a2, …, ak,使得所有 ai>0,n=a1+a2+…+ak,并且所有 ai 同时是偶数或奇数。

如果不存在这样的表示,则报告它。


思路描述:

首先我们要知道一个点,那就是任何一个正整数加上一个偶数,这个数奇偶性不会发生改变,即一个奇数加一个偶数的和还是奇数,一个偶数加一个偶数的和还是一个偶数

所以,根据这个特性,我们只需要判断最后一个数字加上n%k之后会不会发生奇偶性变化,即判断n%k是否为偶数

如果为偶数,那么前k-1个数字我们让他是n/k,最后一个数字是n/k+n%k,因为n%k是偶数,所以最后一个数字的奇偶性跟前k-1个数字是相同的,这就是答案

如果n%k此时是奇数,那么我们可以将前k个数字都-1,判断n%k+k是否是偶数,如果是偶数,那么存在答案

如果n%k+k是奇数,那么一定不存在答案

那为什么我们不继续加上一个k试一下呢?

如果继续加一个k,此时就是n%k+2 * k,因为2 * k是偶数,不改变原数字奇偶性,所以等同于没加,所以不需要继续加

完整代码:

#include<iostream>long long int t;
long long int n, k;int main() {std::cin >> t;while (t--) {std::cin >> n >> k;//如果数字个数大于n,那么序列和一定大于n,一定无解if (k > n)std::cout << "NO" << std::endl;else {long long  int q = n / k;//商long long  int r = n % k;//余数//如果r是偶数,那么就是能转换成答案if (r % 2 == 0) {std::cout << "YES" << std::endl;for (int i = 1; i < k; i++)std::cout << q << ' ';std::cout << r + q << std::endl;continue;}//如果r此时不是偶数,看看能不能把r转换成偶数q--, r += k;if (q > 0 && r % 2 == 0) {std::cout << "YES" << std::endl;for (int i = 1; i < k; i++)std::cout << q << ' ';std::cout << r + q << std::endl;}else std::cout << "NO" << std::endl;}}return 0;
}
http://www.lryc.cn/news/252947.html

相关文章:

  • 【网络安全】-常见的网站攻击方式详解
  • ElasticSearch学习笔记(一)
  • go写文件后出现大量NUL字符问题记录
  • 【Collection - PriorityQueue源码解析】
  • Javascript_根据截止日期超时自动返回
  • 记录 | vscode设置自动换行
  • k8s引用环境变量
  • navicate16 2059 plugin http could not be loaded
  • dp-基础版动态规划(动态规划每日一题计划)10/50
  • 轻食沙拉店外卖配送小程序商城效果如何
  • Oracle ADRCI工具使用说明
  • Amazon CodeWhisperer 正式可用, 并面向个人开发者免费开放
  • 8-Hive原理与技术
  • cloudflare Tunnel完整
  • 微信聊天窗口测试用例
  • Linux下配置邮箱客户端MUTT,整合msmtp + procmail + fetchmail
  • [每周一更]-(第75期):Go相关粗浅的防破解方案
  • 停留时间是您需要跟踪的 SEO 指标
  • ES常用操作语句
  • MicroPython STM32F4 RTC功能使用介绍
  • 【鸿蒙应用ArkTS开发系列】- 选择图片、文件和拍照功能实现
  • 公有云迁移研究——AWS Route53
  • 浪潮信息KeyarchOS——保卫数字未来的安全防御利器
  • python-单词本|通讯录
  • oracle impdp 导入元数据表空间异常增大的解决办法
  • 网站高可用架构设计基础
  • 基础堆溢出原理与DWORD SHOOT实现
  • ts的一些
  • LORA概述: 大语言模型的低阶适应
  • 关于在PyTorch中使用cudnn.benchmark= True