滚动哈希&Rabin-Karp算法
滚动哈希是一种快速计算字符串哈希值的方法。它利用字符串前后子串的关系,只需要 O(1) 的时间就可以计算新的哈希值。
字符串的Hash codeb 是选择的基数,来作为各个位数上的区分,一般b取131或1331等质数
p是用来规避哈希冲突的,是大的素数
初始子字符串的哈希值对于长度为 m 的子字符串 S[0..m-1],其哈希值计算如下:
H(S[0..m-1]) = S[0] \times b^{m-1} + S[1] \times b^{m-2} + \ldots + S[m-1] \times b^0 \% p滚动更新哈希值假设已经计算了子字符串 s[r] 的哈希值 H(s[r]),现在需要计算子字符串 s[r+1] 的哈希值。可以使用以下公式滚动更新哈希值:
H(s[r+1]) = H(s[r]) \times b + s[r+1] \% p前缀和当我们需要计算子串 s[l, r] 的哈希值,只需要利用前缀和思想(注:hashCode之间相减,得到的hashCode有可能是负数):
H(s[l, r]) = (H(s[r]) - H(s[l-1])\times pow(b,r ...
日麻符的介绍
日麻中符的计算符:把所有的项目加起来,然后向上取10的倍数。例如,合计34符的话,就进到40符。
非特殊牌型
符底/副底/底符:20符
门前清荣和:+10
自摸:+2
嵌张、边张、单钓听牌:+2
自风,场风,三元牌的雀头 +2 符
中张牌
幺九牌 风牌 三元牌
明刻
+2
+4
暗刻
+4
+8
明杠
+8
+16
暗杠
+16
+32
特殊牌型
七对子 : 固定25符
门前平和自摸 : 20符
副露平和型的荣和 : 30符
小技巧跳符的法則
手牌只有一個刻子,除非是么九暗刻,否則都不會有跳符。
食斷的牌,沒有開槓的話99%都不會有跳符。
沒有役牌雀頭,而且是良形聽牌(不包含2345亞兩面的假單騎)時,要最少有兩組暗刻才會跳符。
三暗刻必定會有跳符
速找符数
1.手牌是不是平和或七對子?→平和:自摸是20符,榮和是30符→七對子是25符→兩者皆不是,跳到22.是不是食斷?→是:絕大部份都是30符→不是:跳到33.有沒有上面提過的跳符形態?→有:門前榮和是50符,其他情況下是40符→沒有:門前榮和是40符,其他情況下是30符
親の点数早見表
...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment