寄寄寄寄寄寄寄寄寄寄寄寄寄寄寄寄寄|

TLE_Automation

园龄:2年9个月粉丝:19关注:23

OI复建(知识点)

注意事项

1. 注意数据范围,看是否要开 unsigned long long
2. 注意重边

快速幂

ab,通过把 b 二进制分解后,可以看成是多个 a 的幂次相乘就行了。

inline int ksm(int a, int b, int p) {
int base = a, res = 1;
while(b) {
if(b & 1) res = (res * base) % p;
base = (base * base) % p, b >>= 1;
}
return res;
}

编译选项

-Wall -Wl,--stack=123456789 -std=c++14 -O2

素数筛

详见我之前的数学博客

最短路

Floyd

f[k][x][y] 表示只经过 1k 这些点,从 x>y 的最短路。

显然有 f[k][x][y]=min(f[k1][x][y],f[k][x][k]+f[k][k][y])

枚举的话时空复杂度都是 n3 级别的,考虑到每一轮都只用到了 kk1,与前面的无关,所以将第一维滚动掉降低空间复杂度。

for(int k = 1; k <= n; k++) {
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
f[i][j] = min(f[i][j], f[i][k] + f[k][j]);
}
}
}

本文作者:TLE_Automation

本文链接:https://www.cnblogs.com/tttttttle/p/18528271

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   TLE_Automation  阅读(16)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2023-11-05 11.5 做题记录
2023-11-05 【物理必修3】电场与电场强度
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起