自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 收藏
  • 关注

原创 fwt变换模板

在算法竞赛中,FWT 是用于解决对下标进行位运算卷积问题的方法。

2024-09-10 21:24:49 499

原创 求两圆相交交点模板

void Circle_insection(Circle a,Circle b)//两圆交点。

2024-09-10 14:13:55 250

原创 三维最小球覆盖(模拟退火)

地址:代码:int n;Point p[N];i <= n;i++)st *= rate;return ans;cin >> n;i <= n;return 0;

2024-09-08 00:37:02 468

原创 Matrix Equation(高斯线性异或消元+bitset优化)

对于b[i,j]*c[i,j],b[i,j]可以与a[i,i]异或让他转换到左边,而右边一列全为0。mod2,当这一行相乘1的个数为奇数时,z(i,j)为1,偶数为0,是异或消元。每一列的解是不能确定元素cn个的2^cn。我们发现对于矩阵C可以一列一列求。异或消元可以用bitset优化。

2024-07-26 01:47:09 704 1

原创 外星千足虫(高斯消元+bitset优化)

高斯异或线性方程组,但是n最多到2e3,所以用bitset优化一下(类似与二维数组,但取值只能是0或1,对时间的优化主要在两行数异或,从o(n)变为0(1))。

2024-07-24 00:58:04 466

原创 约旦消元求逆矩阵

LL a[N][N];int n;LL ans=1;while(b){b>>=1;a=a*a%mod;return ans;int guss()c<=n;c++)i<=n;if(!i<=2*n;i>=c;i<=n;i++)j>=c;j--)r++;i>=1;i--)j<=n;j++)k<=2*n;k++)return 1;cin>>n;i<=n;

2024-07-22 23:57:30 312

原创 OSU!题解(概率dp)

对于到i点的每一个l,如果第i+1点为1,那么会新增分数3*l^2+3*l+1;(p代表截止到i获得长度l的概率);)表示截止到i所获得的分数;

2024-07-16 08:45:36 245

原创 亚瑟王(概率dp)

如果第i张牌发动:f[i][j]+=f[i-1][j-1]*(1-s[i][r-j+1]);答案为g[i]*d[i](1<=i<=n),出现的概率*相应的概率,即为期望伤害。如果第i张牌不发动:f[i][j]+=f[i-1][j]*s[i][r-j];

2024-07-15 21:47:55 797

原创 P1850换教室 题解(概率dp)

1.上节课申请:f[1][i-1][j-1]+1.0*dis[c[i]][c[i-1]]*(1-k[i])*(1-k[i-1])+1.0*dis[c[i]][d[i-1]]*(1-k[i])*k[i-1]1.上节课申请:f[1][i-1][j]+k[i-1]*dis[c[i]][d[i-1]]+1.0*(1-k[i-1])*dis[c[i]][c[i-1]];2.上节课不申请:f[0][i-1][j]+dis[c[i]][c[i-1]];c[i],d[i],k[i]和题意里相同含义;

2024-07-14 17:24:22 882

原创 Bag of mice(概率dp)

2.当先手未取到白鼠,先手要向赢,后手也不能取到白鼠,跑掉的那一只随意。概率dp,设f[a][b]为白鼠为a个,黑鼠为b个时,赢的期望。1.当先手取到白鼠时 a/(a+b);

2024-07-13 11:31:51 325

原创 奖励关(概率dp+状压)

枚举每个物品z,当前物品可取时,f[i][j]+=max(f[i+1][j|(1<<(z-1))]+w[z],f[i+1][j])/n;设f[i][j]为已进行了i-1次选择,状态为j,采用最优策略的期望值。不可取时 f[i][j]+=f[i+1][j]/n;概率dp题,因为最多只有15个物品,考虑状压。进行第i次选择时,每个物品等概率出现。最后答案为f[1][0];

2024-07-12 23:39:26 276

原创 216. Rainbow的信号(数学期望)

当v=1时,z[k]=r-z[k],对答案的贡献是((z[k]-1)*(2^(k+1))+2^k)/(n*n);当v=1,x[k]=x[k],对答案贡献为((r-x[k]-1)*2^(k+1)+2^k)/(n*n);v=1,y[k]=r,对答案贡献((y[k]-1)*2^(k+1)+2^k)/n*n;当v=0时,z[k]=z[k],对答案贡献是2*(k+1)*z[k]/(n*n);v=0,y[k]=y[k],对答案贡献y[k]*2^(k+1)/n*n;当v=0,x[k]=r,对答案贡献为0;

2024-07-12 17:53:51 688

原创 线性求1-n的逆元

2.设a=n/x,b=n%x;求x在modn的逆元。

2024-06-25 22:11:39 251

原创 二维前缀和

记录矩阵:(x1,y1),(x2,y2) a[x1][y1]++,a[x1][y2+1]--,a[x2+1][y1]--,a[x2+1][y2+1]++;读取矩阵:a[x2][y2]-a[x2][y1-1]-a[x1-1][y1]+a[x1][y1]。读取矩阵:a[x2][y2]-a[x2][y1-1]-a[x1-1][y1]+a[x1][y1]遍历一遍数组:使a[i][j]表示x在(1,i),y在(1,j)的子矩阵和。遍历一边数组,使a[i][j]表示x=i,y=j时的值。记录点:a[i][j]++;

2024-06-05 02:25:14 176

原创 Hash Function(fft)

系数大于0,说明存在a=ai-aj+50000这样的数存在,让a-50000,存到一个数组中。然后从n枚举到500000,枚举n的倍数,如果数组中没有n的倍数,答案就取n;题意:给定一个序列,求使得任意两数的hash值不同的最小模数;如果暴力求解,o(n2),会超时,可以用fft来优化。,但次方不可<0,所以让所有次方加上500000,让。也就是说seed不能是任意两数差的因子。分析:a=b(mod seed)让两序列进行fft,得到序列如果。序列为当以a1>0时,我们就让。对于另一个序列,本应该是。

2024-05-06 00:10:32 770

原创 两球体积交

#include<bits/stdc++.h>using namespace std;#define LL long longconst int N = 2e6;const long long inf = 1e9;const long long mod = 998244353;const double PI = acos(-1);struct Point{ long double x, y, z;}p[6];struct Ball{ Point o; lon

2024-05-05 23:15:48 440 1

原创 魔法手链(burnside+矩阵优化+dp acwing 3134)

题目:3134. 魔法手链 - AcWing题库

2024-03-14 18:23:53 1335

原创 求和(第二斯特林数+ntt)

思路:#define _CRT_SECURE_NO_WARNINGSLL ans = 1;while (b)b >>= 1;return ans;h[0] = 1;i <= n;i++)g[1] = -1;i <= n;i++)g[i] = x;i < tot;i++)m <= tot;m <<= 1)i < tot;i += m)

2024-03-09 22:51:37 870

原创 P9238 [蓝桥杯 2023 省 A] 翻转硬币(杜教筛+莫比乌斯)

题目:https://www.luogu.com.cn/problem/P9238

2024-03-09 19:34:49 1944

原创 P3768 简单的数学题(莫比乌斯反演+杜教筛)

题目:P3768 简单的数学题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)思路:代码:#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<string>#include<cstring>#include<cmath>#include<ctime>#include<algorithm>#include<utility

2024-03-08 20:49:19 726

原创 杜教筛模板

LL n;i < N;i++)if (!j++)break;i < N;i++)l <= n;l = r + 1)elsereturn ans;LL ans = 1;l <= n;l = r + 1)elsereturn ans;init();int T;cin >> T;

2024-03-08 00:04:17 366

原创 P4859 已经没有什么好害怕的了(二项式反演+dp)

题录:P4859 已经没有什么好害怕的了 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

2024-02-28 16:21:37 577

原创 906. 区间分组(贪心)

每次输入l,r区间让l*2,r*2+1存入同一个数组;注意:当l=r时,要先计算左点。可以想到是求区间最厚的地方。

2024-02-10 11:22:54 414

原创 快乘模板(long double 或者二进制)

a*b%p,当a*b可能会超过 long long 范围,我们可以用long double 优化;时间复杂度为O ( 1 ) ,适合用于卡常数的题目。与快速幂类似,将b二进制分解;

2024-02-01 16:55:12 180

原创 任意模数多项式乘法(洛谷4245)

代码:#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<string>#include<cstring>#include<cmath>#include<ctime>#include<algorithm>#include<utility>#include<stack>#include<queue>#include&

2024-02-01 16:39:07 377

原创 多项式乘法逆(p4238 NTT)

代码:int rel[N];LL gi = 0;LL ans = 1;while (b)b = b >> 1;return ans;i < tot;m <= tot;m <<= 1)i < tot;i += m)LL gk = 1;j < m / 2;j++)return;bit = 0;i <len;i <tot;

2024-01-26 17:35:29 577

原创 分治NTT(洛谷P4721)

对于区间(l,r),当我们算出f[l]-f[mid](mid=(l+r)>>1),我们可以算出(l,mid)对后边区间贡献,再算(mid+1,r)内的f值。可以发现,i<j,f[i]会对f[j]有贡献,而f[j]对f[i]没有贡献,考虑分治。如果用NTT一个一个求时间复杂度是O(n^2)。

2024-01-26 02:49:59 694

原创 力(FFT,acwing2313)

https://www.acwing.com/problem/content/2315/

2024-01-25 01:07:41 398

原创 acwing2241 礼物( FFT)

int n, m;int rel[N];i < tot;i++)m <= tot;m *= 2)i < tot;i+=m)j < m / 2;j++)LL bb = 0;i <n;i++)i < n;i++)i <= n - 1;i++)n--;i < tot。

2024-01-24 20:55:29 818

原创 2526. 随机数生成器(BSGS,推导)

https://www.acwing.com/problem/content/2528/

2024-01-22 22:20:14 414

原创 龙哥的问题(积性函数,莫比乌斯反演)

221. 龙哥的问题 - AcWing题库

2024-01-19 17:08:42 390

原创 Lcms(莫比乌斯反演)

https://www.luogu.com.cn/problem/AT_agc038_c

2024-01-19 15:17:42 1658

原创 最小公倍数之和(莫比乌斯反演P3911)

P3911 最小公倍数之和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

2024-01-19 02:24:34 803

原创 [ABC304F] Shift Table(莫比乌斯反演)

容斥原理,莫比乌斯反演应该都可以,我用的是莫比乌斯反演。

2024-01-19 00:59:45 971

原创 Array Equalizer(莫比乌斯反演)

1605E - Array Equalizer思路:

2024-01-17 22:12:47 858

原创 P2257 YY的GCD(莫比乌斯)

给定 N,M,求 1≤x≤N,1≤y≤M 且 gcd(x,y) 为质数的(x,y) 有多少对。神犇 YY 虐完数论后给傻× kAc 出了一题。T 行,每行一个整数表示第 i 组数据的结果。接下来 T 行,每行两个正整数,N,M。第一行一个整数 T 表述数据组数。

2024-01-17 15:51:55 378

原创 P3704数字表格(莫比乌斯反演)

第 i 行第 j 列的格子中的数是 gcd(i,j)​,其中gcd(i,j) 表示 i,j 的最大公约数。Doris 刚刚学习了 fibonacci 数列。用 fi​ 表示数列的第 i 项,那么。Doris 的表格中共有 n×m 个数,她想知道这些数的乘积是多少。Doris 用老师的超级计算机生成了一个 n×m 的表格,接下来 T 行,每行两个整数 n,m,表示一组数据。输入的第一行是一个整数 T,表示测试数据的组数。对于每组数据,输出一行一个整数表示答案。答案对 109+7 取模。

2024-01-05 09:27:18 864

原创 洛谷p1829(莫比乌斯反演)

思路:#define _CRT_SECURE_NO_WARNINGSint n,cn,m;LL mu[N];mu[1] = 1;i <= N;i++)if (!j++)i <= N;i++)LL res = 0;l <= n;l = r + 1)return res;int main()into();LL ans = 0;l <= n;

2024-01-04 21:43:14 425

原创 acwing 1358. 约数个数和(莫比乌斯函数)

设 d(x)�(�) 为 x� 的约数个数,给定 N,M�,�,求。

2024-01-04 16:30:01 362

原创 莫比乌斯反演(acwing2702)

对于给出的 n� 个询问,每次求有多少个数对 (x,y)(�,�),满足 a≤x≤b,c≤y≤d�≤�≤�,�≤�≤�,且 gcd(x,y)=kgcd(�,�)=�,gcd(x,y)gcd(�,�) 函数为 x� 和 y� 的最大公约数。

2024-01-04 14:50:18 1491

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除