【Codeforces1327A】: Sum of Odd Intergers C/C++题解
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++题解相关推荐
- Sum All Odd Fibonacci Numbers-freecodecamp算法题目
Sum All Odd Fibonacci Numbers 1.要求 给一个正整数num,返回小于或等于num的斐波纳契奇数之和. 斐波纳契数列中的前几个数字是 1.1.2.3.5 和 8,随后的每一 ...
- PAT甲级1104 Sum of Number Segments:[C++题解]数段之和,测试点2爆double,请用long double!!!
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:本题题意比较简单,但是不能仅仅根据定义来算. 本题思路:统计每个数在多少个区间出现过,也就是这个数需要加多少次.共有n个数,其中第i个 ...
- 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 ...
- Codeforces 797B - Odd sum
B. Odd sum 题目链接:http://codeforces.com/problemset/problem/797/B time limit per test 1 second memory l ...
- Java学习记录_1:MOOC《零基础学Java语言》课后习题解
Hey,我是寒水,一名大二学生,电子商务专业在读,正在学习Java中.我试图将在Java学习中遇到的一些困惑和最终的解答发在这个账号上,希望以此来激励我不要放弃学习! 在学习记录这个专题中,我收藏一些 ...
- 【PAT】PAT甲级题库所有题解(持续更新中...)
题解: 本文为导航页,一些希望刷PAT甲级的玩家可以来看看,我会持续更新所有题目的题解(取决于我做到哪儿了(doge)) 题号按照PAT官网给出的标注 题目: 链接 标签 1001 A+B Forma ...
- c语言期末考试复习题
单项选择题 1.( A )是构成C语言程序的基本单位. A.函数 B.过程 C.子程序 D.子例程 2.C语言程序从C 开始执行. A) 程序中第一条可执行语句 ...
- c语言定义不定长数组初始化_大学C语言期末考试练习题(带详解答案)(1)
链接:https://pan.baidu.com/s/1d2Bb1vNTyBNpFGneIAicVw 提取码:y7uw 单项选择题 C语言的基本单位是 函数 1.(A )是构成C语言程序的基本单位. ...
- Codeforces暑期训练周报(7.21~7.27)
A. Flipping Game time limit per test: 1 second memory limit per test: 256 megabytes input: standard ...
最新文章
- 在哥大计算机视觉读博的五年总结
- 自学it18大数据笔记-第三阶段Spark-day04——会持续更新……
- Sigmoid 函数(To be continued)
- 三十八、学Sql,不了解Sql注入怎么行?
- 一个最简单的WebSocket hello world demo
- Activity中 onResume和onPause与onStart()和onStop()的一些思考
- (转)GitHub 被微软收购后的 52 天,改版并放弃了 jQuery!
- Spring、SpringMVC和Springboot的区别
- cesium 加载bim模型_BIM+GIS跨界融合,打造智能未来新利器
- html5 Ajax 访问.net WebApi获取视频流
- 微信小程序中-[渲染层网络层错误] pages/card/card.wxss 中的本地资源图片无法通过 WXSS 获取-解决办法
- 关于多目标跟踪的一点理解
- window系统电脑进入bios设置的万能通用方法,台式组装机也可以使用。
- matlab学习笔记 repmat函数与kron函数之区别
- mysql phpwind_php+mysql及phpwind和wordpress的安装配置
- 软件项目管理作业(一)
- 微信公众号教程-注册发布文章
- MAP一个KEY多个value处理方法
- 使用RTOS系统如何选取大容量存储芯片NAND FLASH
- codeforces514
热门文章
- css变成块级元素_css块级元素垂直居中常用布局方式
- mysql proxies_priv_Mysql5.7.18利用MySQLproxies_priv实现类似用户组管理实例分享
- 鼠标点上去怎么那向上html,鼠标上去文字上移.html
- android播放页蒙层过渡效果,EasyGuideLayer: 这可能是最简单、灵活、强大的页面蒙层组件了!...
- 每天一个linux命令(23):Linux 目录结构
- 初识微信小程序第一弹
- 大厂首发!java代码对齐快捷键
- 一个三非渣本的Java校招秋招之路,搞懂这些直接来阿里入职
- python【力扣LeetCode算法题库】1160-拼写单词
- python【蓝桥杯vip练习题库】BASIC-18 矩形面积交(线段交)