Sum of Odd Intergers 题解

  • Codeforces【1327A】: Sum of Odd Intergers题解
    • 一、题目描述
    • 二、解题思路
    • 三、注意事项
    • 四、完整代码
    • 五、另一种不错的解法

Codeforces【1327A】: Sum of Odd Intergers题解

一、题目描述

原题链接 :https://codeforces.com/problemset/problem/1327/A

题目大意 : 有test组测试样例,每组两个整数n, k ; 对于每组样例,如果n可以被k个不同的奇数表示输出“YES”, 否则输出“NO”

二、解题思路

对于一组n, k而言,如果n比k个最小的不同的奇数的和小,那么显然n不能由k个不同的奇数表示, 输出“NO”;
如果比它大的话,用n减去k个最小的不同的奇数的和得到一个余数,如果余数为奇数,则无法满足条件(无法让两个奇数相加等于一个奇数),输出“NO”;如果余数是偶数的话,可满足条件,输出“YES”。

三、注意事项

  • 题目的t的范围还是很大的,为了读取速度,建议使用scanf()来读取数据,(P.S. 当然我没用也没TLE)
  • 1e7个不同的奇数相加(见下图)是很大的,用int的话会爆掉,需要long long

四、完整代码

// Sum of Odd Intergers
#include <iostream>
#define N 10000020
typedef unsigned long long ull;
using namespace std;ull a[N];
void init(void);
bool query(ull n, int k);int main (void)
{int n, k, t;init();cin >> t;while (t--){cin >> n >> k;cout << (query(n, k) ? "YES" : "NO") << endl;}return 0;
}void init(void)
{int cnt = 1;for (int i = 1; i < N; i++){a[i] = a[i - 1] + cnt;cnt += 2;}// for (int i = 0; i < N; i++)//     cout << a[i] << endl;
}bool query(ull n, int k)
{if (n >= a[k] && ((n - a[k]) % 2 == 0))return true;elsereturn false;
}

五、另一种不错的解法

int main()
{long long n, k, test;cin >> test;while (test--){cin >> n >> k;if (n % 2 == k % 2){if (k * k <= n)cout << "YES" << endl;elsecout << "NO" << endl;}elsecout << "NO" << endl;}return 0;
}

【Codeforces1327A】: Sum of Odd Intergers C/C++题解相关推荐

  1. Sum All Odd Fibonacci Numbers-freecodecamp算法题目

    Sum All Odd Fibonacci Numbers 1.要求 给一个正整数num,返回小于或等于num的斐波纳契奇数之和. 斐波纳契数列中的前几个数字是 1.1.2.3.5 和 8,随后的每一 ...

  2. PAT甲级1104 Sum of Number Segments:[C++题解]数段之和,测试点2爆double,请用long double!!!

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:本题题意比较简单,但是不能仅仅根据定义来算. 本题思路:统计每个数在多少个区间出现过,也就是这个数需要加多少次.共有n个数,其中第i个 ...

  3. Codeforces 1327 A. Sum of Odd Integers

    题意: 有 k k k 个不同的奇数,问最后是否有可能和为 n n n. 首先必须 n , k n,k n,k 奇偶相同,这个我们很容易就能理解.然后就是 k k k 个奇数相加最小值大于 n n n ...

  4. Codeforces 797B - Odd sum

    B. Odd sum 题目链接:http://codeforces.com/problemset/problem/797/B time limit per test 1 second memory l ...

  5. Java学习记录_1:MOOC《零基础学Java语言》课后习题解

    Hey,我是寒水,一名大二学生,电子商务专业在读,正在学习Java中.我试图将在Java学习中遇到的一些困惑和最终的解答发在这个账号上,希望以此来激励我不要放弃学习! 在学习记录这个专题中,我收藏一些 ...

  6. 【PAT】PAT甲级题库所有题解(持续更新中...)

    题解: 本文为导航页,一些希望刷PAT甲级的玩家可以来看看,我会持续更新所有题目的题解(取决于我做到哪儿了(doge)) 题号按照PAT官网给出的标注 题目: 链接 标签 1001 A+B Forma ...

  7. c语言期末考试复习题

    单项选择题 1.( A  )是构成C语言程序的基本单位. A.函数        B.过程       C.子程序    D.子例程 2.C语言程序从C  开始执行. A) 程序中第一条可执行语句   ...

  8. c语言定义不定长数组初始化_大学C语言期末考试练习题(带详解答案)(1)

    链接:https://pan.baidu.com/s/1d2Bb1vNTyBNpFGneIAicVw 提取码:y7uw 单项选择题 C语言的基本单位是 函数 1.(A  )是构成C语言程序的基本单位. ...

  9. Codeforces暑期训练周报(7.21~7.27)

    A. Flipping Game time limit per test: 1 second memory limit per test:  256 megabytes input: standard ...

最新文章

  1. 在哥大计算机视觉读博的五年总结
  2. 自学it18大数据笔记-第三阶段Spark-day04——会持续更新……
  3. Sigmoid 函数(To be continued)
  4. 三十八、学Sql,不了解Sql注入怎么行?
  5. 一个最简单的WebSocket hello world demo
  6. Activity中 onResume和onPause与onStart()和onStop()的一些思考
  7. (转)GitHub 被微软收购后的 52 天,改版并放弃了 jQuery!
  8. Spring、SpringMVC和Springboot的区别
  9. cesium 加载bim模型_BIM+GIS跨界融合,打造智能未来新利器
  10. html5 Ajax 访问.net WebApi获取视频流
  11. 微信小程序中-[渲染层网络层错误] pages/card/card.wxss 中的本地资源图片无法通过 WXSS 获取-解决办法
  12. 关于多目标跟踪的一点理解
  13. window系统电脑进入bios设置的万能通用方法,台式组装机也可以使用。
  14. matlab学习笔记 repmat函数与kron函数之区别
  15. mysql phpwind_php+mysql及phpwind和wordpress的安装配置
  16. 软件项目管理作业(一)
  17. 微信公众号教程-注册发布文章
  18. MAP一个KEY多个value处理方法
  19. 使用RTOS系统如何选取大容量存储芯片NAND FLASH
  20. codeforces514

热门文章

  1. css变成块级元素_css块级元素垂直居中常用布局方式
  2. mysql proxies_priv_Mysql5.7.18利用MySQLproxies_priv实现类似用户组管理实例分享
  3. 鼠标点上去怎么那向上html,鼠标上去文字上移.html
  4. android播放页蒙层过渡效果,EasyGuideLayer: 这可能是最简单、灵活、强大的页面蒙层组件了!...
  5. 每天一个linux命令(23):Linux 目录结构
  6. 初识微信小程序第一弹
  7. 大厂首发!java代码对齐快捷键
  8. 一个三非渣本的Java校招秋招之路,搞懂这些直接来阿里入职
  9. python【力扣LeetCode算法题库】1160-拼写单词
  10. python【蓝桥杯vip练习题库】BASIC-18 矩形面积交(线段交)