Codeforces 424 C. Magic Formulas】的更多相关文章

xor是满足交换律的,展开后发现仅仅要能高速求出 [1mod1....1modn],....,[nmod1...nmodn]的矩阵的xor即可了....然后找个规律 C. Magic Formulas time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output People in the Tomskaya region like magi…
这个题就是求出给的公式的结果. 仅仅要知道异或运算满足交换律跟结合律即可了.之后就是化简公式. #include<map> #include<string> #include<cstring> #include<cstdio> #include<cstdlib> #include<cmath> #include<queue> #include<vector> #include<iostream> #…
C. Magic Formulas time limit per test:2 seconds     memory limit per test:256 megabytes   input standard input output standard output People in the Tomskaya region like magic formulas very much. You can see some of them below. Imagine you are given a…
题目链接:http://codeforces.com/problemset/problem/424/C 题目意思:给出 n 个数:p1, p2, ..., pn,定义: q1 = p1 ^ (1 mod 1) ^ (1 mod 2) ^ (1 mod 3) ...^(1 mod n): q2 = p2 ^ (2 mod 1) ^ (2 mod 2) ^ (2 mod 3) ...^(2 mod n): ... qn = p3 ^ (n mod 1) ^ (n mod 2) ^ (n mod 3)…
解题思路是: Q=q1^q2.......^qn = p1^p2......^pn^((1%1)^....(1%n))^((2%1)^......(2%n))^.... 故Q的求解过程分成两部分 第一部分是求p1^p2......^pn 第二部分是求((1%1)^....(1%n))^((2%1)^......(2%n))^.... 将其化成矩形的形式 1%1   1%2  ...........  1%n 2%1   2%2  ............ 2%n ................…
题目 比赛的时候找出规律了,但是找的有点慢了,写代码的时候出了问题,也没交对,还掉分了.... 还是先总结一下位移或的性质吧: 1.  交换律 a ^ b = b ^ a 2. 结合律 (a^b) ^ c = a ^ (b^c) 3. 0^a = a; 4. a^a = 0;    a^a^a = a; 5.   知道a,b,c中任意两个就能推知第三个.      a^b = c 两边同时与a异或得: a ^ (a^b) = a^c 即 0^b = a^c  亦即 b = a^c 四个也是一样…
http://codeforces.com/contest/424/problem/C #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define maxn 1000001 using namespace std; int f[maxn],n; long long a[maxn]; void inti() { f[]=; f[]=; ; i<…
题目链接:http://codeforces.com/contest/424/problem/C 题意:求Q值 思路:找规律 显然能够得到一个矩阵 把这个矩阵画出来就能发现一个横向的规律和一个主对角线方向的规律 #include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> #include<queue> #include<vector> usin…
Codeforces 1110 E 题意:给定两个数组,从第一个数组开始,每次可以挑选一个数,把它变化成左右两数之和减去原来的数,问是否可以将第一个数组转化成第二个. 思路: 结论:两个数组可以互相转化的充要条件是它们差分后的数组排序后相同并且它们第一个数相同. 证明: 先证明一个引理. 引理:两个数组可以互相转化的必要条件是它们都能转化成同一个数组. 证明:假设A转化成B,C也转化成B,由于操作可逆,于是可以从A转化成B再转化成C.\(\square\) 证明原结论的充分性. 看某一次操作.…
题目链接: C. Magic Odd Square Find an n × n matrix with different numbers from 1 to n2, so the sum in each row, column and both main diagonals are odd. Input The only line contains odd integer n (1 ≤ n ≤ 49). Output Print n lines with n integers. All the…