原创 [C++] 無聊的人寫的LL分析和LR分析

模型抽取 一個模型Model<term, uterm>擁有兩個元類型Term終結符類型和Uterm非終結符類型,對應於文法中的概念G(N,T,P,S)G(N,T,P,S)G(N,T,P,S)如下: template<typenam

原创 python指南(2):函數,對象和模塊

函數 函數的定義從def開始,下面定義了一個入參爲x,y的函數, >>> def a(x,y='誰???'): # 如果y沒有被輸入,我就默認你是'誰???' ... print('我是', x, '你是', y) ...

原创 python指南(1): 基礎語法和數據結構

安裝 在官網安裝,最新版本是: https://www.python.org/downloads/release/python-380/ Hello world 打開命令行終端,在windows下一般爲win+r然後輸入cmd,在

原创 [golang] 如何在沒有泛型的強類型語言中寫一個通用的map-reduce函數

map篇 在C語言時代,一個map函數可能長成下面這個樣子 func mapF(f IntMapFunc, i ...int) []int { y := make([]int, len(i), cap(i)) for j :=

原创 ssh反向代理

快要放寒假了,爲了在家裏也能訪問到內網服務,特地百度了下反向代理的使用方法。 首先準備一臺擁有公共ip的服務器,設爲A,剩下的服務器設爲B, C, D... 最簡單的方法是 ssh -fCNR ${target_port}:loc

原创 用gin+xorm+docker編寫Online Judge後端

項目鏈接: https://github.com/Myriad-Dreamin/core-oj/tree/develop 思路: 將worker分爲兩種, compiler & judger compiler負責隔離編譯環境,設

原创 Educational Codeforces Round 69 A, B, C, D, E, F

A - DIY Wooden Ladder 維護兩個點的堆 #include <cstdio> #include <queue> #include <algorithm> using namespace std; priority

原创 Codeforces 1199A, B, C, D, E, F

A - City Day #include <cstdio> int a[100500]; signed main() { int n,x,y; scanf("%

原创 golang可以放心大膽使用接口

有學弟糾結於接口無法像實例化的結構體那樣做到某些事情,我經過幾分鐘思考聯想到了之前的適配器方法。這種方法雖然不錯,卻不知會不會對性能造成影響。下面做一些測試。 package adaptor import "testing"

原创 golang降低多線程爭用對象池帶來的損耗

使用chan resource或者sync.Pool做對象池在多線程的情況下有可能不夠用。 通過預分配可以減少這種損耗,這是以時間換空間: package bytespool import "sync" const ( ma

原创 BUPT 2019 summer training Milkshake Party

A - 森林口味的奶昔 (CF285C) 注意到這是森林,所以必然有葉子結點。我們可以根據葉子結點拓撲排序順便異或就是答案。 #include <cstdio> #include <queue> #include <cstring

原创 Codeforces 1194A 1194B 1194C 1194D 1194E 1194F

A - Remove a Progression 已經刪除了i−1i-1i−1個,現在要刪其後的第iii個,因爲第iii個在前面i−1i-1i−1個之後,所以是總的第2i−12i-12i−1個。所以所有的奇數都會被刪除。

原创 [C++/單例模式] QT-Logger的分級管理機制

有沒有羨慕過python自帶的logging的易用性?這裏簡單地完成了一個較爲高效的模板化分級logger. 先理一下思路: 1.希望有一個根據字符串索引的單例集合 2.希望有一個可以分級的日誌管理 3.不要寫得太長 先來設計一下

原创 使用Tendermint開發一條獨立的區塊鏈(0)

根據下面的內容安裝Tendermint: https://github.com/tendermint/tendermint/blob/master/docs/introduction/install.md Tendermint 什麼是

原创 C++爲自己的代碼寫一個簡單的自動內存管理!

寫模板的時候,模板的限制讓YourClass [BUF]mem_pool這樣簡單的辦法失效了,我就問老師該如何捕捉內存然後“自動”管理。 老師說:C++的缺陷就在這裏,你不能自己讓內存釋放。 於是神說:要讓內存管理出現。 本文只是簡單