跳到主要內容

發表文章

目前顯示的是 4月, 2021的文章

[Training] GCJ 2021 Qualification Round - Reversort

 第一次參加 GCJ,之前一直沒時間完成這個夢想,這次勇敢踏出第一步。 Qualification Round 已經晉級,我檢討並總結自己的 Code,將比較好的寫法整理下來。 第一題 Reversort 很簡單,沒太大的問題。 題目要求實現 Reversort 演算法,Pseudo Code 已經給予,直接依照 Pseudo Code 刻程式碼即可: Reversort(L):   for i := 1 to length(L) - 1     j := position with the minimum value in L between i and length(L), inclusive     Reverse(L[i..j]) 這裡要注意,矩陣 reverse 有既有的函式可以用,以及 Case 輸出 index 是從 1 開始計,而非 0 開始起算。 以下是我總結較好的寫法: // by EdocZec on 2021/04/03 // Google Code Jam 2021-01 #include <bits/stdc++.h> using namespace std; template<typename T> ostream& operator<<(ostream&os, const vector<T>& v) { for(int i=0; i<v.size(); i++) os << v[i] << " "; return os; } int readi() { int i; cin >> i; return i; } int alg(vector<int>& a) { int score = 0; for(int i=0; i<(a.size()-1); i++) { int min_idx = i; for(int j=i+1; j<(a.size()); j++) { if(a[min_idx] > a[j]) m

[Vim] 我的 .vimrc

我用過的文字編輯器有 sublime text/atom/notepad++/gedit 等等。 後來我在 window 和 Linux 寫程式還是比較慣用 vim。 以下整理我常用的 .vimrc:  set nu "show line number. set rnu "related line number. nmap ; : "replace ';' with ':' in normal mode. set ai "auto indent set mouse=a "activate mouse set expandtab "replace tab with space. set tabstop=4 "replace tab with 4 spaces. set bg=dark "background set to dark. color desert "color scheme. syntax on "enable syntax highlight. " auto complete: inoremap ( ()<Esc>i inoremap ' ''<Esc>i inoremap " ""<Esc>i inoremap [ []<Esc>i inoremap { {}<Esc>i set cursorline " active cursorline 到此 vim 搭配 Ctrl + N 當自動補全,已經很好用了,之後有好用設定會再補上來。

[Tool] cmder + python + MinGW for windows

推薦適用於 windows 的好用 shell terminal 工具 cmder,它能提供類似 Linux 的終端機介面跟指令,且我覺得它比 Windows 10 內建的 Bash 終端好用。 cmder 下載網址: https://cmder.net/ cmder 不需要安裝,下載後直接執行主程式即可。 一般我都在 Linux 環境編程,但如果使用的電腦是 Windows 10,我會用 cmder 建立熟悉的 Linux 終端機環境。 以下提供我常用來編程的初始化設定。 cmder 按 Win+Alt+P,可以啟動設定介面,在這個介面內先設定 bash 預設的 Shell,否則啟動時可能會出現錯誤訊息,因為 cmder 預設 使用 PowerShell,但因簽證問題造成 Windows PowerShell 出現錯誤訊息。 在 Startup 選單: 在 General 選單: 接著微調一些設定: 字體調整到舒適的字型和大小。 可以開啟 Quake 模式。這個模式在程式競賽或是工作時很好用,可以透過 Ctrl+` 這個組合鍵將終端機顯示在最上方,或隱藏終端機成為背景模式。 這個組合鍵是可以修改的,在 Keys & Macro 選單: 下載 MinGW Installer,安裝 MinGW,然後在系統環境變數加入 MinGW 的 bin 資料夾位置。 http://mingw-w64.org/doku.php 安裝 vim,cmder 切換到家目錄 “~,可以在裡面設定 .vimrc 檔案,來調整 vim 設定。 安裝 python,一樣將 python bin 資料夾新增到環境變數。