![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学
文章平均质量分 86
数学是根本
小白小郑
不能模仿谁,只能做自己。
展开
-
天梯练习——数列求和-加强版(数学思维)
数列求和两种方法:大数相加、位运算。大数相加这个相对比较暴力,单纯的枚举相加,在 N 取较大的时候会超时,复杂度估计要 O(n2)以上。//暴力法 #include<bits/stdc++.h>using namespace std;int s[100010], now[100010];int n, h;void add(int tmp){ int d=0; int c = max(h, tmp); for(int i=0; i<=c; i++){ s[i原创 2020-11-15 10:17:42 · 279 阅读 · 0 评论 -
基础算法题——猴子选大王(约瑟夫环)
猴子选大王一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?如果要追求效率,就要打破常规,实施一点数学策略。算法分析约瑟夫问题_百度百科为了讨论方便,先把问题稍微改变一下,并不影响原意:问题描述: n 个猴子(编号0~(n-1)),从 0 开始报数,报到 (m-1) 的退出,剩原创 2020-11-11 20:11:43 · 4270 阅读 · 3 评论 -
天梯习题——阶乘计算升级版(乘法原理、大数相乘)
阶乘计算升级版原创 2020-11-10 13:26:02 · 278 阅读 · 0 评论 -
基础算法题——求单链表结点的阶乘和(0的阶乘(0!) 是1、1的阶乘(1!) 是1)
求单链表结点的阶乘和0的阶乘(0!) 是1、1的阶乘(1!) 是10的阶乘(0!) 是1、1的阶乘(1!) 是10的阶乘(0!) 是1、1的阶乘(1!) 是1int FactorialSum( List L ){ int dp[15], ans=0; dp[0]=1, dp[1]=1; for(int i=2; i<=12; i++){ dp[i] = dp[i-1]*i; } while(L!=NULL){原创 2020-11-09 20:36:39 · 130 阅读 · 0 评论 -
万万没想到 之 二分法 (Best Cow Fences、讲得就很透彻,就很舒服)
Best Cow Fences题意:给定一个正整数数列A , 求一个平均数最大,长度不小于 L 的字段。(想不到这种题目也可以用二分来解答,菜是原罪哎)方法一:枚举暴力法#include<bits/stdc++.h>using namespace std;int sum[100010];int main(){ int n, l; memset(sum, 0, sizeof(sum)); scanf("%d%d", &n, &l); for(int i=1;原创 2020-11-07 23:33:44 · 620 阅读 · 0 评论 -
算法记录——快速判定多个数(1~1e18)是否为质数(Miller_rabin)
质数判定题目描述判定输入的数是不是质数。输入格式若干行,一行一个数 。行数不超过 105。输出格式对于输入的每一行,如果 是质数输出一行 Y,否则输出一行 N。样例样例输入1269666623333样例输出NYNNY数据范围与提示1 <= x <= 1 * 1018欢迎hack(如果你不是管理员,可以在题目讨论区发帖)。Miller_rabin 详解链接Miller_rabin算法优势可以单独判断一个大数是否素数。缺点他是一个不保证正确的原创 2020-11-07 11:22:02 · 1736 阅读 · 0 评论 -
基础算法题——炎炎消防队(取巧、三分)
炎炎夏日题目描述夏天的重庆格外地炎热,很容易起火。消防士们都全副武装,一旦发生险情就立马赶往救火。森罗是消防队中的一员,他在灭火的过程中突发奇想,如果能用退火的原理求解函数求最小值,那不就可以很容易计算了吗?翌日,森罗来到即将高考的弟弟家辅导功课,其中一道题目是这样的函数F(x) = F(x) = 7 * x7 + 6 * x6 + 2 * x3 + 8 * x2 - y * x给定任意一个实数y,让你求出函数的最小值。森罗回想起昨天的突发奇想,很快就给出了这个题目的解。那么,你知道他是怎么解决原创 2020-11-06 13:21:48 · 574 阅读 · 0 评论 -
基础算法题——计算分数(细节)
计算分数题目描述Csh 被老妈关在家里做分数计算题,但显然他不愿意坐这么多复杂的计算。况且在家门口还有 Xxq 在等着他去一起看电影。为了尽快地能去陪 Xxq 看电影,他把剩下的计算题交给了你,你能帮他解决问题吗?输入格式输入一行,为一个分数计算式。计算式中只包含数字、+、-、/。其中 / 为分数线,分数线左边为分子,右边为分母。输入数据保证不会出现繁分数。如果输入计算式的第一项为正,不会有前缀 + 号;若为负,会有前缀 - 号。所有整数均以分数形式出现。输出格式输出一行,为最后的计算结果(用原创 2020-11-03 10:22:39 · 442 阅读 · 0 评论 -
基础算法题——P2926 [USACO08DEC]Patting Heads S(思维转变、剪枝)
Patting Heads S今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏。贝茜让 N(1≤N≤10 5) 头奶牛坐成一个圈。除了 1 号与 N 号奶牛外,i 号奶牛与 i-1 号和 i+1 号奶牛相邻。N 号奶牛与 1 号奶牛相邻。农夫约翰用很多纸条装满了一个桶,每一张包含了一个不一定是独一无二的 1 到 106的数字。接着每一头奶牛 ii 从柄中取出一张纸条 A_iAi 。每头奶牛轮流走上一圈,同时拍打所有手上数字能整除在自己纸条上的数字的牛的头,然后做回到原来的位置。牛们原创 2020-11-03 09:39:04 · 234 阅读 · 0 评论 -
基础算法题——呼兰河传(除法不可直接求余)
呼兰河传题目描述沿着河边看一看清冷的夏夜,耳机里是AR的《呼兰河传》。AR的呼兰河并非一条河,而是一个故乡小城的生活日记。静谧的童年,孩子看世界的眼光,花开鸟飞间的自由,塑造了一方那个时代中少有的美好。现在,你需要回答以下问题,才可倾听这首《呼兰河传》带来的温柔,试试吧。给你n个数,选择一些数,使得LCM最大,输出LCM的最大值并对1e9+9取模。LCM:最小公倍数输入描述:第一行输入一个n,代表数字的个数。第二行输入n个数a[i],代表每个数的值。1<=n<=1e6,1<=原创 2020-11-02 15:27:41 · 164 阅读 · 0 评论 -
基础算法题——异或(复杂度的小差异)
异或题目描述给定一个长度为 n 初始全为 0 的数列 ai,下标从 1 开始。定义操作模 k 异或 v 为对所有满足 ki≡0(mod k) 的下标 i,将异或上整数v(即令 ai = ai⊕v)。给出q次操作,每次操作之后输出序列的异或和,并且在操作结束之后输出整个序列。序列的异或和为 a 1⊕a 2⊕…⊕an输入描述:第一行两个整数n,q。接下来q行,每行两个整数 ki, vi。1 ≤ n, q ≤ 2×1051 ≤ ki, vi ≤ 109输出描述:输出共q+1行,其中前q行每原创 2020-11-01 15:53:30 · 524 阅读 · 0 评论 -
基础算法题——进制转换(类比思想)
进制转换题目描述我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置为指数,以 10 为底数的幂之和的形式。例如 123 可表示为 1×102+2×101+3×100 这样的形式。与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置为指数,以 2 为底数的幂之和的形式。一般说来,任何一个正整数 R 或一个负整数 -R 都可以被选来作为一个数制系统的基数。如果是以 R 或 -R 为基数,则需要用到的数码为 0,1,…R-1。例如当 R=7 时,所原创 2020-11-01 11:42:00 · 588 阅读 · 0 评论 -
基础算法题——找筷子(位的异或)
找筷子题目描述经过一段时间的紧张筹备,电脑小组的“RP 餐厅”终于开业了,这天,经理 LXC 接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题:筷子!CX 小朋友找出了餐厅中所有的筷子,但遗憾的是这些筷子长短不一,而我们都知道筷子需要长度一样的才能组成一双,更麻烦的是 CX 找出来的这些筷子数量为奇数,但是巧合的是,这些筷子中只有一只筷子是落单的,其余都成双,善良的你,可以帮 CX 找出这只落单的筷子的长度吗?输入格式第一行是一个整数,表示筷原创 2020-11-01 10:46:52 · 960 阅读 · 0 评论 -
基础算法题——学长的白日梦(快速幂、快速逐步求积)
学长的白日梦题目简单明了,只要将计算出 xi 即可。两个卡点:①、快速幂②、快速逐步求积由于这道题 mod = 999999997 。mod * mod > 10^19,不能直接用快速幂解决,中间求积会爆。于是我卡在逐步求余上动弹不得,唉~看了题解后发现在快速幂中高效地实现逐步求积即可解决问题,代码思想与快速幂异曲同工。就很妙,很舒服。//快速逐步求积long long quick_mul(long long a, long long b){ ll ans = 0; w原创 2020-10-29 16:07:15 · 139 阅读 · 0 评论 -
基础算法题——折线分割平面(规律)
题目我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。Input输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。Output对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。Sample Input212题目中折线表明,折线由两条射线组成,折线上的原创 2020-07-16 14:28:30 · 732 阅读 · 0 评论 -
基础算法题——异或和之和(位运算、组合数)
异或和之和题目链接解题思路解题方案暴力枚举:时间复杂度:O(n3),超时。位操作+组合数:解铃还须系铃人。对于这种与、或、异或的位操作,一般也是通过位操作来解答。总结规律题目要求在 n 个正整数中枚举 3 个数进行位操作,若要确定 3 个数的异或结果,就要寻找对异或结果的位有影响的情况。枚举可能情况:0 ^ 0 ^ 0 = 00 ^ 0 ^ 1 = 10 ^ 1 ^ 0 = 10 ^ 1 ^ 1 = 01 ^ 0 ^ 0 = 11 ^ 0 ^ 1 = 01 ^ 1 ^原创 2020-10-13 23:51:28 · 1393 阅读 · 0 评论 -
基础算法题——解方程(高精度二分)
解方程题目链接对于解方程,很容易联想到二分。但这道题比较特殊,它的精度要控制在10-7以上。原创 2020-10-12 16:11:21 · 307 阅读 · 0 评论 -
基础算法题——Harder Gcd Problem(数论、思维)
题目给定一个 n,将 2~n 内的数进行一对一匹,每个数仅能利用一次。假设 a 与 b 匹配,则 gcd(a,b) != 1。现求 2~n 内最大匹配数量,并输出匹配数对。输入T代表输入组数。下面T行,每一行一个数字n。输出输出最大匹配数量 m下面m行,每一行一对匹配数对示例1输入样例2410输出样例12 443 95 108 24 6解题思路数论知识:合数一定能够通过质数相乘得到。总体思路将 n 以内的质数尽量匹配。通过质数将合数尽量匹配。逐原创 2020-07-23 16:26:11 · 170 阅读 · 0 评论 -
基础算法题——牛牛的棋盘(容斥原理)
容斥原理:一种计数方法。先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复。题目牛客网牛牛最近在家里看到一个棋盘,有 n * m 个格子,在棋盘旁边还放着 k 颗棋子,牛牛想把这 k 颗棋子全部放在 n * m 的棋盘上,但是有一个限制条件:棋盘的第一行、第一列、最后一行和最后一列都必须有棋子。牛牛想知道这样的棋子放法到底有多少种,答案需要对1e9+7取模。示例1输入2,3,1输出0说明就1颗棋子,所.原创 2020-07-23 10:14:55 · 884 阅读 · 0 评论 -
洛谷题集——线性筛素数(一般筛选与线性筛选)
如题,给定一个范围 n,有 q 个询问,每次输出第 k 小的素数。输入格式第一行包含两个正整数 n,qn,q,分别表示查询的范围和查询的个数。接下来 qq 行每行一个正整数 kk,表示查询第 kk 小的素数。输出格式输出 qq 行,每行一个正整数表示答案。输入输出样例输入 #1 复制100 512345输出 #1 复制235711说明/提示【数据范围】对于100% 的数据,n = 108,1≤q≤106,保证查询的素数不大于 n。【普通筛——埃拉托斯特尼(Er原创 2020-06-06 19:49:48 · 561 阅读 · 0 评论 -
基础算法题——素因子去重
素因子去重题目问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1输入格式 一个整数,表示n输出格式 输出一行,包含一个整数p。样例输入1000样例输出10数据规模和约定 n<=10^12 样例解释:n=1000=2^353,p=2*5=10思路一:通过筛选法将2~1012中的素数求出,再通过枚举素数的方式...原创 2020-03-16 15:04:47 · 396 阅读 · 0 评论 -
牛客网题库——矩阵乘法(异或和)
基础算法题——矩阵乘法(异或和)前言本人为一名普通二本学校自动化专业的大二学生,对编程有着少许兴趣。写这道题主要目的为了分享自己的学习经验。题目本题考查重点①:异或和理解②:矩阵乘法与计算一开始粗略看了下题目,发现自己竟然看不懂题目意思。关键不理解何为异或和以及如何求出所有元素的异或和。于是我在网上查阅了一些资料,其实异或和很简单。异或和:没有进制的二进制加法。假设求5...原创 2020-03-03 17:39:17 · 3152 阅读 · 0 评论 -
牛客挑战赛37——牛牛与组合数数学(小白视角)
本人为一名普通二本学校自动化专业的大二学生,对编程有着少许兴趣。致力将算法写得更加通俗易懂。原创 2020-02-23 14:53:34 · 402 阅读 · 0 评论 -
基础算法题——斐波那契(快速求幂、斐波那契特性、矩阵)
基础算法题——斐波那契本人为一名普通二本学校自动化专业的大二学生,对编程有着少许兴趣。致力将算法写得更加通俗易懂。快速求幂、斐波那契数列特性、矩阵。原创 2020-02-20 17:22:45 · 517 阅读 · 0 评论