数论
文章平均质量分 67
cqbz_luoyiran
这个作者很懒,什么都没留下…
展开
-
题解 CF995E Number Clicker
分析 首先拿道题,操作复杂,而且用 dpdpdp 并不好推出状态与路径。再看一看时间限制,第一反应就是搜索。但是搜索的冗余状态十分的多,而且也会T,于是我们就得想出优化。 对于操作 111 与操作 222 ,十分简单,一个是加一,一个是减一,我们很容易知道操作是互逆的,有了这个明显的提示,就想到用双向 bfsbfsbfs 去优化。但是操作三并不容易想出怎么可逆,如果学过逆元,我们就能知道 up−2u^{p-2}up−2 一定是 ppp 的一个逆元,又因为你愿是唯一对应的,所以说 up−2u^{p-2}up−原创 2021-03-09 21:43:12 · 145 阅读 · 0 评论 -
墨墨的等式
题目描述 分析 40pts 一道很巧妙的题目,果然不愧是往届集训队的题目,在网上看了一下,似乎是一道同余最短路(雾)。 首先看到题目,可能会以为很难的数论,根本看不出来是一道最短路。分析一下题目,首先可以想到一个暴力做法,直接完全背包。可以推出方程: f[j]=f[j]∣f[j−a[i]]f[j]=f[j] | f[j - a[i]]f[j]=f[j]∣f[j−a[i]] 这是一个只能得40pts40pts40pts的做法,这里就不再赘述。 100pts 进入正题。我们需要更优的算法,于是我们开始解剖这个式原创 2021-01-22 21:15:10 · 114 阅读 · 0 评论 -
[HEOI2015]定价 题解
题目 分析 这道题其实很简单,首先我们很容易知道最后一位非零时数字长度小的他的荒谬值小,然后再考虑最后一位会不会为5,能为5的优先选五。 然后可以分为两种情况: 1.形如“5030 8090” r - l大于10^(L的位数 - 1),那长度a肯定是1,这时再先判断非零位为5的是不是在[L~R]这个范围,如果不是再从小到大一个一个的枚举,因为只用改变首位,所以最多只会跑十次。 2.形如“969 1008” r - l小于10^(L的位数 - 1),那长度a肯定大于1,这是我们把R - L的位数求出来,设nu原创 2020-12-04 13:48:01 · 254 阅读 · 0 评论 -
线性筛/埃氏筛
素数定义 素数,即质数,指在大于111的自然数中,除了111和它本身以外不再有其他因数的自然数。 判断质数 试除法: 判断是否能被其他222~√n√n√n的数整除,时间复杂度为O(√n)O(√n)O(√n) 代码: for(int i=2;i*i<=n;i++) if(n%i==0)return false; return true; 筛质数 埃氏筛 简介 埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根原创 2020-08-10 21:59:12 · 142 阅读 · 0 评论