随笔分类 - 数学
摘要:关于扩展欧几里得算法和逆元 1.扩欧 a*x1+b*y1=gcd(a,b); b*x2+(a%b)*y2=gcd(b, (a%b))= gcd(a,b); a%b=a-(a/b)*b; 联立可得 x1=y2 y1=x2-(a/b)*y2; 递归的边界为b=0 此时x=1,y=0,然后回溯即可。 为什
阅读全文
摘要:P2431 正妹吃月饼 我一开始是a<=2^n-1<=b,直接输出n=(int)log(b+1)/log(2); 50分,没有仔细分析2^n-1<a但是2^(n+1)-1>b的情况。 这里考虑位运算 在l小于r的基础上从小到大|1,最后有多少个一加起来就可以了。
阅读全文
摘要:long long or int 很多时候long long爆空间,int有时又不够 。 在算乘法的时候,要保证乘出来的中间项也不爆long long
阅读全文
摘要:1.平方根(sqrt.pas/c/cpp) 【问题描述】 给出一个正整数n (1<n≤2^31-1),求当x,y都为正整数时,方程 的解中,x最小值为多少? √n=√x-√y 【输入文件】 输入文件只有一行,一个正整数n。 【输出文件】 输出文件只有一行,即满足条件的最小x的值。 【文件样例】 sq
阅读全文
摘要:P1348 Couple number 我其实找规律了的,然后也没仔细分析,这个题多巧妙。 C=a^2-b^2=(a+b)(a-b) 对于任意a而言,加减同一个数得到的数的奇偶性相同,故c=奇数或4的倍数。 考虑负数,(-3)%2 1
阅读全文
摘要:Problem 1 :最长线段 (chord.pas/chord.in/chord.out) 【问题描述】 给定两个圆各自的圆心坐标和半径长。过其中一个交点作直线,该直线与圆的另外两个交点分别为A、B。线段AB最长是多少? 【输入数据】 第一行有三个用空格隔开的整数x1,y1,r1,依次表示第一个圆
阅读全文
摘要:洛谷P2241 统计方形(数据加强版) 我的做法是在求矩形时(包括正方形),用的是长从1~m,宽从1~n枚举的,但是数学方法往往能起到四两拨千斤的效果,其实矩形的个数就是Cn+22 * Cm+22.因为确定一个矩形只需要确定它的两个端点就可以了,为啥要n+1,m+1呢?因为矩形边长可以为1,就是另一
阅读全文
摘要:洛谷P1372 又是毕业季I 对于答案a,k*a是最接近n的,即a=n/k(下取整),所以直接输n/k即可。 我的方法是 二分查找 n/k真的没有想到唉。 我找的最大公约数,如果当前的mid对应的个数比k大,就往大了找,否则往小里找,对于边界问题,要加一些特判。
阅读全文
摘要:P1887 乘积最大3 基本不等式,那m个数要尽可能相等,若除不尽,剩的均匀分到m上即可。
阅读全文
摘要:洛谷P1146 硬币翻转 一开始做得很好,自己分析了小数据,发现了一些规律,但是我太心急了,没仔细观察和思考,然后看了题解,以后以比赛形式做题,不能看题解,翻n-1次不就是翻1次吗?效果一样的,因为要字典序最小,我们就从前往后翻即可。
阅读全文
摘要:P3414 SAC#1 - 组合数 组合数的性质,求(1<<(n-1))%mod即可。其实要快速幂。
阅读全文
摘要:Catalan数 虽然早就听说了catalan数,但是并不真正理解,昨天做了一个出栈次序的题,学了一下,关于卡特兰数,有很多应用,目前我掌握(说是掌握,也是未必)是出栈次序问题,有n个数,h(n)=C2nn-C2nn-1, 到目前为止,出栈数一定要小于等于入栈数,不然没有进来怎么出去,也就是不合法的
阅读全文
摘要:洛谷P1351 联合权值 数学方法+枚举中间点,因为两两之间都要乘,故等价于(a+b+c)^2-a^2-b^2-c^2.这里用vector存的相连的点。
阅读全文
摘要:康托展开 简介:对于给定的一个排列,求它是第几个,比如54321是n=5时的第120个。(对于不是1~n的排列可以离散化理解) 做法: ans=a[n]*(n-1)!+a[n-1]*(n-2)!+~~~~a[1]*0!.(a[n]表示在给定的排列中,还没出现的,而且比当前值小的数的个数) 如果说对于
阅读全文