Integer Sequence Dividing CodeForces - 1102A (规律)
You are given an integer sequence 1,2,…,n1,2,…,n. You have to divide it into two sets AAand BB in such a way that each element belongs to exactly one set and |sum(A)−sum(B)||sum(A)−sum(B)| is minimum possible.
The value |x||x| is the absolute value of xx and sum(S)sum(S) is the sum of elements of the set SS.
Input
The first line of the input contains one integer nn (1≤n≤2⋅1091≤n≤2⋅109).
Output
Print one integer — the minimum possible value of |sum(A)−sum(B)||sum(A)−sum(B)| if you divide the initial sequence 1,2,…,n1,2,…,n into two sets AA and BB.
Examples
3
0
5
1
6
1
Note
Some (not all) possible answers to examples:
In the first example you can divide the initial sequence into sets A={1,2}A={1,2} and B={3}B={3} so the answer is 00.
In the second example you can divide the initial sequence into sets A={1,3,4}A={1,3,4} and B={2,5}B={2,5} so the answer is 11.
In the third example you can divide the initial sequence into sets A={1,4,5}A={1,4,5} and B={2,3,6}B={2,3,6} so the answer is 11.
题意:给你一个整数N,让你将1~N这N个整数分成两个集合,
问这两个集合的元素数值和的差最小能是多少。
思路:
先写几个样例来看下。
当N=3,
1,2,3 可以把1和2分到一个集合,3分到另一个集合。这样差为0
当N=4
1,2,3,4可以把 1和4分到一个集合,2和3在另一个集合,这样差为0
当N=5
1,2,3,4,5,可以分成这样{1,3,4},{2,5} 差为1
我们在算下这三个样例的所有元素和
N=3 ,sum=6
N=4,sum=10
N=5,sum=15
规律就可以看出来了,当1~N的和为偶数的时候,一定可以分成两个相同的sum的集合
为奇数可以分成相差为1的两个集合。
那么就根据规律来写程序了。
我的AC代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <vector>
#define rep(i,x,n) for(int i=x;i<n;i++)
#define repd(i,x,n) for(int i=x;i<=n;i++)
#define pii pair<int,int>
#define pll pair<long long ,long long>
#define gbtb ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define MS0(X) memset((X), 0, sizeof((X)))
#define MSC0(X) memset((X), '\0', sizeof((X)))
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define gg(x) getInt(&x)
using namespace std;
typedef long long ll;
inline void getInt(int* p);
const int maxn=;
const int inf=0x3f3f3f3f;
/*** TEMPLATE CODE * * STARTS HERE ***/
ll n;
int main()
{
cin>>n;
ll ans=(n*(+n))/2ll;
if(ans&)
{
cout<<<<endl;
}else
{
cout<<<<endl;
}
return ;
} inline void getInt(int* p) {
char ch;
do {
ch = getchar();
} while (ch == ' ' || ch == '\n');
if (ch == '-') {
*p = -(getchar() - '');
while ((ch = getchar()) >= '' && ch <= '') {
*p = *p * - ch + '';
}
}
else {
*p = ch - '';
while ((ch = getchar()) >= '' && ch <= '') {
*p = *p * + ch - '';
}
}
}
MY BLOG:
https://www.cnblogs.com/qieqiemin/
Integer Sequence Dividing CodeForces - 1102A (规律)的更多相关文章
- CodeForces - 1102A
You are given an integer sequence 1,2,-,n1,2,-,n. You have to divide it into two sets AA and BB in s ...
- CodeForces - 1102A(思维题)
https://vjudge.net/problem/2135388/origin Describe You are given an integer sequence 1,2,-,n. You ha ...
- Codeforces Round #452 (Div. 2)-899A.Splitting in Teams 899B.Months and Years 899C.Dividing the numbers(规律题)
A. Splitting in Teams time limit per test 1 second memory limit per test 256 megabytes input standar ...
- 递推:Number Sequence(mod找规律)
解题心得: 1.对于数据很大,很可怕,不可能用常规手段算出最后的值在进行mod的时候,可以思考找规律. 2.找规律时不必用手算(我傻,用手算了好久).直接先找前100项进行mod打一个表出来,直接看就 ...
- CodeForces - 810C(规律)
C. Do you want a date? time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- Codeforces Round #531 (Div. 3) ABCDEF题解
Codeforces Round #531 (Div. 3) 题目总链接:https://codeforces.com/contest/1102 A. Integer Sequence Dividin ...
- Codeforces Round #604 (Div. 2) D. Beautiful Sequence(构造)
链接: https://codeforces.com/contest/1265/problem/D 题意: An integer sequence is called beautiful if the ...
- CodeForces - 1059C Sequence Transformation (GCD相关)
Let's call the following process a transformation of a sequence of length nn. If the sequence is emp ...
- Sequence in the Pocket【思维+规律】
Sequence in the Pocket 题目链接(点击) DreamGrid has just found an integer sequence in his right pocket. A ...
随机推荐
- Django之views
一 URL补充 二 Views试图函数 一 URL补充 1 MTV模型 2 django建立流程(用命令版) (1)django-admin startproject projectname (2) ...
- Pycharm 安装 idea VIM
直接在线安装 1.File->Settings->Plugins->Install JetBrains Plugins 2.点击install安装ideavim 3.也许需要的切换v ...
- 微软公布针对最新IE漏洞的安全通报2963983
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/MSSecurity/article/details/24637607 微软于昨天公布了一篇最新 ...
- Find a multiple POJ - 2356 (抽屉原理)
抽屉原理: 形式一:设把n+1个元素划分至n个集合中(A1,A2,…,An),用a1,a2,…,an分别表示这n个集合对应包含的元素个数,则:至少存在某个集合Ai,其包含元素个数值ai大于或等于2. ...
- M100 组装教程
http://bbs.dji.com/thread-37868-1-1.html
- 遇到的web请求错误码集合与解释
302 临时移动.与301类似.但资源只是临时被移动.客户端应继续使用原有URI
- 纯html页面中js如何获得项目路径
js,全称javascript,不过虽然是以java开头,不过与java一点关系都没有. js和java有如下区别: (1)js是浏览器端的语言,而java是服务器端的语言. (2)js是动态语言,j ...
- 深入浅出的webpack构建工具--webpack4+vue+router项目架构(十四)
阅读目录 一:vue-router是什么? 二:vue-router的实现原理 三:vue-router使用及代码配置 四:理解vue设置路由导航的两种方法. 五:理解动态路由和命名视图 六:理解嵌套 ...
- JVM解释器和编译器
首先看一个命令 [root@insure ~]# java -version java version "1.8.0_191" Java(TM) SE Runtime Enviro ...
- 【NOIP2017 D1T3】逛公园
NOIP2017 D1T3 逛公园 题意:给一个有向图,每条边有权值,问从\(1\)到\(N\)的长度不超过最短路长度\(+K\)的路径条数.如果有无数条则输出\(-1\). 思路:我们首先扔掉\(- ...