ARTS 打卡第二周

Algorithm

Project Euler 429. Sum of squares of unitary divisors

A unitary divisor d of a number n is a divisor of n that has the property gcd(d, n/d) = 1.
The unitary divisors of 4! = 24 are 1, 3, 8 and 24.
The sum of their squares is 1^2 + 3^2 + 8^2 + 24^2 = 650.
Let S(n) represent the sum of the squares of the unitary divisors of n. Thus S(4!)=650.
Find S(100 000 000!) modulo 1 000 000 009.

分析

1 若n的因子分解是

prod.png

则它的unitary divisors是
unitary.png

其中c_i取值均为0或1.
所以 unitary divisors的平方和是
sum.png

2 要对n!因子分解,就是对于所有不大于n的质数p_i,求n!中含有多少个p_i因子.
factor.png

3 计算中经常做一下modulo吧

Python程序

from primesieve import primes


def factor_count(n: int, p: int):
    s = 0
    while n > 0:
        n = n // p
        s += n
    return s


def power_mod(a: int, b: int, m: int):
    if b == 0:
        return 1
    x = power_mod(a, b // 2, m)
    x = x * x if b % 2 == 0 else x * x * a
    return x % m


if __name__ == '__main__':
    n, m = 100000000, 1000000009
    s = 1
    for p in primes(n):
        s = s * (1 + power_mod(p, 2 * factor_count(n, p), m)) % m
        if s == 0:
            break
    print(s)

耗时 10.323s

复杂度

prime sieve 求质数


n_log_log_n.png

遍历质数


pi_n.png

因子分解、求幂
n.png

因此整个算法的时间复杂度是


n_log_log_n.png

Review

The Unreasonable Effectiveness of SQL
SQL 由于其声明式的语法、对扩展开放、独立于数据存储,成为成功的4GL
即使是在NoSQL数据库,通常也会提供SQL语法支持。

Tip

https://github.com/romkatv/gitstatus/blob/master/docs/listdir.md
加速 list dir 到40%的技巧

Share

An Introduction to HTTP/2

  • 背景
    • HTTP 诞生时都是文本页面
    • 现在通常页面都有MB大小,一个页面需要发起数百个请求,HTTP 1 不再适用
  • HTTP 1 的问题和 HTTP/2 的解法
    • head of line blocking 同一个连接上的请求必须依次收到回复
      • 同一个连接允许并发传输多个请求
    • TCP 慢启动
      • 复用TCP连接
    • Headers 冗余
      • Header 去重、压缩
  • 概览
    • HTTP/2是二进制传输
    • 工作在TLS连接之上
    • 一个TCP连接分为多个Stream,各处理一个HTTP请求
  • 建立连接
    • 建立TLS连接
    • 通过ALPN来协商使用HTTP/2协议
    • 客户端发送connection preface和SETTINGS帧
    • 服务端发送SETTINGS帧
  • HTTP/2 帧
    • Lenghth: 24bits
    • Type: 8bits
      • SETTINGS
      • HEADERS
      • DATA
    • Flags: 8bits
    • R: 1bit
    • Stream Id: 31bits
    • Payload: Lengthbits
  • Stream
    • HEADERS 帧开启新的Stream
      • Headers需要多个帧时,后面用CONTINUATION帧,最后一帧的Flags打上END_HEADERS
  • Headers压缩
    • 建立Lookup Table
  • 其他特性
    • 流控
    • Stream优先级
    • Server Push
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,289评论 0 10
  • 大佬说自己是蒟蒻,不是因为谦虚,是因为当他们提升自己的水平,发现更多大佬时,才意识到自己是真的蒻 按照惯例,该写个...
    DcmTruman阅读 337评论 0 3
  • 期货 品种目前仅关注橡胶。从日线看,从高位一波大跌后,价格在20日线下连续震荡整理,20日均线上升转走平,操作上空...
    想当大咖的草根投资人阅读 300评论 0 0
  • 亲爱的王总及何校,亲爱的家人们大家好! 我是来自山峰教外教育的吴文静,今天是我第26天的日精进,给大家分享...
    午后_46a1阅读 138评论 0 0