
python
文章平均质量分 96
菜鸟级小乌龟
总:菜鸟一枚。
分:会c++javac#python,但我还是菜鸟。拿了NOIP一些奖项,但我依然是菜鸟。蓝桥杯python满分,但我依旧是菜鸟。对算法有一些了解,但我仍然是菜鸟。
总:我是菜鸟+蒟蒻。膜拜orz各位大佬。
展开
-
AC自动机
算法来源于贝尔实验室 AC自动机 首先ac自动机不是自动accept机器的意思 自上一篇以来,我们知道了KMP算法。暂时还没有问题。 直到有一天,突然又发现出来了个问题:我要在主串里面搜索多个模式串,这可怎么办啊? 额,那就对于每一个模式串都跑一遍KMP呗 那么灵魂拷问一下:时间复杂度? 啊哈哈哈哈哈哈哈哈哈哈嗝 假如有m个模式串,主串长度为n,那么时间复杂度:O(n×m)O(n\times m)O(n×m)(是不是似曾相识?对,就跟一个主串搜索一个模式串的蛮力算法的速度一个样) 又来了,这么慢,,再见原创 2021-02-08 18:49:50 · 196 阅读 · 0 评论 -
python之逆元(数论倒数)
倒数想必大家都知道吧 a的倒数是b,那么a×b=1a\times b=1a×b=1。 那数论倒数呢?数论基本就是取模同余,应该也能猜到了吧 在模p意义下,a的逆元是b,有a×b≡1(mod p)a\times b\equiv 1(mod\space p)a×b≡1(mod p) 也就是a×ba\times ba×b可以是1,也可以是1+p,也可以是1+2p…… 注意:只有gcd(a,p)=1时才有解,也就是a和p互质。 那么逆元怎么求呢? 第一种: 费马得意地笑着( •̀ ω •́ )✧原创 2020-06-03 16:54:53 · 2661 阅读 · 2 评论 -
python之(扩展)欧几里得
扩展欧几里得就是欧几里得的扩展,先说说欧几里得算法吧 def gcd(a,b): if b == 0: return a else: return gcd(b,a%b) 这段代码想必大家在熟悉不过了吧,,但是有没有想过为什么gcd(a,b)=gcd(b,a%b)? gcd(a,b)=gcd(a%b+(a//b)*b,b),先把a拆成两部分 设a和b的最大公约数是res 那么肯定a是res的倍数,b也是res的倍数(否则res怎么能称得上公约数?) 那么(a//原创 2020-06-01 16:09:00 · 4652 阅读 · 0 评论 -
python凸包问题
凸包问题 什么是凸包? 举个栗子吧 有很多钉子,钉在木板上。拿根猴皮筋,拉的足够大。一松开,“啪”一声,现在的猴皮筋就是凸包 凸包是什么 或者说,让这根猴皮筋尽量小,同时能把所有的钉子包含在内。 怎么求呢? 先插一段: 凸包属于计算几何,计算几何很大程度上基于一个东西,叫做叉积。 而且主要用的是判断是在左边还是在右边,叉积>0在左,=0在中,<0在右。 ...原创 2020-04-01 08:57:44 · 2376 阅读 · 0 评论