CF734F Anton and School 构造+数论】的更多相关文章

正解:构造 解题报告: 先放下传送门QwQ 这题首先要知道一个结论:(x&y)+(x|y)=x+y 还是能理解的趴? 所以我们把bi+ci就能得到∑a+n*a[i] 然后我们就能成功求出∑a 然后每个a就能求出来了 然后求出来之后再check下符不符合输入就欧克了! 哦关于那个check,如果一个个枚显然会超时 可以预处理每一位这么加,就从O(n2)变成O(n)辣! 484想通了不难! 等下写了代码放下代码就over辣! 太难过了,,,卡在了第六个测试点(修改之后卡在第五个了yep! 但我觉得我…
\(solution\) : 这道题做法很巧妙,需要对位运算有足够了解: $( a $ & $ b )$ \(+\) $( a $ | $ b )$ \(=\) \(a+b\) ,所以有 \(Σb+Σc=2nΣa\) 看下面代码里的数位优化,可以将复杂度由 \(O(n^2)\) 降为 \(O(n)\) 知道了这两点就可以开始构造了! 首先我们根据性质1,求出每个 \(a_i\) 的值,然后检验此时的a数组是否满足题目所给的等式(要用性质2降复杂度),然后输出即可! \(code:\) #incl…
正解:构造+数论 解题报告: 传送门! maya这题好神仙啊我jio得,,,反正我当初听的时候是没有太懂的,,, 首先这题你要知道一些必要的数学姿势 比如哥德巴赫猜想巴拉巴拉的 然后直接讲题趴QAQ 首先看到说,分成质数之后,不难想到哥德巴赫猜想(,,,什么鬼辣我连哥德巴赫猜想的内容都不清楚哪里不难想到了QAQ (哥德巴赫猜想:任一大于2的偶数可分为不同俩质数之和) 然后对这n个数的和:sum=n*(n+1)/2分类讨论 1)sum为质数 欧克分成一组就成了! 2)sum为非2偶数 利用哥德巴赫…
题目链接  Divisibility 题意 给定$n$和$k$,构造一个集合$\left\{1, 2, 3, ..., n \right\}$的子集,使得在这个集合中恰好有$k$对正整数$(x, y)$, $x < y$ 满足$x$是$y$的约数. 选定$1$和$2$, 首先把满足 $x > [\frac{n}{2}]\ $的质数$x$留出来, 然后把满足 $ [\frac{n}{3}]\  < x <=  [\frac{n}{2}]\ $的质数,以及他们的两倍留出来,   留出来…
题目链接: C. Prefix Product Sequence time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Consider a sequence [a1, a2, ... , an]. Define its prefix product sequence . Now given n, find a permutation…
题意:给你一个由'('和')'组成的字符串,问你有多少个子串,前半部分是由'('组成后半部分由')'组成 思路:枚举这个字符串中的所有'('左括号,它左边的所有'('左括号的个数为num1,它的右边的所有')'右括号的个数为num2, 根据范德蒙恒等式计算得出 代码: #include <bits/stdc++.h> #define ll long long #define maxn 200000 #define mod 1000000007 using namespace std; ll j…
正解:构造 解题报告: 传送门! QAQ我jio得还挺难的,,,构造+数论什么的果然还是不适合灵巧这种菜菜啊QAQ 不过理解了的话也就没有那么难?所以还是港下QAQ 首先看task1 首先要发现一个,必然的结论 就是当n为奇数时是无解的 因为你这么想,只看20那一位,当n是奇数时,令n=2*k+1,那就有k+1个1和k个0,然而我构造出来又是需要k+1个0和k个1的,所以显然布星 然后关于构造,说实话我jio得这种要构造出一个范围内的全排列的大多是用交换解决的? 这个同样,就是找出小于等于n的m…
4833: [Lydsy1704月赛]最小公倍佩尔数 Time Limit: 8 Sec  Memory Limit: 128 MBSubmit: 240  Solved: 118[Submit][Status][Discuss] Description 令(1+sqrt(2))^n=e(n)+f(n)*sqrt(2),其中e(n),f(n)都是整数,显然有(1-sqrt(2))^n=e(n)-f(n)*sqrt(2).令g( n)表示f(1),f(2)…f(n)的最小公倍数,给定两个正整数n和…
[CF734F]Anton and School(构造) 题面 Codeforces 洛谷 题解 算是一道\(easy\)? 发现\((a\&b)+(a|b)=a+b\). 那么根据给定条件我们就能确定唯一的\(a\)数列,最后再带回去\(check\)一下就做完了??? #include<iostream> #include<cstdio> using namespace std; #define ll long long #define MAX 200200 inlin…
题解 CF734F [Anton and School] 传送门 这种将位运算和普通运算结合起来的题目要拆位来考虑,可以得到\(log_{2}(\)值域\()\)的算法,甚至将值域看成常数. 根据 \(a|b+a \& b=a+b\) 得到 \(b_i+c_i=\Sigma a_i+na_i\) 于是 \(a_i=\frac{b_i+c_i- \Sigma a_i}{n}\) 根据这个式子,直接得到\(a_i\),注意在除的时候判断整除以免非法情况出现. 此时,我们要判断\(b_i\)和\(c_…
/* CF傻逼构造题 某人要经过n回合游戏,初始分值是2,等级为1. 每次有两种操作 1.无条件,分值加上自己的等级数. 2.当目前的数字是完全平方数并且该数字开方以后是等级数加1的整数倍,那么可以将分值开方,等价加一. 问:每个等级需要执行多少次第一种操作. 思路: 很显然每次要加到的那个数可以是相邻两个数的平方的积..但是考虑到最后这样刚好会超long long... 但是我们最终也不要求求这个数是多少,我们需要知道它除以i是多少... */ #include<bits/stdc++.h>…
大意: 构造一个[1,2,...n]的排列, 使得前缀积模n为[0,1,...,n-1]的排列 这种构造都好巧妙啊, 大概翻一下官方题解好了 对于所有>=6的合数$n$, 有$(n-1)! \equiv 0 \space (mod \space n)$, 一定不成立 对于素数可以构造$[1,\frac{2}{1},\frac{3}{2},\frac{4}{3},...,\frac{n-1}{n-2},n]$, 或者构造$[1,g,g^{-2},g^3,g^{-4},...,n]$, $g$为$n…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u010682557/article/details/36204645 题目给你一个N,让你求 两个数字 A,B,且   A>=B<=N,是的 gcd(A,B) == A^B N的范围是 3*10^7大的吓人一開始没敢想构造.由于就算构造开的数组也太大了,已经10^7了.后来想了半天在^运算这里也没有想出来什么,所以没办法还是大胆构造吧,构造就去依照他题目的意思来了,构造两个数字 i,j当中j是i…
题目大意:在数组中找出一些数,使它们的和能被n整除 这题标签是数学,那我就标题就写数论好了... 显然如果数组中有n的倍数直接取就行. 那假设数组中没有n的倍数,把数组中的数求前缀和后全部%n,会得到一堆1~n-1的数(注意没有0,有0直接就可以取这个前缀了),那根据抽屉原理一定有两个相同的数,设这两个相同的数所在的位置为l和r,那么下标在[l+1,r]的这些数的和一定是n的倍数 记得开LL,我还RE两发QAQ #include<iostream> #include<cstdlib>…
Codeforces 959D. Mahmoud and Ehab and another array construction task 题意 构造一个任意两个数都互质的序列,使其字典序大等于a序列且最小. 思路 其实这题乱搞就行了.用到了之前HDdalao教我的素因子分解方法,可以快速地对枚举的数进行检测. 我们维护一个当前已填的数的素因子集合以及一个大于1的自然数集合(考虑最坏情况,我们总可以都用素数来构造这个序列.由素数的密度可知,n/ln(n)要大于1e5,所以该自然数集合上限达到2e…
人民币的构造 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Status 我们都知道人民币的面值是1.2.5.10,为什么是这个数值呢,我们分析了下发现,从1−10的每个数字都可以由每种面值选出至多一张通过加法和减法(找钱)来构成,(比如:1+2=3,5−1=4,5+1=6,5+2=7,1+2+5=8,10−1=9) 但是实际上,我们只需要1.2.7三种面值就可以组成1…
题意: 思路:考虑构造最小的单位矩形然后平铺 单位矩形中每种矩形的数量可以根据比例算出来,为c[i]/d,其中d是所有c[i]的gcd,如果能构造成功答案即为d的因子个数 考虑如果要将两种矩形放在同一行那他们的w一定相等,且对于每一行h全部出现过并且比例相当 具体实现的时候用map套vector,发现map有好多写法 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned int u…
题意: 有三个二次函数,分别是$x^2 + a_1x + b_1$, $x^2 + a_2x + b_2$, $x^2 + a_3x + b_3$ 现在要找三个整数$x_1, x_2, x_3$, 使得三个函数值中至少有两个相等. 思路: 主要的难点是要找三个整数. Camp时候洪老师说的平移啥啥的,理解不了...... 看了网上另一个题解的思路. 假设两个二次函数相等的函数值是$y$, 并假设是第一个和第二个相等 那么我们可以知道$x_1 =- \frac{a_1 + \sqrt{a_1^2…
137. Funny Strings time limit per test: 0.25 sec. memory limit per test: 4096 KB Let's consider a string of non-negative integers, containing N elements. Suppose these elements are S1 S2 .. SN, in the order in which they are placed inside the string.…
https://scut.online/p/261 由于M不是质数,要用扩展欧几里得求逆元,而不是费马小定理! 由于M不是质数,要用扩展欧几里得求逆元,而不是费马小定理! 由于M不是质数,要用扩展欧几里得求逆元,而不是费马小定理! 最后小心逆元是负数的情况. #include<bits/stdc++.h> using namespace std; typedef long long ll; ; int A[maxn][maxn],C[maxn][maxn],n,m; inline void e…
题目链接:https://codeforces.com/contest/1417/problem/D 题意 给出一个大小为 $n$ 的正整数数组 $a$ ,每次操作如下: 选择 $i,j$ 和 $x$,$(1 \le i, j \le n,\ 0 \le x \le 10^9)$ 令 $a_i - x \cdot i,\ a_j + x \cdot i$ 要求过程中不能有负数产生,问能否在 $3n$ 次操作内使数组中的每个元素相等,如果可以给出操作次数和过程. 题解 把每个 $a_i$ 变为 $…
C. Tennis Championship(递推,斐波那契) 题意:n个人比赛,淘汰制,要求进行比赛双方的胜场数之差小于等于1.问冠军最多能打多少场比赛.题解:因为n太大,感觉是个构造.写写小数据,看看有没有结论. 2 3 4 5 6 7 8 9 10 11 12 (人数) 1 2 2 3 3 3 4 4 4 4 4 (比赛数) 发现比赛数的增长成斐波那契.维护一个前缀和即可. #include <bits/stdc++.h> #define ll long long using names…
断断续续的学习数论已经有一段时间了,学得也很杂,现在进行一些简单的回顾和总结. 学过的东西不能忘啊... 1.本原勾股数: 概念:一个三元组(a,b,c),其中a,b,c没有公因数而且满足:a^2+b^2=c^2 首先,这种本原勾股数的个数是无限的,而且构造的条件满足: a=s*t,b=(s^2-t^2)/2,c=(s^2+t^2)/2 其中s>t>=1是任意没有公因数的奇数! 由以上概念就可以导出任意一个本原勾股数组. 2.素数计数(素数定理) 令π(x)为1到x中素数的个数 19世纪最高的…
昨天晚上写的一题 结果USACO一直挂中 今天交了下 有一点点的数论知识  背包很好想 就是不好确定上界 官方题解: 这是一个背包问题.一般使用动态规划求解. 一种具体的实现是:用一个线性表储存所有的节点是否可以相加得到的状态,然后每次可以通过一个可以相加得到的节点,通过加上一个输入的数求出新的可以相加得到的点.复杂度是O(N×结果). 但是可以证明结果不会超过最大的两个数的最小公倍数(如果有的话).参见数论.所以复杂度也是O(Na2),完全可以接受了. 判断无限解可以按上面的方法,另外也可以算…
数论 2017年3月4日02:11:35 gcd 1. 原理: gcd( a, b ) = gcd( b, a - b ) -> gcd( a, b ) = gcd( b, b % a ) 2. 代码 int gcd( int a, int b ) { if( b == 0 ) return a; return gcd( b, a % b ); } 3. 时间复杂度: O(log n) 4. 预处理 d[3000][3000] 中所有两个数的gcd d[i][j] = d[i][j-i]; 预处…
数论ex 数学学得太差了补补知识点or复习 Miller-Rabin 和 Pollard Rho Miller-Rabin 前置知识: 费马小定理 \[ a^{p-1}\equiv 1\pmod p,p \ is \ prime \] 二次探测(mod奇素数下1的二次剩余) \[ x^2\equiv 1\pmod p\Rightarrow x=1 \ or \ p-1 \] 如果不是 \(\bmod\) 奇素数,二次剩余可能是更多的值 如果把费马小定理反过来用来检测一个数是否是素数,虽然是错的,…
原文链接https://www.cnblogs.com/zhouzhendong/p/Fast-Fourier-Transform.html 多项式 之 快速傅里叶变换(FFT)/数论变换(NTT)/例题与常用套路[入门] 前置技能 对复数以及复平面有一定的了解 对数论要求了解:逆元,原根,中国剩余定理 对分治有充足的认识 对多项式有一定的认识,并会写 $O(n^2)$ 的高精度乘法 本文概要 多项式定义及基本卷积形式 $Karatsuba$ 乘法 多项式的系数表示与点值表示,以及拉格朗日插值法…
注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Robin+Pollard_Rho) 本文概要 1. 基础回顾 2. 中国剩余定理 (CRT) 及其扩展 3. 卢卡斯定理 (lucas) 及其扩展 4. 大步小步算法 (BSGS) 及其扩展 5. 原根与指标入…
专题[vjudge] - 数论0.1 web-address : https://cn.vjudge.net/contest/176171 A - Mathematically Hard 题意就是定义一个函数S.其中S(x)=sqr(1~x中与x互质的数的个数). 显然,这里要运用到Euler函数(即φ函数,题后已给出).那么,我们计算出5*10^6以内的phi后,计算一个前缀平方和就行了. B - Ifter Party 题意就是让你求一个数大于L的因数,并把它们升序输出.比较水,但是容易PE…
整除性(divisible): 引入了代表整除性. m\n (m|n) 表示m整除n.注意这里的整除.表示的是n = km(k为整数). 在整除性这里.m必须是个正数.也许你可以描述n 是 m 的k倍.这种描述中m完全可以是任何数.而在整除性中的表达m整除n,规定了m必须是个正数.而0没有限制. 那么回答以下问题: 1:什么是0的倍数? 2:什么能被0整除? 3:什么能被-1整除? 4:什么能被1整除? 5:2Pi能被Pi整除吗? 6: 2Pi能被2整除吗? 答案分别是: 1:0 2:没有任何数…