2011-02-11から1日間の記事一覧

SRM497 Div1 Easy(250), Div2 Medium(500) PermutationSignature

PermutationSignature例えば、 DIIDIDD先頭にIを付加してIで分割 ID I ID IDDそれぞれのセグメント内は降順になっていて、セグメント間は昇順になっている。このときそれぞれのIを最も小さくすることを考えると、 2 1 3 5 4 8 7 6#include <string> #include <vector> using </vector></string>…

SRM497

Easy (250) 144.46 Medium (550) 0 254.61 Hard (1000) 0 Challenge 0 結果 1777 → 1897最近Mediumが全然解けないorz リジャッジで550が正解になってた。1点だけど自己ベスト更新(`・ω・´)

SRM496 Div2 Hard(1000) PalindromfulString

PalindromfulString AABAACBDのように、これまでに出ていない文字が出現するときは今までに出てきた文字の辞書順次の文字、という制約を加えると候補となる文字列の数は少ない。Palindromfullな文字列にk種類の文字が出てきているなら文字を置き換えてnPk個…

SRM497 Div2 Hard(1000) MakeSquare

MakeSquaremin{編集距離(S[0..i],S[i+1..n-1])} #include <string> #include <vector> using namespace std; // 編集距離 int editdistance( string a, string b ) { int n=(int)a.length(); int m=(int)b.length(); vector<vector<int> >T(n+1,vector<int>(m+1)); for(int i=0;i<=n;i++)T[i][</int></vector<int></vector></string>…

SRM497 Div2 Easy(250) Filtering

Filtering #include <string> #include <vector> using namespace std; class Filtering{public: vector <int> designFilter( vector <int> sizes, string outcome ) { int n = (int)sizes.size(); vector<int> ans(2); ans[0] = 100; ans[1] = 1; for ( int i=0; i</int></int></int></vector></string>

SRM497 Div1 Medium(550) CssRules

CssRules動的計画法。あるタグの子孫を正しく塗るために必要なCSS規則の個数は、そのタグの祖先によって定められたb,u,iタグの色のみに依存するので、それを覚えておく。 #include <string> #include <vector> #include <numeric> #include <algorithm> using namespace std; struct TAG { char t</algorithm></numeric></vector></string>…