緣起
前一篇用Makefile搭建博客說到我用inotifywait監控目錄下文件的寫操作來更新目錄的修改時間,以後只要把make inotify放到啓動腳本中就行了。但當時就發現了一個問題,一直拖到今天才解決掉。
前一篇用Makefile搭建博客說到我用inotifywait監控目錄下文件的寫操作來更新目錄的修改時間,以後只要把make inotify放到啓動腳本中就行了。但當時就發現了一個問題,一直拖到今天才解決掉。
我的無線網卡是 Broadcom
BCM57780,這個東西,Linux下的無線驅動做得非常爛。以前我用Gentoo
Portage中的net-wireless/broadcom-sta,後來聽
microcai 的,直接在 menuconfig 裏配置。這個驅動對應的模塊名稱是
brcmsmac,必須編譯成模塊(編譯進內核的話,我沒成功打開無線過)。它還需要
firmware,而且路徑是定死的(使用其他名稱是不行的,至少我沒成功)。它在
dmesg 中的信息非常簡略,如果你 firmware
的路徑配置錯的話,每次啓動有一定機率 dmesg
會提示你正確的路徑(這個……)。
第一次爲gentoo編譯內核,發現默認選項沒有有線網絡支持(沒有eth0設備),也不管哪些選項是自己真正需要的,選了很多。恰好linux-2.6.34-gentoo出來了,就嘗試着重新配置一下。
1 | genkernel --bootloader=grub --menuconfig --no-clean all |
以前不知道要用--no-clean,每次編譯都要花很長時間,這個選項可以讓genkernel不去執行
make clean,第二次編譯花的時間就會少很多
File systems <> The Extended 4 (ext4) filesystem #我大部分分區用的是 ext4,這一項默認沒有設 <> Reiserfs support #/usr/portage 下有很多目錄和小文件,所以我單獨掛載在一個 reiserfs 分區 -- Native language support <> Simplified Chinese charset (CP936, GB2312) <*> Traditional Chinese charset (Big5)
Executable file formats / Emulations [*] IA32 Emulation #這個好像是執行 32-bit ELF 的,否則像 firefox-bin wine 等就無法運行
我的網卡是Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe
1 | Device Drivers |
我的framebuffer的配置:
1 | emerge -av v86d |
1 | General Setup -> |
Awesome 3 裏可以啓用 debian menu,方法是新建一個帶 x 屬性的文件
1 | #!/usr/bin/install-menu |
放在 ~/.menu-methods下,然後運行
1 | $ update-menus |
這樣就會在 ~/.config/awesome 下面建立 menu.lua,然後在 lua.rc 裏做如下修改:
1 | -- Load Debian menu entries |
1 | Greedy Island |
有 n (n <= 100100) 張卡片,卡片 i 有 a_i b_i c_i 三個屬性,選則不超過 A 張用於提升屬性一,不超過 B 張提升屬性二,不超過 C 張提升屬性三,每張卡片只能用於提升一種屬性。求三種屬性提升值之和的最大值,若有多解,最大化 sigma(S_i),S_i = A_i + B_i + C_i。
容易構建最大費用最大流模型,但頂點數很多,需要優化。 以 (A_i, S_i) 爲關鍵字,保留最大的 A+B+C 張卡片 以 (B_i, S_i) 爲關鍵字,保留最大的 A+B+C 張卡片 以 (C_i, S_i) 爲關鍵字,保留最大的 A+B+C 張卡片
1 |
|
題目大意:有一個長爲 N 的整數數列,每次可以把一個數增減一,求最少次數使得有連續 K 個數相同。 下面程序用 Size balanced tree 實現,衛星數據是子樹節點數和子樹關鍵字和。
1 | #!/usr/bin/env python |
動態規劃, \(F_m\)表示當前要做選擇的奶牛在可以選擇\(w_{m\ldots n-1}\)時可以獲得的最大值。 \(S_m\)表示當前要做選擇的奶牛做完\(w_{m\ldots n-1}\)的最優決策後,下一個奶牛可以取得的最大值。
1 |
|
根據USACL Analysis(後附),根據一個格子周圍格子的佈局,先把一些點轉換爲A,然後繞着A走一圈。
1 |
|
先把題目中給出的樹有根化,對於一個頂點u,如果它有不超過K/2個孩子還未被分配, 可以把它們中最多2*K個在u處連接起來。如果有孤立孩子並且還未配對完K對孩子, 那麼只能和u子樹外的頂點配對,這相當於u是其parent的未分配頂點。
1 |
|
1 | USACO JAN10 Problem 'island' Analysis |
隨機生成一個迷宮 
1 | #!/usr/bin/env python |
現在知道這個算法的名稱了:recursive backtracking,可以參見拙作完美迷宮生成算法