codeforces 424C. Magic Formulas (异或规律)
来源:互联网 发布:黑马协议软件微信站街 编辑:程序博客网 时间:2024/05/21 06:19
链接:http://codeforces.com/problemset/problem/424/C
题目:
People in the Tomskaya region like magic formulas very much. You can see some of them below.
Imagine you are given a sequence of positive integer numbers p1, p2, ...,pn. Lets write down some magic formulas:
Here, "mod" means the operation of taking the residue after dividing.
The expression means applying the bitwisexor (excluding "OR") operation to integersx and y. The given operation exists in all modern programming languages. For example, in languages C++ and Java it is represented by "^", in Pascal — by "xor".
People in the Tomskaya region like magic formulas very much, but they don't like to calculate them! Therefore you are given the sequencep, calculate the value ofQ.
The first line of the input contains the only integer n (1 ≤ n ≤ 106). The next line containsn integers:p1, p2, ..., pn (0 ≤ pi ≤ 2·109).
The only line of output should contain a single integer — the value of Q.
31 2 3
3
分析:
i mod(1)的归为一类,i mod(2)的归为一类……
这样一列一列地研究,发现这是周期性的。利用数字本身和本身异或得0的事实,得出这样的结论:
设
当i/j是偶数时
当i/j是奇数时
如果觉得我说的不清楚,你带入i=14, j=3和j=16, j=3来试试,你会懂得。
#include <iostream>#include <cstdio>using namespace std;const int N=1e6+10;int dp[N];int main(){ for(int i=1;i<N;i++){ dp[i]=dp[i-1]^i; } int n,p; while(cin>>n){ int ans=0; for(int i=0;i<n;i++){ scanf("%d",&p); ans=ans^p; } for(int i=2;i<=n;i++){ int r=n%i; int div=n/i; if(div&1) ans=ans^dp[i-1]; ans=ans^dp[r]; } printf("%d\n",ans); } return 0;}
- codeforces 424C. Magic Formulas (异或规律)
- Codeforces 424C Magic Formulas(异或应用)
- Codeforces 424 C. Magic Formulas
- Codeforces 424 C Magic Formulas
- CodeForces 424C Magic Formulas
- codeforces 424C Magic Formulas
- Codeforces 424C Magic Formulas
- Codeforce 424C Magic Formulas 找规律
- Codeforecs 424C Magic Formulas 规律+前缀和
- Codeforces Round #242 (Div. 2) C: Magic Formulas 神奇的异或算式
- CodeForce 424C Magic Formulas(数学题)
- CF#243 C. Magic Formulas- xor异或运算 / 数学
- CF 424C Magic Formulas
- CF 424C Magic Formulas
- CodeForce 424C Magic Formulas
- Codeforces Round #242 (Div. 2) C. Magic Formulas
- codeforces 710C Magic Odd Square(规律)
- CF 243 C. Magic Formulas(位运算)
- iOS面试题
- [置顶] Linux 精萃
- 应用系统架构设计
- 第四章 Controller接口控制器详解(2)
- Android初学习 - Activity的四种启动模式(回退栈)
- codeforces 424C. Magic Formulas (异或规律)
- diff command
- 第四章 Controller接口控制器详解(3)
- UML建模之时序图(Sequence Diagram)
- 一道很绕的赋值问题
- 《Masonry介绍与使用实践(快速上手Autolayout)》
- node js 连接mysql数据库
- opengl常用函数解释
- docker【7】docker运行简单的应用程序(tomcat)以及怎么把宿主机的文件copy到容器