FC2ブログ
--.--
--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

05.18
Mon
おおよそ4ヶ月ぶりのブログの更新です。
就活やらでいろいろ忙しくブログを更新することができませんでしたが
それも終わったので、また学んだことなどいろいろ書いてゆきます.

またHPおよびブログを新しくしましたのでそちらもよろしくです
ホームページ,ブログ
Common LispのCavemanで動いてます.
スポンサーサイト
comment 0 trackback 0
08.14
Thu
動的計画法が苦手なので典型問題を解いているんだけど、思った事があったのでメモ。

まず現段階で自分はdpテーブルを定義して配列の添字をごちゃごちゃ考えてやるやつがようわからんので、(思いつかなそうなのとバグだらけになりそう)メモ化再帰で全て書いている。(トップダウンで解くのかボトムアップで解くのかの違いらしいので。(ただ再帰だといくらかオーバーヘッドがあったりする場合があるのと、稀にメモ化再帰だとできない問題があるらしい?))

でだ。メモ化再帰で怖いと思ったのはメモしてるつもりになってて実は全然そのメモが使われてなくて(メモの仕方が間違ってて)実質的に全探索になってしまってる事があるなーということ。しかも小さいテストケースだとそれでも通ってしまう。
具体的にやっちまったやつとして複数個の品物を入れれるknapsack問題とか最小枚数で両替するやつとかうまくメモ化できてなかった。対して、01knasackとかはうまくできてた。
メモ化再帰で解いてるコードが比較的少ないっぽい感じなのでdp配列を定義してやってる、解説コードを読むんだけど
前者の問題は1次元配列で後者は多次元(2次元)配列だった。メモ化再帰でいうなら、引数が1つと2つってことになんのかな。
自分は複数個の品物を許すknapsack問題も両替のやつも引数が2つで、メモ用の配列も二次元配列なんだけど、そこの違いなのかな。(うまくメモにヒットしない風になってる?)


comment 0 trackback 0
04.28
Mon
新しいブログを作りました

ブログタイトル同じですがこちらもよろしくです

暇人の暇人による暇人のためのブログ
comment 0 trackback 0
06.29
Sat
なんかifconfigしてみるとeth0が消えている

かわりにenp1s13とかいう意味不明なのができてる

ifconfig -a してもeth0がでない

だけどカーネルには認識されてるっぽい

dmesg | grep eth0 とかすると eth0 は enp1s13にリネームされますとか出てる

で結局eth0に戻すことはできなかったんだけど、

別にいいっぽい。その後/etc/conf.d/netあたりを書きなおして

インターフェースを適当にrestartしたり、以下のリンクを試したり

とにかくごちゃごちゃいじくりまわしてたら、うまくいったのでいっかー

確認もせずこないだいろいろアップデートしまっくたのがいけなかったのだと思われる

eth0からenpなんとかになっちゃって

なにが困ったかというと、/etc/conf.d/netに書いてある内容がうまく読まれなくなっちゃた事

解決したのでよしとする(・∀・)

http://www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=4&chap=1

udev-197-r4: renamed eth0 to enp1s4 and enp0s4 [solved]
comment 0 trackback 0
05.19
Sat
私vim使ってるんですけど、正直に言って

ちゃんとvimスクリプトを書いたことなかったんですねww

大体ググッてそれをvimrcにコピペするw

で、それをちょっと自分なりに変えたりする程度

それではさすがにあれなので、初めてvimスクリプト書いてみました!!

くだらないやつですが

コードをかいてF6でコンパイルして実行してくれるはずです

C,Java,Pythonでできると思います

拡張子でコードの判別をしています.javaならjavac,cならgcc,pyならpython


command! Exe call Exe()
nmap <F6> :Exe<CR>
"2つ以上ドットを含まないでね
function! Exe()
	let str = ""
	let fname = expand("%")
	let index = strlen(fname) -1
	let where = 0
	while index != 0
		let str = fname[index]
		if str == "."
			let where = index
		endif	
		let index = index - 1
	endwhile
	let ext =  fname[where+1:strlen(fname)-1]
	let onlyfname = fname[0:where-1]
	w
	if ext == "py"
		let command = "python " . fname
		let code = system(command)
		echo code
	elseif ext == "java"
		let command = "javac " . fname
		let code = system(command)
		let executecommand = "java " . onlyfname
		if code == ""
			echo system(executecommand)
		else
			echo code
		endif
	elseif ext == "c"
		let outname = onlyfname . ".out"
		let command = "gcc " . fname . " -o " . outname
		let code = system(command)
		let executecommand = "./" .outname
		if code == ""
			echo system(executecommand)
		else
			echo code
		endif
	else
		echo "undefined file"
	endif

endfunction

comment 0 trackback 0
back-to-top
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。