原创 理解Python和Node.js的異步原理

問題介紹 衆所周知,python 的 aysnc/await 和 node.js 都是單線程實現的異步操作,很多人都告訴我“node.js”自帶多線程功能,關於原理又一問三不知。 實際上兩者實現異步的原理十分簡單。 異步原理 事實上,所謂

原创 Mac vscode配置c++環境

只需在 include path 中加上c++所有*.h文件所在的目錄即可,一般在 /Library/Developer/CommandLineTools/usr/include/ 目錄下,若不在這個目錄下,可以輸入以下命令得到includ

原创 python 解決項目中找不到自定義模塊的問題

當運行項目時遇到以下問題時: 只需將項目的根目錄加入到環境變量 \(PYTHONPATH\) 中即可 export PYTHONPATH=~/autoflow/src:$PYTHONPATH 上述命令只能在當前shell中有效,若要每次

原创 關於JAVA的引用(地址)的一些理解

之前遇到一些關於兩個引用類型是否指向同一個對象的問題,如下定義的\(ResponseObject\)中的,在這個類中,先將 \(data\) 從 \(jsonObject\) 中取出,隨後所有的操作都從 \(data\) 中進行操作。 之前

原创 Unit Test PowerMock使用技巧

Mock 普通方法 假設要Mock \(Properties.class\) 中的 \(getProperty\) 方法 思路是先Mock一個對象,然後再修改該對象中的某個方法,然後再通過反射將原\(Properties\)對象替換爲Moc

原创 Linux shell JAVA程序中文亂碼問題

若未設置 \(-Dfile.encoding=UTF8\) 會導致 \(JAVA\) 中含有中文字符串而無法編譯,且如果傳入的字符串中含有中文,會導致亂碼。 只需設置環境變量 \(JAVA_TOOL_OPTIONS\),就會自動在執行JAV

原创 關於該博客的一些說明

該博客在2018年之前的都是高中時期搞算法競賽寫的博客,語文水平有限(全都是謎語),代碼風格混亂(能壓行必壓行),寫出來的東西自己都看不下去,若寫的有錯,或存在一些低俗、幼稚的內容,請輕踩。 博主現在大二,之後該博客會更新一些技術相關的內容

原创 Btrace 進階學習

Btrace 使用方法 設置環境變量 \(BTRACE_HOME\) ,並 將\(bin\) 添加到PATH,隨後在命令行輸出以下命令即可運行。 btrace pid fileName.java 或者將 \(fileName.java\

原创 HNOI2018 滾粗記

day0 說好了不復習,於是複習了一下配置,沒想到一下就記住了,咋不退役去搞英語競賽捏 皇室一波攢RP,chicken chicken一波攢RP day1 機子壞了,換到了最後面,但這個時候已經 \(8:00\) 了,但是還沒有打配置 一遍

原创 NOI2018 退役記

退役預訂... upd 果然就這麼不光榮的退役了... 我居然考出了一場只有兩題得分的比賽,我好菜啊... 不過高三充(tui)實(fei)的生活應該很有意思... 大家一起加油吧!!!

原创 bzoj 3600: 沒有人的算術

Description Solution 我們可以給每一個數欽定一個權值 , 這樣就可以 \(O(1)\) 比較大小了. 考慮怎麼確定權值: 用平衡樹來維護 , 我們假設根節點管轄 \([1,2^{60}]\) 的數 , 根節點的右兒子都

原创 LOJ #6062. 「2017 山東一輪集訓 Day2」Pair

Description 給出一個長度爲 \(n\) 的數組 \(a\) 和長度爲 \(m\) 的數組 \(b\) ,求 \(a\) 中有多少個長度爲 \(m\) 的連續子序列能夠和 \(b\) 構成完美匹配 , \(a_i\) 和 \(b_

原创 bzoj 3532: [Sdoi2014]Lis

Description 給定序列A,序列中的每一項Ai有刪除代價Bi和附加屬性Ci。請刪除若 幹項,使得4的最長上升子序列長度減少至少1,且付出的代價之和最小,並輸出方案。 如果有多種方案,請輸出將刪去項的附加屬性排序之後,字典序最小的一種

原创 bzoj 4912: [Sdoi2017]天才黑客

Description Solution 這個題和點沒什麼關係 , 之和邊與邊之間關係有關 , 我們就把邊看作點 , 邊權就是 \(lcp\) , 點權看作這條邊本來的權值. 現在考慮兩兩連邊 , \(lcp\) 就是兩個點在 \(tri

原创 bzoj 5341: [Ctsc2018]暴力寫掛

Description Solution 邊分治+邊分樹合併 這個題很多做法都是啓發式合併的複雜度的,都有點卡 以前有個套路叫做線段樹合併優化啓發式合併,消掉一個 \(log\) 這個題思路類似,建出邊分樹,通過一些操作把它變成線段樹,就