
数学
文章平均质量分 64
Cosmic_Tree
什么时候才能像杨大佬一样强啊(´;︵;`)
展开
-
HDU - 7047 - Link with Balls ( 插板法 + 组合数 )
题目链接:点击进入题目题意2n 个框,从第 2x - 1 个框里可以得到 kx 个球 ( k >= 0 ) ,从第 2x 个框里可以得到 <= x 个球。问得到 m 个球,有多少种取法。思路思路一:根据题意我们大概可以得到,对于一个位置 i ,若是奇数,则可以得到 <= ( i + 1 ) / 2 个球,若是偶数,则可以得到 k * i / 2 个球 ( k >= 0 ) 。不管从哪个框里拿球,都是有限制的。要么是拿某个数的倍数,要么拿比某个数小的数,这里有很多限制条原创 2021-08-11 13:31:42 · 392 阅读 · 4 评论 -
HDU - 7049 - Link with Grenade ( 物理 + 数学 )
题目链接:点击进入题目题意你站在一个很高很高很高的地方,你手里有颗手榴弹,随便选一个方向,以初速度v0扔出去,t秒后爆炸,考虑重力加速度10m/s210 m/s^210m/s2,手榴弹爆炸范围为半径为R的球,人要是在这个范围内必死,问人不死的概率。思路代码...原创 2021-08-11 13:31:28 · 277 阅读 · 0 评论 -
HDU - 7018 - Banzhuan( 思维 + 数学 )
题目链接:点击进入题目题意三维空间 n * n * n 内放方块,保证前面看是 n * n ,左面看是 n * n ,上面看是 n * n 。放置一块方块的代价是x * ( y ^ 2 ) * z,求最大代价跟最小代价。思路最大代价就是全填满嘛,不过这个放置的时候有技巧,就是可以在高的地方放,然后让方块掉下去,越高放置代价越大,所以我们只要让所有方块都是从 z = n 的地方放下去就可以了,代价计算 :对于 y = 1 , z = 1 , x 的代价和 = (1+n)∗n2∗z\frac{(原创 2021-08-04 22:51:20 · 218 阅读 · 0 评论 -
2021牛客暑期多校训练营5 - B - Boxes ( 概率问题 )
题目链接:点击进入题目题意n 个盒子,每个盒子里面可能是白球也可能是黑球,概率 12\frac{1}{2}21,打开盒子的代价wiw_iwi,你有一些 hints 的机会,即每次花费 c 代价,知道剩下没有打开的盒子中还有多少个黑球。问知道所有盒子的球的颜色的最小成本的数学期望是什么?思路1整体就是两种方法,一种就是我不做hints操作,我直接全开;另一种就是我做一次hints操作,然后再开( 只做一次就够了,做多了没用,因为你知道总球数,还知道黑色总球数目,同时每次开盒你还知道什么颜色原创 2021-08-03 10:06:30 · 228 阅读 · 0 评论 -
P4173 残缺的字符串 - ( 通配符的单模式串匹配 && FFT )
题目链接:点击进入题目思路学习链接普通串匹配过程,大致思路:1、定义匹配函数2、定义完全匹配函数3、快速计算每一位的完全匹配函数值代码#include<iostream>#include<string>#include<map>#include<set>//#include<unordered_map>#include<queue>#include<cstdio>#include<ve原创 2021-07-28 15:56:56 · 163 阅读 · 0 评论 -
HDU - 6975 - Forgiving Matching ( FFT字符串匹配 )
题目链接:点击进入题目题意给你两个字符串 S 、T ( 只包含 字符 0 - 9 以及 * ), S 长 n , T 长 m , * 是通配符( 即可以与任何字符匹配 ),问在匹配中最多允许 k( 0 - m )个不同位置的情况下,S 中最多有多少个能与 T 匹配的子串。思路对于 S 的所有长度为 m 的子串,维护一个 f 记录这个子串与 T 匹配的位置数,知道了 f 也就是知道了这个子串完全匹配所需要的最小的 k 。假如没有通配符,对于每个字符 c ,原创 2021-07-28 15:15:14 · 399 阅读 · 0 评论 -
2021牛客暑期多校训练营2 - WeChat Walk ( 分块 )
题目链接:点击进入题目题意n 个人,m 对好友关系,q 次修改,每次修改增加一个人的步数,同时每个人都有个显示微信步数的排行榜( 自己以及自己的好友在上面 ),问 q 次修改后,每个人在自己的排行榜中保持冠军的时间。思路对于每次修改,如果暴力的去更新当前点以及跟它相连的点,那么时间复杂度可能会达到O(n2)O(n^2)O(n2) 。对此,我们可以有目的的修改,运用分块,按照度数,将点分为大小点,小点暴力,大点维护。设度数 > limit 为大点,度数 <= limit 为小原创 2021-07-26 21:23:22 · 185 阅读 · 0 评论 -
2021牛客暑期多校训练营2 - J - Product of GCDs ( 分解质因数 + 组合数 + 欧拉降幂 )
题目链接:点击进入题目题意给一个集合,求所有大小为 k 的子集的 gcd 之积思路枚举所有 gcd ,对于每个当前枚举的 gcd = i,统计它的倍数出现的个数 num,i 的出现的倍数形成集合A。gcd = i 且大小为 k 的子集都是 A 的子集,A 的大小为 k 的子集共 c ( num,k ) 个,但不都是所有子集的gcd 都等于 i , 还可能等于 i 的倍数。所以我们在计算 gcd = i 且大小为 k 的子集的个数的时候还要去除 gcd =( i 的倍数 ) 的子集的影响。原创 2021-07-25 19:45:54 · 358 阅读 · 0 评论 -
2021牛客暑期多校训练营2 - F - Girlfriend ( 球体积相交 )
题目连接:点击进入题目题意A、B、C、D、k1、k2 已知,根据不等式, P1 的取值会形成一个图形,P2 类似,求两个图形的交思路这个式子取等号是阿波罗尼斯圆,二维平面是圆,三维是球壳,取不等式就变成了实心球,所以就变成了两个球求相交体积。对式子带入,计算,化简(貌似这里,,,跟知不知道阿波罗尼斯圆没什么关系?!)备注:公式图片来自于here代码(模板偷自刘爷)//#pragma GCC optimize(3)//O3//#pragma GCC optimize(2)//O原创 2021-07-25 11:55:15 · 245 阅读 · 0 评论 -
2021牛客暑期多校训练营1 H - Hash Function ( FFT )
题目链接:点击进入题目题意给你一个集合 S ,让你找一个最小模数 seed ,满足集合内所有数取模后的值各不相同思路如果两个数 x , y , 取模后的值相同,则需要满足:| x - y | % seed == 0所以如果已知模数 seed ,若对于所有的 | a [ i ] - a [ j ] | ( 1 <= i, j <= n, i != j )都满足不是模数 seed 的倍数,那么此模数就是最小模数。对于所有的 | a [ i ] - a [ j ] | ( 1 &l原创 2021-07-23 16:57:28 · 245 阅读 · 0 评论 -
P1919 【模板】A*B Problem升级版(FFT快速傅里叶)
题目链接:点击进入题目思路代码原创 2021-07-23 16:57:12 · 222 阅读 · 0 评论 -
P3803 【模板】多项式乘法(FFT)
题目链接:点击进入题目思路分别将fx与gx的系数表示法转换为点点值表示法,然后将两个多项式的点值进行乘积运算,然后再将运算结果转换为系数表示法,将结果系数依次输出。代码#include<iostream>#include<string>#include<map>#include<set>//#include<unordered_map>#include<queue>#include<cstdio>#原创 2021-07-23 16:57:03 · 183 阅读 · 0 评论 -
FFT(快速傅里叶变换)模板
学习链接1:点击进入学习链接2:点击进入主要用处O(nlogn)计算多项式乘法。DFT(离散傅里叶变换):多项式转化成“离散的点”,系数表示法变成点值表示法.IDFT(离散傅里叶反变换)把“离散的点”还原回多项式,点值表示法变成系数表示法。… …代码(模板)#include<iostream>#include<string>#include<map>#include<set>//#include<unordered_map>原创 2021-07-23 16:56:50 · 490 阅读 · 0 评论 -
Ancestor Age - ( 中国剩余定理 - 不互质 )
题目:题意给你 e 对余数与模数让你求满足条件的最小的解( 解要比所有模数大 )思路中国剩余定理( 不互质 ),因为求的是 满足条件的最小值( 不是最小值 ),所以在结果处取模的地方将结果+mod到满足条件即可代码:#include<iostream>#include<string>#include<map>#include<set>//#include<unordered_map>#include<queue>原创 2021-04-14 21:01:37 · 291 阅读 · 0 评论 -
Chat Group -( 组合数 + 乘法逆元 )
题目链接:点击进入题目题意n 个人, >= k 人就可以组成一个小组,问能组成多少个小组思路答案 = c ( n , k ) + … + c ( n , n )= 2 ^ n - ( c ( n , 0 ) + … + c ( n , k - 1 ) )c ( n , i ) = c ( n , i - 1 ) * ( n - i + 1 ) / ii 的逆元: 1 / i = i ^ ( mod - 2 )代码#include<iostream>#includ原创 2021-03-29 20:15:46 · 627 阅读 · 0 评论 -
UVALive - 8521-LOL - ( 排列组合 )
题目链接:点击进入题目题意5 个人,100 个英雄,给你 5 个人关于 100 英雄的拥有情况( 0 - 没有,1 - 有 ),每个人用一个,办一个,除去自己队伍的五个人,对面队伍的五个人也是用 5 个办 5 个,求双方对战方案数。思路四个 5自己队伍 5 个出战( 必须是自己有的才可以出战 )自己队伍 5 个禁用( 当出战确定,禁用的就是,剩下的 95 个 中选 5 个,有序 )对面队伍 5 个出战( 剩下的 90个 中选 5 个,无序 )对面队伍 5 个禁用( 剩下的 85个 中选原创 2021-03-23 21:16:00 · 221 阅读 · 0 评论 -
Going Home - ( 抽屉原理 )
题目链接:点击进入题目题意给一个长度为 n 的数组,问是否存在 x , y , z , w ( 四个数互不相同 ) ,满足 a [ x ] + a [ y ] = a [ z ] + a [ w ] ;思路暴力枚举 x 与 y ,得出和值 C ,2 <= C <= 5e6。有 n ^ 2 对( x , y ),和值 C 大约有 5e6 种取值,当 n ^ 2 > 5e6 时,根据抽屉原理,必有一个和值对应两个以上的( x , y )对,但是,此时可能对应的( x , y )原创 2021-03-16 19:43:05 · 1349 阅读 · 10 评论 -
Keiichi Tsuchiya the Drift King-( 数学 )
题目链接:点击进入题目题意一个长 b 宽 a 的长方形通过一段半径 r ,圆心角 d 的弧形通道,通道需要的最小宽度 w 为多少。思路通过画图,我们大概可以知道,当圆心角 d 超过某一限制 limit 的时候,通道的宽度 w 是不会随着 d 的变化而变化的(即为定值);这个 limit 我们可以根据 a , b , r 这三个数据得到:limit = atan ( b / ( a + r ) ) ;因此 w 我们也可以得到 w = sqrt ( b * b + ( a + r ) * (原创 2021-03-16 17:59:53 · 244 阅读 · 0 评论 -
2021年度训练联盟热身训练赛第一场-G Birthday Paradox ( 数学 )
题目链接:题目题意m个人,n组生日(可能这一天就一个人过生日,也可能多个人过生日),一年365天,问给定的这种情况的概率思路设m是总人数,那么总的情况数是符合题意的情况数:1、选出的n天生日的情况数,2、m人分成n组的情况数(排除组内重复)3、n个日期与n个组一一对应的情况数综上:答案为然后取对数()...原创 2021-03-08 17:03:23 · 516 阅读 · 0 评论 -
2021牛客寒假算法基础集训营4-J-邬澄瑶的公约数(质因数分解)
题目链接:点击进入题目思路求 n 个数的最大公约数,可以把 n 个数都质因数分解,然后取所有的公共部分,再乘起来就是答案代码#include<iostream>#include<string>#include<map>#include<set>//#include<unordered_map>#include<queue>#include<cstdio>#include<vector>原创 2021-03-06 10:09:19 · 152 阅读 · 0 评论 -
cf - 922C - Cave Painting ( 思维 + 数学 )
题目链接:点击进入题意给你 n , k , 问是否 n % i ( 1<= i <= k ) 的值都不一样思路若n % i 的结果都不同,则n % 1 = 0n % 2 = 1n % 3 = 2n % 4 = 3…n % i = i - 1代码#include<iostream>#include<string>#include<map>#include<set>//#include<unordered_map&原创 2020-11-30 17:17:04 · 283 阅读 · 2 评论 -
爱丽丝的人偶(二)-(排列组合-数学)
思路去重,求组合数 c( len , k )(len为去重后的序列长度)(预处理组合数)代码#include<iostream>#include<string>#include<map>#include<set>//#include<unordered_map>#include<queue>#include<cstdio>#include<vector>#include<cstri.原创 2020-11-30 17:15:49 · 479 阅读 · 2 评论 -
Codeforces Round #680 C-Division(数论+分解质因子)
题意给你两个数字 p , q ,让你求满足( p % x == 0 && x % q != 0 )的最大的 x思路这里我们用n,m来代替p,q如果 n % m != 0 那么最大的 x 就是 n如果 n % m == 0 ,我们知道 假设如果 n % x == 0t1 <= e1 , t2 <= e2 … tk <= ek;又因为 n % m == 0f1 <= e1 , f2 <= e2 … fk <= ek如果想让 x ..原创 2020-11-01 23:12:06 · 480 阅读 · 0 评论 -
找新朋友(欧拉函数)
题目链接:点击进入思路欧拉函数板子题代码#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>using namespace std;typedef long long ll;const int maxn=1e7+10;ll oula(ll n){ ll ans=n; for(int i=2;i*i<=n;i++) { if(n%i==0)原创 2020-10-28 12:36:41 · 382 阅读 · 1 评论 -
扩展欧拉定理
题目链接:点击进入知识点代码#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>using namespace std;typedef long long ll;const int maxn=1e7+10;ll qpow(ll a,ll b,ll mod){ ll res=1; while(b) { if(b&1) res=res*a%原创 2020-10-28 12:34:40 · 248 阅读 · 0 评论 -
A^X mod P(数论+打表)
题目描述It’s easy for ACMer to calculate A^X mod P. Now given seven integers n, A, K, a, b, m, P, and a function f(x) which defined as following.f(x) = K, x = 1f(x) = (a*f(x-1) + b)%m , x > 1Now, Your task is to calculate( A^(f(1)) + A^(f(2)) + A^(f(3)原创 2020-09-08 17:50:32 · 418 阅读 · 0 评论 -
Rescue The Princess(数学)
题目描述Several days ago, a beast caught a beautiful princess and the princess was put in prison. To rescue the princess, a prince who wanted to marry the princess set out immediately. Yet, the beast set a maze. Only if the prince find out the maze’s exit ca原创 2020-09-07 17:41:55 · 353 阅读 · 0 评论