Sunday, January 27, 2013

Linux翻轉螢幕輸出

$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
LVDS-1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
   1366x768       60.0*+
   1024x768       59.9  
   800x600        59.9  
   640x480        59.4  
   720x400        59.6  
   640x400        60.0  
   640x350        59.8  
VGA-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
#查看輸出裝置 我的輸出是LVDS-1
$ xrandr --output LVDS-1 --rotate right #這裡可以是 right left inverted normal
$ xrandr --output LVDS-1 --rotate normal #這樣子改回來

Thursday, April 12, 2012

[Vim] Vim 5 分鐘快速入門

最近社團裡有人想用vim

那我就介紹一下基本用法
和怎樣拿來寫C程式最方便
先介紹一下Vim的兩種最簡單的模式:插入模式和命令模式
按i, a可以從命令模式進入插入模式
在其他模式按esc就可以回到命令模式

介紹常用命令:

上下左右:kjhl 或者直接用方向鍵
:q離開、:wq儲存並離開 :w 儲存 :q!離開但不儲存
x 刪除、u 復原
/往後尋找、?往前尋找、n 下一個、N 前一個
全文尋找並取代: :1,$s/word1/word2/g
dd刪除整行(常用!)、ndd(n是行數)刪除n行
yy複製整行、p 貼上在下一行
:!{cmd} 執行指令 (ex: :! gcc test.c)

常用設定
可以直接用:set設定 (ex :set autoindent)
或編輯設定檔~/.vimrc (Linux / Mac) $HOME\_vimrc

syntax on 語法高亮度表示
autoindent 自動縮排
cindent C/C++的自動縮排(好用!)
nu/nonu 顯示行號/不顯示行號
tabstop=4 
shiftwidth=4  (tab字元寬度)
com CMD(指令名稱 必須大寫) command (指令內容) 自訂指令 大概這樣
分享一下我寫C用的.vimrc

set cindent
set nu
set shiftwidth=4
set tabstop=4
syntax on
com C !g++ % -Wall -g #編譯C++
com CC !gcc % -Wall -g -ansi #編譯C
com R :!./a.out #執行
參考資料:http://linux.vbird.org/linux_basic/0310vi.php#vi_command

[GNU/Linux] Kernel 3.3 Ath9k link is not ready

前幾天升級kernel 3.3

發現無線網路不能連@@

看了一下log之後發現

ADDRCONF(NETDEV_UP): wlan0: link is not ready

上網google了一下

終於找到解法了!

https://bbs.archlinux.org/viewtopic.php?id=139365


$ sudo pacman -S linux-headers
$ wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
$ tar -xv -f compat-wireless-2.6.tar.bz2
$ cd compat-wireless-2012-04-09
$ make
$ sudo make install
$ sudo make unload
$ sudo sync; sudo reboot #重新開機
這樣就OK了!

Sunday, March 25, 2012

[code] TIOJ - 1212 最遠距點對

http://tioj.redirectme.net:8080/JudgeOnline/showproblem?problem_id=1213

先隨便戳一個點(第一個)

找出離他最遠的點

再從那個點再做一次DFS

P.S. 這題是多測資...害我WA了好幾次= =

[code] TIOJ - 1463 打不倒的樹木人

http://tioj.redirectme.net:8080/JudgeOnline/showproblem?problem_id=1463

code應該很好懂

注意一下條件判斷就好了

Friday, March 16, 2012

[GNU/Linux] MATE themes in ArchLinux

用了一陣子的gnome3 實在綁手綁腳
也開始想念gnome2了
TOI爆了以後有時間 就來試試gnome2的fork---MATE Desktop Environment

安裝過程就看Archwiki就好 這裡不詳述
裝display manager 結果gdm、mdm(MATE display manager)都有問題= =
只有lxdm又快又穩定 不過長得太醜 懶得弄主題什麼的
最後決定直接用startx 這樣登入的時候也比較酷(?

用起來很順暢 遇到的問題也只有主題的部份
發現預設主題(ex: Clearlooks)的都不能用
無意中發現了解決方案:

這裡以經典主題——Clearlooks為例
$cd /usr/share/themes/Clearlooks
$ls
gtk-2.0  index.theme  marco-1 #會出現這三樣東西
$mv marco-1 metacity-1 #猜測是MATE把metacity改名為marco 
              #但主題程式未同步更改導致讀取不到主題檔案的錯誤
$cd metacity-1
$ls
marco-theme-1.xml
$mv marco-theme-1.xml metacity-theme-1.xml
$sudo vim metacity-theme-1.xml
#把標籤改成
#記得文件最後一行的關閉標籤也要改
這樣就可以用我最愛的Clearlooks了XD

Wednesday, March 7, 2012

[code] UPRC-1149 太空船(TOI初選2007pD)

http://zerosea.tfcis.org:8080/JudgeOnline/showproblem?problem_id=1149

這題最難的地方在於方向 (我是J睿捏我才會的)

1. 起點放入queue

2. 從queue拿出點 四周可以通行的點步數都+1

3. 固定方向把接下來的點都放入queue 直到不能放為止
    重點是要記得紀錄步數和把點戳成黑洞

感謝jghs1328幫我debug好久..

[code] TIOJ-1240 LIS but not LIS

http://tioj.redirectme.net:8080/JudgeOnline/showproblem?problem_id=1240

先sort但記錄原順序

對於每個s[i]拿最近且比他大的點

[code] TIOJ-1509 地道問題 (TOI初選2008pD)

http://tioj.redirectme.net:8080/JudgeOnline/showproblem?problem_id=1509

如果TIOJ又掛了的話= =
http://zerosea.tfcis.org:8080/JudgeOnline/showproblem?problem_id=1128

做第一次dijkstra -> 把邊反過來 -> 再做一次

P.S. 冏我都被J睿捏好玩的 不捏我都想不到...