![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
C画中仙
这个作者很懒,什么都没留下…
展开
-
AtCoder Contest 156 E - Roaming
第一次觉得自己组合数学还可以,也可能是题目太明显了大致题意:有n个房间,每个房间里面都有1个人,然后发生了k次移动,问现在可能的情况有多少。先思考,在k次移动后,可能会出现多少个房间的人数为0,很显然,房间人数为0的房间个数的取值范围是[0,min(k,n)]。再思考,在有 i 个房间人数为0后,就需要把这 i 个人分配到 n-i 个房间中,所以问题就变成了:把 i 个人分配到 n-i...原创 2020-02-24 16:50:51 · 257 阅读 · 0 评论 -
bzoj——4260
大致题意:给一个数组,找出这个数组的两个不相交区间的值 的最大和,区间的值是区间中的值的异或和。说得很奇怪,实在不清楚就耐心看题目中的公式。大致思路:想办法得到每个位置 前面的 最大 连续区间异或值,和 后面的 最大连续区间异或值。怎么得到?字典树就起了很大的作用,在遍历数组的时候,每次往01字典树中添加从前缀异或和(计算后面 的最大连续区间异或值的时候是用后缀异或和)。所以字典树中存的就是...原创 2019-10-15 20:17:10 · 261 阅读 · 0 评论 -
纪念一下我最近降智的这些日子——codeforces D2. Equalizing by Division
大致题意:给n个数,求通过操作,让数组中的有K个相同的数的最少操作次数。操作:将数字右移一位,就是除二取整啦。感觉最近中了降智打击,脑袋昏昏沉沉的,还有思考问题的时候像个HP一样。。。。。。。可能是太紧张了,而且休息的不够吧。解题思路,枚举一下每个数通过操作后的可能值,再用map统计一下不就完了,当然,先对原数组排序一下。最近是真的蠢,这个简单题当时都没有秒。。。。。。。#incl...原创 2019-09-03 20:08:03 · 89 阅读 · 0 评论 -
快速傅里叶变换(FFT)
GYM 101002.EK-Inversions#include<bits/stdc++.h>using namespace std;const double PI=acos(-1.0);typedef complex<double> cp;const int maxn=3e6+100;cp arr[maxn],b[maxn];cp omega[maxn...原创 2019-08-27 19:38:22 · 179 阅读 · 0 评论 -
2019HDU集训——6625 three arrays
大致题意:给两个数组a,b,现在可以把a,b分别重排,也就是a,b中的元素可以任意改变位置。然后把a,b中每个位置的数异或起来。要求最终得到的数 组成的 数组中元素的字典序最小。(感觉自己描述地好垃圾,算了,看了题的都知道是什么意思)。很明显,要用到字典树,因为字典树中的“前缀”性质就简直是这道题的利器。思路:把a数组中的数分解成二进制去建一棵字典树。b也同样建一棵。然后根据在纸上画出来的字典...原创 2019-08-23 22:09:31 · 131 阅读 · 0 评论 -
2019HDU多校集训——Operation
大致题意:给n给数字,再给m次操作,操作类型有1操作或者0操作。0是查询操作,1是添加数字操作。假设每次查询的结果是ans,0操作是查询 (l^ans)%n+1到(r^ans)%n+1 区间的数字异或的最大值(如果l^ans)%n+1大于(r^ans)%n+1 ,就互相交换),1操作是往n个数字后面添加一个数字 x^ans。 如果懂得前缀线性基,那么这道题就没什么意思了。代码:#inc...原创 2019-08-10 17:25:48 · 131 阅读 · 0 评论 -
恭喜您作为幸运用户被抽中阅读这篇博客——线性基
讲讲线性基吧(说ji不说ba,文明你我他)引入:在二维平面内,只需要用x轴、y轴的两个单位向量,就可以表示出平面内的所有向量。就是说,任何一个二维平面的向量,都可以表示成。这是高中都知道的东西。(表示x轴的单位向量,表示的是y轴的单位向量。)那就可以称()是这个二维空间的基,大概口胡一下基的意思,就是用这个基就可以表示出这个空间里面的所有值了。现在正式开始线性基:现在有n个数...原创 2019-08-09 16:52:28 · 207 阅读 · 0 评论 -
2019HDU多校集训——Minimal Power of Prime
题目大意,输出一个数n的质因数的最小次幂。想到了先筛出小部分的质因数,后面又想到了开方之类的操作,但是脑子不正常,把开方这里想歪了。。。。。。感觉最近状态太差了,有时候想题的时候像个憨憨一样。好像以前也有这种情况出现过,然后多睡觉就好了??解题思路:根据唯一分解定理,一个合数必然是某些素数次方的乘积。所以先线性筛 筛出1e4范围内的素数,再去分解n,同时得到一个当前的最小次幂ans,如果最后n...原创 2019-08-04 16:07:52 · 164 阅读 · 0 评论 -
Miller_Rabin :)
Miller_Rabin:读作米勒罗宾。知道这个名字是学习这个算法的唯一难点。在某些文章里看到过,说是人类目前大部分信息加密,都是基于大数分解。没学过密码学,大概猜测一下可能是根据唯一分解定理,把数分解成质数之乘(比如 10=2*5,24=2*2*2*3)???扯远了。怎么判断一个数p是否是素数???最容易想到的就是去判断从2到的整数中,有没有可以整除p的数。(因为素数的定义就是从只有...原创 2019-08-03 23:19:54 · 370 阅读 · 0 评论 -
中国剩余定理=.=
中国剩余定理(孙子定理)前置知识:逆元,取模运算。先说说这个定理可以干什么吧。例题:设一个非负整数X,X%3的值为2,X%5的值为3,X%7的值为6。那么X的值是多少??即%3%5%7计算:1.先求出3,5,7的公倍数M,M也就是105.2.对于第一个式子,设=M/3,也就是35.(别问为什么这么蠢的在这里绕,耐心看),再求在模3下的逆元 。(逆元...原创 2019-07-25 22:12:44 · 209 阅读 · 0 评论 -
矩阵快速幂——入门篇
矩阵入门:一、矩阵乘法(很简单,自行了解)二、矩阵性质:矩阵没有交换律、但是矩阵有结合律结合律:现有矩阵A、B、C。 (A*B)*C=A*(B*C)。进入正题:斐波拉契数列:1、1、2、3、5、8、13、21……也就是当n>2时,问题:我们现在要求第1000000000000000个斐波拉契数,那么我们该怎么求呢,根据公式一直递推下去...原创 2019-04-29 21:20:51 · 447 阅读 · 0 评论