SMSD (Small Molecule Subgraph Detector)を使う
GastonでMCSを探索するのは色々無理があったようで、どうするかな困った困ったと探していたら、SMSDを見つけた。cdkには既に組み込まれているらしくてさっきビルドしてみたんだけど、よく考えたらCDKの使い方あんまよくわかんないや、、、ってことでGUIで遊んだ。
ちなみに、java6でビルドしないといけないので、osx(10.5)の場合は環境変数を設定した。

とりあえず、vildagliptinとsitagliptinのMCSをもとめた。

なんで5員環と6員環がマッチしてるんだろうか?あとでペーパーちゃんと読もうっと。
追記openbabelでのdiscussもあった
SRM435DIV2_250
余計な変数多いな。
public class SkiFriction {
public int bestPosition(String sF, String pF) {
int sFl = sF.length();
int pFl = pF.length();
if(sFl >= pFl) return 0;
int result = 0;
for(int i=0;i<pFl-sFl;i++) {
int lmax = 0;
for(int j=0;j<sFl;j++){
int k = sF.charAt(j) - '0'+ pF.charAt(i+j) - '0';
if(k>lmax) lmax = k;
}
result += lmax;
}
return result;
}
}
数字の比較はMath.max使えばいいのか
SRM433DIV2_250
reverseってメソッドはないのかな? 両方ソートして、一方は先頭から他方は後ろから掛けてsumを求めた。
import java.util.*;
public class RoyalTreasurer {
public int minimalArrangement(int[] A, int[] B) {
java.util.Arrays.sort(A);
java.util.Arrays.sort(B);
int result = 0;
for(int i=0;i<A.length;i++)
{
result += A[i] * B[A.length - i -1];
}
return result;
}
}
SRM460DIV2_250
java勉強中。
import java.util.ArrayList;
import java.util.List;
public class TheQuestionsAndAnswersDivTwo {
public int find(String[] q) {
List qlist = new ArrayList();
int ans = 0;
for (int i = 0; i < q.length; ++i)
if (!qlist.contains(q[i]))
qlist.add(q[i]);
ans = (int) Math.pow(2, qlist.size());
return ans;
}
}
Set使えばいいのね。
Java並行処理プログラミング
復刊で購入しといたのを読んでみた。
Java並行処理プログラミング ―その「基盤」と「最新API」を究める―Brian Goetz,Joshua Bloch,Doug Lea
ソフトバンククリエイティブ / ¥ 3,990 ()
在庫あり。
1,2部まで読んだけど、その先ちょっとついていけそうになかったので、読むのを中断した。 並行処理プログラミングってほとんどしないけど、化合物の3次元構造立ち上げとかは並行で動かすのが当たり前になりそうなので、そのうちやらんといかんのだろう。
8coreとか欲しいなぁ。
Java言語で学ぶリファクタリング入門
二年近く積んであったが、最近javaで書いてるので読んでみたら想像以上に面白かった。厚さの割にスラスラ読めたので、二日程度で読み終わった。
良書
- enumでシンボリック定数を表現
- 名前重要
- 双方向リンクは避ける
- タイプコードを表す新しいクラスを作る
- リスコフの置換原則
- @override
後半は、パターンが解決したかった「もの」が多かったので、デザインパターンを知っていないと理解しにくいかもしない。逆に知っていればさらっと入ってくる。
EclipseCoder入れた
EclipseCoder: TopCoder SRM用Eclipseプラグイン

Testの使い方がわからん。しかも赤い×がついてるし、なんか設定間違ってんのかな。
追記10.03.03
よくわからんが/Library/Java/Extensions/に入ってたopsin-big.jarが問題だったようだ。これを削除して再起動してみたら普通に動いた。
JavaでPBPK
PKQuestというものがあるらしい
Programming Clojure
予約したまま5ヶ月近くたち、忘れかけてたProgramming Clojureが発送された。
Programming Clojure欲しいかも
この本ちょっと気になってきた
どうなんだろうか?



Java言語で学ぶリファクタリング入門
増補改訂版Java言語で学ぶデザインパターン入門
Programming Clojure
Programming Clojure