
数论
数学
娃娃酱斯密酱
这个作者很懒,什么都没留下…
展开
-
2020第十一届蓝桥杯7月省赛I题
2020第十一届蓝桥杯7月省赛I题试题 I: 整数拼接题目描述:本题思路:这道题,暴力过30%的样例,拿的了7分的样子,要全过的话那得dp,写数学式子分析,找到尽可能减少复杂度的方法。先上暴力代码(这道题暴力写应该很容易的):#include <bits/stdc++.h>using namespace std;const int N = 1e5 + 10;typedef long long ll;int n, k;int a[N];int main(){ sc原创 2020-10-13 20:17:17 · 209 阅读 · 0 评论 -
POJ-1328-Radar Installation
POJ-1328-Radar Installation传送门这道题目是数学+贪心哦~题目大意:有一条无限的海岸线,海岸线的一边是海洋,海岸线的另一边是陆地,其中海洋上面有些许岛屿,现如今要安装雷达系统来检测各个岛屿情况,给出各个岛屿的坐标位置和一个雷达最多能到达的半径d(雷达能检测到的范围是半径为r的圆)问最少需要花费多少个雷达才能够把所有的岛屿都给检测到。如果不能检测到所有岛屿,那么输出-1即可。本题思路:我们先来考虑特殊情况:什么时候输出-1呢?当我们输入的d小于0或者岛屿的纵坐标的绝对值原创 2020-09-12 20:47:41 · 180 阅读 · 0 评论 -
HDU-2710-Max Factor(筛法求素数)
HDU-2710-Max Factor(筛法求素数)传送门这道题是数学题哦~关于质数的,最近一直在写数论哈题目大意:给你n个数,让你求这n个数质因子最大的那个数,输出那个数。文件形式输入(我在这上面wa了一次)先开始我是用vector+埃筛,把所有的质因子都存起来了。后来一直RE,后来把vector换了,换成数组,然后存储了最大的质因子。(我估摸着这道题卡了vector)预处理出2e4范围内每个数的最大的质因子,存储在p[]数组中。init()函数是预处理部分。筛出所有的最大质因子。然后读入原创 2020-05-08 19:58:05 · 199 阅读 · 0 评论 -
HDU-1262-寻找素数对
HDU-1262-寻找素数对传送门这道题是欧拉筛,什么筛都行,只要求得出素数就行。(埃筛也行)中文题目我就不解释拉~vis[]表示素数:vis[i] = 1表示i为素数。这道题我用的欧拉筛。首先就是预处理init()出素数。然后输入的m是一个偶数,要求我们得到差值最小的两个质数,和为m。我们就从m / 2开始,往前走或者往后走都行~第一次遇到的就可以直接输出break啦~代码部...原创 2020-05-08 15:36:32 · 354 阅读 · 0 评论 -
HDU-5155-Harry And Magic Box(容斥)
HDU-5155-Harry And Magic Box(容斥)传送门这道题是容斥+乘法逆元这道题跟我前几天做的CF上面一道题差不多。CFRound 86E题题目大意:n * m的网格点上面有宝石jewel,其中这些网格点上面,哈里从左侧面看,可以看到每一行都闪闪发光,说明这个网格上每行都至少有一个宝石;哈里从前面看网格,可以看到每一列上都闪闪发光,说明这个网格点上每列都至少有一个宝石。...原创 2020-05-08 14:20:54 · 254 阅读 · 4 评论 -
HDU-4497-GCD and LCM(容斥)
HDU-4497-GCD and LCM(容斥)传送门这道题是容斥~最近都在写数论哈,脑子不太好使,有点把我搞懵了。几个星期前参加的蓝桥杯校内模拟赛,今天突然想到就去看了看,成绩竟然出来了=-=这次还多了一个省内排名欸qaq还是不太理想,继续努力把~题目大意:给你两个数l和g。g代表gcd(最大公约数),l代表lcm(最小公倍数)是一个三元组的l和g;即gcd(a, b, c) ...原创 2020-05-07 22:01:50 · 569 阅读 · 0 评论 -
HDU-4135-Co-prime(容斥)
HDU-4135-Co-prime传送门这道题是容斥~题目大意:给你一个区间[a, b],和一个数n,让你求区间[a, b]范围内的与n互质的数有多少个。解题思路:我们看看数据范围,a和b的区间范围达到了1e15,n的数据范围达到了1e9。t次询问范围在100以内。我们把这道题的思路与前缀和结合起来想一想。求区间[a, b]与n互质的数字,那我们转化成求[1, b]区间与暴力肯定是不行...原创 2020-05-07 15:28:15 · 183 阅读 · 0 评论 -
HDU-2841-Visible Trees(容斥)
HDU-2841-Visible Trees传送门这道题是莫比乌斯反演~先开始是在容斥的知识点看到写的=-=后来卡了许久,还是在莫比乌斯反演上面作文章了。。题目大意:农夫夏洛克站在坐标为(0,0)的位置,他去看一个每个网格点都种了树的m*n的网格。问可以看到多少棵树,其中如果有两颗以上的树与夏洛克在同一条直线上,那么夏洛克只能看到一棵树。本题思路:这道题转换过来其实就是让我们求在区间[1...原创 2020-05-06 17:13:02 · 187 阅读 · 0 评论 -
CF-Round 86-div2-E题
CF-Round 86-div2-E题E. Placing Rooks传送门这道题组合 + 乘法逆元 + 容斥问题容斥:容斥原理,有时候在计数时,情况比较多的情况下,相互之间有重叠。为了使重叠部分不被重复计算,可以这样处理:先不考虑重叠的情况,把所有对象的数目计算出来,然后减去重复计算的数目。题目大意:给定一个n * n的棋盘,你需要在上面放置n个棋子。给定n和k;给定以下规定:1...原创 2020-05-01 22:21:48 · 169 阅读 · 0 评论 -
HDU-5976-Detachment
HDU-5976-Detachment传送门这道题是二分 + 乘法逆元~我今天在看基础数论的时候,发现好多种求逆元不同的方法,原先我只知道用费马小定理的方法,今天才感慨。。。(世界如此之大)这道题二分我是手写的代码。。。emm题目大意:给你一个数n,让你分解n,使得分解出来的数之和为n,并且尽可能使得这些分解出来得数乘积尽可能的大。对于这种题目,有一个比较明显的结论:必然是取得一段连续...原创 2020-04-22 14:00:31 · 233 阅读 · 0 评论 -
数论之同余与逆元
数论之同余与逆元同余两个整数a, b和一个整数m,如果a除以m所得的余数和b除以m所得的余数相等,即称为a和b对m同余,m称为同余的模。同余的符号记为:一元线性同余方程此式子的含义是ax除以m,b除以m,两者的余数相同。求解x的值。上面的式子也可以理解为ax-b是m的整数倍。设y是倍数,那么ax - b = my;移项可得ax - my = b。因为y可以为负数,则...原创 2020-04-22 12:50:36 · 625 阅读 · 0 评论 -
HDU-5902-GCD is Funny
HDU-5902-GCD is Funny传送门这道题是暴力+gcd今天上午和下午又在补落下的作业了qaq题目大意:这道题的题目大意和样例让我费解许久: );题目给你n个数:每次任选三个数,求其中两个的gcd,然后把这个gcd加入到原数组中两次,把选出来的三个删除很显然经过n-2次的操作之后,原数组只剩下2个相同的数字。问有哪些数字可能被留下,输出即可(就是这里我看了很久,我以为输...原创 2020-04-21 17:48:14 · 150 阅读 · 0 评论 -
HDU-1205-吃糖果-鸽巢原理
HDU-1205-吃糖果-鸽巢原理传送门这道题是一道组合问题。鸽巢原理的运用(鸽巢原理又被称为抽屉原理)即:把n+1个物体放进n个盒子,至少有一个盒子包含两个或者更多的物体我今天碰到一个组合问题直接卡住了,于是我就来练习组合了。中文题面我就不描述啦~本题思路:一般使用”隔板法“求解。找出最多的一种糖果,把它的数量N看成N个隔板,隔成N个空间(把每个隔板的右边看成一个空间)比如:...原创 2020-04-20 21:33:30 · 283 阅读 · 0 评论 -
HDU-5584-LCM Walk
HDU-5584-LCM Walk传送门果然如老师说的,lcm和gcd虽然很容易理解,但是跟其他的知识点结合起来就有难度了。尽管这道题还是lcm和gcd的一个运用。题目大意:一只青蛙从某个点(x, y)开始跳,每次跳的距离是k = lcm(x, y);要么到达(x + k, y),要么到达(x, y + k);此时给出青蛙跳的最终位置(ex, ey);问有多少种起始位置的可能跳到终点...原创 2020-04-20 14:20:55 · 197 阅读 · 0 评论 -
HDU-5223-GCD
HDU-5223-GCD传送门这道题是一个关于gcd和lcm的题目~构造题题目大意:给出一个整数n,代表你要构造的序列的长度,然后m次询问,每次询问给出区间[l, r]中l和r的值,给出这段区间的最大公约数,让你构造出满足m次询问的序列。如果构造不出来,就输出Stupid BrotherK!否则就输出长度为n的序列。看了下题目的范围到1e3,不大,可以暴力。我们首先初始化序列均为1....原创 2020-04-19 13:00:57 · 243 阅读 · 0 评论 -
数论运用之欧拉函数
数论运用之欧拉函数还没搞完欧拉回路=-=就来解锁欧拉函数了~欧拉函数是干嘛的?对于正整数n,欧拉函数是指小于等于n的正整数中与n互质的数的数目于是,我们把上面的通式转化为模板代码:int euler(int n){ int res = n; for (int i = 2; i * i <= n; i++) { if (!(n % i)) { res =...原创 2020-04-19 11:33:23 · 265 阅读 · 0 评论 -
HDU-2588-GCD(欧拉函数)
HDU-2588-GCD(欧拉函数)传送门这道题是欧拉函数的运用。先开始看到这道题我直接跑去模拟了,果然会tle。。。。题目大意:给你两个整数n, m。让你寻找有多少个x满足gcd(x, n) >= m;其中1 <= x <= n;怎么联想到欧拉函数上面去呢?我们看看:gcd(x, n) = q;x = a * q;n = b * q;(q是n的因子)可以作为...原创 2020-04-18 22:30:45 · 194 阅读 · 0 评论 -
数论之扩展欧几里得
数论之扩展欧几里得本篇博客讲解扩展欧几里得在一元二次方程整数解的运用~(这个算法其实原先老师讲过,害,太久没用了,然后差不多忘完了emmm)问题前言:给出整数a, b, n,问方程ax + by = n什么时候有整数解?如何求所有的整数解?有解的充分必要条件是:gcd(a, b)可以整除n解释如下:我们另a = gcd(a, b) * a1; b = gcd(a, b) * b1...原创 2020-04-12 13:46:16 · 201 阅读 · 0 评论 -
POJ-1061-青蛙的约会
POJ-1061-青蛙的约会传送门这道题就是简单的扩展欧几里得的运用~题面是中文~就不解释啦设青蛙a初始坐标为xx,青蛙a一次跳m个单位,青蛙b初始坐标为yy,青蛙b一次跳n个单位。L是纬线的长度。(其实我还百度了一下纬线是纵向还是横向啊哈哈哈,是横向哈~)我们设跳t次后可以相遇。那么青蛙a跳的距离:xx + t * m;青蛙b跳的距离为:yy + t * n;他们相遇要满足...原创 2020-04-12 12:50:06 · 156 阅读 · 0 评论 -
HDU-6030-Happy Necklace
HDU-6030-Happy Necklace传送门这道题是矩阵快速幂~题目大意:小Q想为自己的女朋友准备一条项链,他有红色的珠子和蓝色的珠子(在这里我想说哪里有女生喜欢红色+蓝色珠子组成的项链emmmm),然后他的女朋友的喜欢条件是:任取这条项链的长度为素数的子串,使得红色的珠子不少于蓝色的珠子。问小Q有多少种组合珠子的方式使得项链可以让他的女朋友喜欢。其中这条项链是一条单链,不是环。...原创 2020-04-11 19:59:53 · 150 阅读 · 0 评论 -
HDU-3117-Fibonacci Numbers
HDU-3117-Fibonacci Numbers传送门这道题是矩阵快速幂的经典题(入门级)+fib的求前四位数的方法题目大意:求fib的第n项。如果没有超过8位,那么正常输出,如果超过了8位,就输出前四位数+…+后四位数然后这个地方可以先枚举打表一下什么时候哪一项超过了8位数。可以看到第40项以后才会超过8位数,所以前四十项直接预处理就可以啦~之后的输出前四项的方法请先参考博客方...原创 2020-04-11 16:38:38 · 144 阅读 · 0 评论 -
HDU-1568-Fibonacci
HDU-1568-Fibonacci传送门这道题是fib问题。让你输出fib的前四项。(不足四项就平常输出就行)自己可以枚举一下,前20项都是小于等于4项的,直接输出就行。后面的话就需要截断了~这个地方用到的是fib的通项公式。然后这里用到的取前四位数的公式:这里举一个例子:我们要取10234432的前四位。把10234432取对数。所以我们把fib的通项公式取对数就可以...原创 2020-04-11 15:30:27 · 169 阅读 · 0 评论 -
HDU-5392-Infoplane in Tina Town
HDU-5392-Infoplane in Tina Town传送门这道题是lcm。只不过是多个数的lcm。这个题目大意我硬是理解了好久,就很卡。。题目大意:题目背景是一个游戏,说是你站在当前格子上会给你下一步走的位置。那么转换为我们的抽象含义:给出一组序列。让你恢复初始序列。(即让给定序列的数字恢复到他应该在的位置,比如数字1应该在1的位置,数字5应该在5的位置。)要分解循环长度。然后...原创 2020-04-10 17:42:07 · 286 阅读 · 1 评论 -
素数处理-埃拉托色尼筛选法(埃式筛)
素数处理-埃拉托色尼筛选法(埃式筛)埃拉托色尼筛选法(The Sieve of Eratosthenes)继欧拉筛之后,我今天补的一篇博客。名字太长了emm。简称就是埃式筛法。埃筛只能解决1e7以下的问题。因为空间受限。这两种筛法其实差不多嘻嘻。埃式筛法是一种古老而简单的方法。可以快速找到[2, n]内所有的素数。初始队列:[2, 3, 4, 5, 6, 7, 8, 9, 10, 1...原创 2020-04-10 13:12:35 · 1152 阅读 · 0 评论 -
CF-Round #632-div2-F题
CF-Round #632-div2-F题F. Kate and imperfection传送门这是我第一次写div2的F题似乎=-=这次的div2有点简单。hhh这道题用埃筛嘻嘻。是个贪心把~题目大意:给定一个整数n,区间1~n中任选k个数(k>=2)使得其中两两的最大gcd最小。意思就是任取k中的两个数获得最大的gcd,让gcd最小。贪心策略:我们选...原创 2020-04-10 12:21:38 · 171 阅读 · 0 评论 -
HDU-2817-A sequence of numbers&快速幂讲解
HDU-2817-A sequence of numbers传送门hh,这道题是逆元哈~我当时看这道题目就看的一脸离谱emmm。我不知道arithmetic or geometric sequences是什么意思。。。谷歌翻译了一下。他说是什么算术序列或集合序列?我内心:???这是啥?后来才知道是等差数列或者等比数列的意思emmm.我来复习费马的伟大成果啦~乘法逆元,快速幂。这次精细...原创 2020-04-09 21:18:06 · 196 阅读 · 0 评论 -
CF-#Round84-div2-E题
CF-#Round84-div2-E题E. Count The Blocks传送门这道题是逆元啦。乘法逆元的运用。CF不知怎么。炸了 今天晚上。题目大意:给你一个数。问0~10^n-1(这些数位数不足包含前导0)的数中块的个数块是这样定义的:长度为1的块代表有1个连续相同的数字长度为2的块代表有2个连续相同的数字。。以此类推输出。依次输出1~n的块有多少个我们枚举一下可以发现:...原创 2020-03-25 22:51:48 · 196 阅读 · 0 评论 -
计蒜客2020蓝桥杯B组省赛模拟(一)C题
计蒜客2020蓝桥杯B组省赛模拟(一)C题我今天逛博客的时候才发现有模拟赛,虽然我不太喜欢计蒜客。。。=-=不过还是题目重要一些。。原本想写个总的。。有些题目我也不太确定。。还是算了把。数论题C题:结果填空题,平面分割,递推问题,也简单,原先写过。传送门参考博客:https://blog.youkuaiyun.com/qq_44624316/article/details/104610829...原创 2020-03-20 19:05:08 · 217 阅读 · 0 评论 -
CF-Round#624-div3-D题
CF-Round#624-div3-D题D. Three Integers传送门题目大意:给你三个数,可以对这三个数进行+1或者-1操作。问使得(B%A == 0) && (C%B == 0)的最小操作次数数学题,思维。暴力枚举枚举从1~2A的数字。因为不可能大于2A嘛。。大于2A的话可以直接把A置1.操作步骤更小。然后枚举A的倍数。同样这个倍数也不可能大于2B,如果...原创 2020-03-19 15:58:19 · 263 阅读 · 0 评论 -
CF-CodeCraft-20-Div. 2-C题
CF-CodeCraft-20-Div. 2-C题C. Primitive Primes传送门数学问题。题目给你两组多项式和一个素数。让你任意输出一个两个多项式相乘之后系数不能整除所给素数的指数暴力是不可能了。一看就会tle。很容易知道如果两个数都不能整除一个素数。那么他们的乘积也不能整除。我们把a[i]作为第一个不能整除素数的那个数b[j]作为第一个不能整除素数的那个数那么a...原创 2020-03-14 21:02:15 · 119 阅读 · 0 评论 -
2020牛客寒假算法基础集训营5 H题
2020牛客寒假算法基础集训营5 H题Hash传送门这是一道名如其题的题目~就是hash和数学啦今天2.14情人节耶~zz情人节快乐嘻嘻。昨天刚刚打完的第五场,这次做了三道题(偶不怕丢脸!)坚持总是会胜利的嘛~昨天晚上躺在床上一直想自己能不能有用点!害!每次晚上像是打了鸡血一样说明天早上一定要早点起来学习,结果=-=偶服了,第二天早上干脆什么都忘掉了,一觉睡到十点十一点=-=周而复始的没...原创 2020-02-14 13:29:00 · 153 阅读 · 0 评论