トップページに戻る   明智重蔵のTwitter   記事(OTN)   記事(CodeZine)   PHPのサンプル集   JavaScriptのサンプル集   MySQLパズル

2006年 2月16日から2007年 7月28日までのブログ
2007年 8月 1日から2007年10月28日までのブログ
2007年10月20日から2008年 5月 8日までのブログ
2008年 5月22日から2008年 9月 3日までのブログ
2008年 9月 4日から2009年 2月 4日までのブログ
2009年 2月 7日から2009年 5月20日までのブログ
2009年 5月22日から2009年 7月13日までのブログ
2009年 7月15日から2009年11月11日までのブログ
2009年11月14日から2010年 3月13日までのブログ
2010年 3月15日から2010年 7月21日までのブログ
2010年 7月24日から2011年 3月29日までのブログ
2011年 3月30日から2012年 1月11日までのブログ
2012年 1月18日から2014年 3月18日までのブログ
2014年 3月21日から2014年11月15日までのブログ
2014年11月22日から2015年 3月 1日までのブログ
2015年 3月15日から2015年 5月30日までのブログ
2015年 6月 7日から2018年 4月24日までのブログ
2018年 7月21日から2021年 2月19日までのブログ
最新のブログ

●2015年6月7日(日)
ニコリのスリザーリンクが何とか解けたが、巨大サイズではTLEになってしまった。

巨大サイズをC#で解くには、ハンドソルブの腕前を上げて、
確定探索と、深さ優先探索を効率のいいアルゴリズムで実装する必要がありそう。


●2015年6月12日(金)
Oracleで実行したSQLの情報取得について、まとめた結果の備忘録

豆知識18 実行したSQLのバインド変数の値の取得
豆知識19 実行したSQLを動的パフォーマンスビューから取得


●2015年6月13日(土)
C#メモ --- 参照渡しのOutとRefの違い
Refの場合は、変数を初期化してからメソッドの引数とする必要がある。
Outの場合は、メソッド内で値を割り当てる必要がある。


●2015年6月14日(日)
24-20 スリザーリンク

スリザーリンクの確定探索の改善を繰り返しましたが、
ハンドソルブの能力が低すぎて、挫折しました。

フレッシュスリザーリンクを買ってきて、ハンドソルブの腕前を上げて、
効率のいいアルゴリズムを実装しないと無理ですね。


●2015年7月4日(土)
24-40 へびいちご
13-17 お絵かきロジック
を解きました。


●2015年7月7日(火)
Cマガ電脳クラブ(第098回) 絶対なるかけひき
Dictionaryをforeach文で列挙する3通りの方法

KeyValuePairとしてキーと値のペアを列挙する。
Keysプロパティを使って、キーを列挙する。
Valuesプロパティを使って、値を列挙する。

C#メモ --- Dictionaryをforeach文で列挙するサンプル


●2015年7月18日(土)
CodeIQ 「カット・アンド・スクエア」問題を、
同じアルゴリズムで、n=16として、
Visual C# 2008 Express Editionと
Visual C++ 2008 Express Editionでの
実行速度の比較

C++ Debugビルド    3分20秒
C#  Debugビルド    1分04秒
C++ Releaseビルド  1分10秒
C#  Releaseビルド     53秒

C#のほうが速いですね・・・
オンラインジャッジだとUnix系でしょうから、C#よりC++のほうが速いのかもしれませんが
WindowsだとC#のほうが速いのかも

Windowsで
ゲームプログラムだとDirectXと相性のいい、C++を使いたいのですが
競技プログラムだとC#のほうが良さそうですね。

WindowsのGUIツールの作成だとC#のほうがC++よりも便利です。
Visual C++ 2008 Express Editionだと
デザイナでコントロールをGUIチックに編集できませんし


●2015年7月19日(日)
C#メモ --- プロジェクトの設定でのCheckedの代用
C#メモ --- LINQのAggregateメソッド と string.Joinメソッド の比較
C#メモ --- LINQのSelectメソッド と Array.ConvertAllメソッド の比較


●2015年8月4日(火)
C#メモ --- 構造体のListジェネリックのDistinct


●2015年9月11日(金)
指定した拡張子のファイルを
右クリック → 新規作成
で表示されなくする方法

HKey_Classes_Root → 非表示にしたい拡張子 → ShellNew
をShellNew.bakにリネームする


●2015年11月27日(金)
チェックするAdvent Calendar

競プロで圧倒的成長 Advent Calendar 2015
Competitive Programming Advent Calendar 2015
今年読んだ技術書
C# Advent Calendar 2015
初心者 C++er Advent Calendar 2015
C++ Advent Calendar 2015
JPOUG Advent Calendar 2015
PostgreSQL Advent Calendar 2015
日曜数学 Advent Calendar 2015

Advent Calendar リンク集
読むもよし書くもよし!技術系アドベントカレンダー2015まとめ【保存版】 - paiza開発日誌


●2015年11月28日(土)
Oracleマニュアルのダウンロードと不要なファイル

12cのマニュアル
11gR2のマニュアル

IEでマニュアルを見るだけの場合に不要なファイル
●pdf
●電子書籍の拡張子 epub
●電子書籍の拡張子 mobi
●圧縮ファイルの拡張子 zip 7z


●2015年12月31日(木)
2015年を振り帰ると、6月ぐらいまで、
プロジェクトオイラーとかCマガ電脳クラブとか
メカニカルパズルとかペンシルパズルをC#で解いてましたが、

AtCoderとかYukiCoderとかAOJなどの
競技プログラミングに興味を持つようになって、
競技プログラミングを始めました。

そして、ARC043に参加するも0完に終わりました。
B 難易度は、コンテスト後に頑張ってACを取りました。

ABCでは、3完と4完をいったりきたりしてます。

2016年は、
数学本とかAOJ本とかアリ本を読み込んで、
競技プログラミングでなにか結果を出したい。

さらに、プロジェクトオイラーとかCマガ電脳クラブも解いていきたい。


●2016年1月17日(日)
我が家の愛犬シロの写真



●2016年1月19日(火)
プログラミングが苦手な自分が競技プログラミングを始めた話 1年以内にYellow Coderを目指すブログ
catの備忘録 楽しい競技プログラミング
競技プログラミングを始めて変わったこと 水面下の夢
競技プログラミングってなあに? chokudaiのブログ
競プロのめっちゃ初歩的思考法
プロコンを1年ぐらいやってみて思うところ


●2016年1月29日(金)
完全順列の漸化式のメモ

N=1のときは0通り
N=2のときは21で1通り
N=3のときは231,312で2通り
N=4のときはF(3)の4を任意の場所と入れ替えた順列
           F(2)の順列の3の位置を新たな4と入れ替えた順列
   なので  (N-1)*F(N-1)+F(N-2)*(N-1)


●2016年6月11日(土)
メモ
C#で解く予定の、ニコリのペンパ一覧と、掲載されてる書籍

01-アイスバーン      Box10
02-因子の部屋        Box10 Box11 Box12
03-お家へ帰ろう      Box10 Box11 Box12
05-カナオレ          Box10 Box11 Box12
06-カントリーロード  Box10
07-キンコンカン      Box10 Box11 Box12
09-黒どこ            Box10 Box11 Box12
10-ケイスケ          Box10
11-さしがね                Box11 Box12
12-さとがえり              Box11 Box12 nikoli.com
13-サムライン        Box10 Box11 Box12
14-四角に切れ        Box10 Box11 Box12 ペンパ入門 nikoli.com
15-シャカシャカ      Box10 Box11 Box12 nikoli.com
16-縦横さん                      Box12
17-数コロ            Box10 Box11 Box12
18-スケルトンパズル  入手できなさそう
19-スラローム        Box10 Box11 Box12
20-スリザーリンク    Box10 Box11 Box12 ペンパ入門 nikoli.com DS
21-タイルペイント    Box10 Box11 Box12
22-たすくえあ        Box10
23-タテボーヨコボー  入手できなさそう
24-ナンスケ          Box10 Box11 Box12
25-ナンバーリンク    Box10 Box11 Box12 ペンパ入門 nikoli.com
27-ぬりめいず                    Box12
29-パイプリンク      Box10
30-波及効果          Box10 Box11 Box12 nikoli.com
32-バッグ            Box10 Box11 Box12
35-フィルオミノ      Box10 Box11 Box12 ペンパ入門
36-フィルマット      Box10
37-ふくめん算        Box10 Box11 Box12
38-ブロックパズル    Box10 Box11 Box12
39-ペイントエリア    Box10
41-へやわけ          Box10 Box11 Box12 nikoli.com DS
42-ヘルゴルフ              Box11 Box12
43-ぼんさん          Box10
45-ましゅ            Box10 Box11 Box12 ペンパ入門 nikoli.com
46-虫くい算          Box10 Box11 Box12
47-モチコロ          入手できなさそう
48-ヤギとオオカミ    Box10
49-やじさんかずさん  Box10 Box11 Box12
50-ヤジリン          Box10 Box11 Box12 ペンパ入門 nikoli.com
52-LITS              Box10 Box11 Box12

41-へやわけ
14-四角に切れ
45-ましゅ
02-因子の部屋
30-波及効果
50-ヤジリン
12-さとがえり
35-フィルオミノ


●2016年10月1日(土)
2016年の9月後半に、忍者アナライザーでアクセス解析した結果

平日のPV合計は200から300

●PV合計の多いhtml
C#のサンプル集 705
OracleSQLパズル 448
Oracleの分析関数のサンプル集 414
正規表現パズル 351
SQLServerの分析関数の使用例 168
PostgreSQLの再帰SQLの使用例 172
競技プログラミングのソース置場 36
分析関数とmodel句 26
PostgreSQL8.4新機能 window関数 13

●リファラ
Google 6割
Yahoo  1割
Bing   1割


●2016年12月28日(水)
高橋書店のカレンダーのメモ
No.E102 エコカレンダー卓上 [A5サイズ]
No.E155 エコカレンダー卓上 [B6サイズ]


●2016年12月29日(木)
Amazon.co.jp: XP - デスクトップPC 1万円以下
Amazon.co.jp: XP - デスクトップPC 5万円以下
Amazon.co.jp: XP - ノートパソコン


●2016年12月31日(土)
2016年を振り帰ると、
5月までCマガ電脳クラブを解いて、
6月からメカニカルパズルを解いてました。

競技プログラミング対策で、数学の勉強も始めて、
ABCでたまに全完できるようになりました。

2017年は、
AOJ本とアリ本を読み込んで、
競技プログラミング対策の数学本も進めたいです。

さらに、プロジェクトオイラーも解いていきたいです。


●2017年1月28日(土)
AOJ本とアリ本を読み込んだら、
エラトステネスの篩とかPriorityQueueとか
ベルマンフォード法とかプリム法といった典型的な競プロのアルゴリズムをライブラリ化しよう。

効率的な管理方法は、その時になったら考えるとしよう。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
ライブラリ第1弾のPriorityQueueの実装メモ

ラムダ式で大小比較の式を渡す必要あり(-1と0と+1を返す必要あり)

C++と処理速度を比較する。
EnQueue100万回にDeQueue100万回ぐらいでいいか?

AVL木、赤黒木、2分ヒープなどでC#で実装してみること

ライブラリ第2弾は、UnionFindを予定


●2017年3月31日(金)
Visual C# 2008 Express EditionでF12でメソッドの定義に移動できる。


●2017年4月15日(土)
スペック比較 (秒以下は切り捨て)

テスト1 DFS        18-02 クレイジーQ
テスト2 DFS        18-04 ブロック10
テスト3 BFS        14-02 牛の牧場
テスト4 IDFS       Cマガ電脳クラブ(第125回) REV STAR
テスト5 双方向探索 Cマガ電脳クラブ(第152回) ひと筆長旅

●SOTEC
43秒 20秒 48秒 30秒 32秒

●富士通の1号機
12秒 05秒 14秒 08秒 03秒

●富士通の2号機
12秒 05秒 14秒 07秒 03秒

●富士通の3号機
XX秒 XX秒 XX秒 XX秒 XX秒

●HP
15秒 07秒 15秒 10秒 04秒

●Mate
11秒 05秒 11秒 07秒 02秒

●Dell
11秒 05秒 12秒 07秒 02秒


●2017年5月27日(土)
ログインできなくなった時の対処法のメモ

1 F8でセーフモードで起動
2 Administratorでログイン
3 コントロールパネル → ユーザーアカウント
4 パスワードをリセットするユーザーを選択し、 [パスワードを削除する] をクリック


●2017年7月11日(火)
1920*1080でのDos窓の設定
画面バッファ 幅150、高さ300
ウィンドウのサイズ 幅150,高さ37
ウィンドウの位置 左から98,上から-4


●2017年8月26日(土)
pngファイルからExcelを経由してのPDF作成の方法

■■■pngの関連付け変更■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
1 FTypeの結果をリダイレクトし、MsPaint.exeで検索する
2 assoc.png の結果をテキストに保存しておく
3 assoc.png の関連付けをMsPaint.exeで開くように変更する

■■■xlsxの設定■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
1 BaseSheetの印刷を横にして、拡大/縮小を100%にする
2 ページレイアウト → ページ設定 で、余白を全部0にして
                                   ページ中央とページ垂直にチェックを入れる
3 BaseSheetの列を半分(4ピクセル)にして、
  改ページプレビュー表示で、表示を100%にする。
  右下のセルに1や2の適当な数字を入力して、最大の1ページの表示状態にする
  (最後に1や2は半角SPに変更すること)

4 VBAでシートの大量コピー
'ThisWorkBookに下記を記述し、F5で実行

Public Sub SheetCopyProc()
    MsgBox ("コピー開始")
    '注意 逆順にシートコピーを行うこと!!!
    Sheets("BaseSheet").Copy After:=Sheets("BaseSheet"): ActiveSheet.Name = "Q17-04-02"
    Sheets("BaseSheet").Copy After:=Sheets("BaseSheet"): ActiveSheet.Name = "Q17-04-01"
    Sheets("BaseSheet").Copy After:=Sheets("BaseSheet"): ActiveSheet.Name = "Q17-03-02"
    Sheets("BaseSheet").Copy After:=Sheets("BaseSheet"): ActiveSheet.Name = "Q17-03-01"
    Sheets("BaseSheet").Copy After:=Sheets("BaseSheet"): ActiveSheet.Name = "Q17-02-02"
    Sheets("BaseSheet").Copy After:=Sheets("BaseSheet"): ActiveSheet.Name = "Q17-02-01"
    Sheets("BaseSheet").Copy After:=Sheets("BaseSheet"): ActiveSheet.Name = "Q17-01-03"
    Sheets("BaseSheet").Copy After:=Sheets("BaseSheet"): ActiveSheet.Name = "Q17-01-02"
    Sheets("BaseSheet").Copy After:=Sheets("BaseSheet"): ActiveSheet.Name = "Q17-01-01"
    MsgBox ("コピー終了")
End Sub

5 各pngをペーストする。
  ハミ出すpngはドラッグで縮小
  小さいpngはドラッグで拡大
  (png画像のアスペクト比は変更しないこと)

6 作成者を空白にしてPDF作成


●2017年10月16日(月)
2017年の10月前半に、忍者アナライザーでアクセス解析した結果

平日のPV合計は200から300

●PV合計の多いhtml
C#のサンプル集 835
OracleSQLパズル 528
Oracleの分析関数のサンプル集 395
SQLServerの分析関数の使用例 195
正規表現パズル 261
PostgreSQLの再帰SQLの使用例 126
DB2の分析関数の使用例 80
競技プログラミングのソース置場 55
Javaアルゴリズムパズル 39
分析関数とmodel句 35
PostgreSQLでSQLパズルの問題を解く 35
C++のサンプル集 18
SQLServerのSQLのサンプル集 18
PostgreSQL8.4新機能 window関数 15
PostgreSQLパズル 10

●リファラ
Google 75%
Yahoo   5%
Bing   10%


●2017年10月21日(土)
SQLクイズ(翔泳社)の問題メモ
1. Where句の同値変形 (51ページ)
2. ベン図の条件式 (54ページ)
3. ベン図の条件式のアレンジ問題
4. 重複行の削除 (101ページ)
5. Merge文でDelete指定 (105ページ)
6. マルチテーブルインサート (108ページ)
7. ピボット選択インサート (111ページ)
   8-52 ピボット選択インサート
8. Merge文でUpdate(UpdatableViewでもよい) (113ページ)

SQLクックブック(オライリー)の問題メモ
レシピ4.10 別のテーブルの値で更新する
レシピ4.11 レコードをマージする
レシピ6.12 文字列をアルファベット順にする
レシピ6.14 n番目の区切り部分文字列を抽出する
レシピ6.15 IPアドレスを解析する
レシピ8.7 最小上界(重複を考慮)のソートキーの値を求める
          8-7 次の入社日を求める
          8-55 次の入社日を求めるのアレンジ問題1
レシピ11.7 最小上界(重複を考慮)の行の最小値の値を求める
           次の入社日の従業員が複数いた場合を考慮して下記とする必要あり
           min(order by dense_rank range between 1 following
                                             and 1 following)
レシピ12.9 水平方向の棒グラフを作成する
レシピ12.10 垂直方向の棒グラフを作成する
          8-33 count(*)で棒グラフを作成
レシピ13.5 リーフノード,ブランチノード,ルートノードを判断
          8-36 リーフノード,ブランチノード,ルートノードを判断
レシピ14.2 SQLServerのUnPivot演算子
レシピ14.6 英数字の混合文字列を探す
レシピ14.7 整数を2進数に変換
レシピ14.8 ランク付けされた結果セットを回転させる
          8-37 dense_Rank関数後に整形


●2017年11月11日(土)
PgCon2017の講演関連のメモ

Window関数を使用したインラインビューでの更新(と削除)
SQLServerとDB2は可
OracleとPostgreSQLとMySQLは不可

「飛行機と飛行士」はOrderBy句を付けて順番を保証させたほうが良い
(書籍のdistinctを使った解はOrderByがなかったけど、付けること)

「飛行機と飛行士」の「解1 except集合演算を使う方法」の集合の式
X∩Not(Y) = 空集合 ⇔ X⊆Y
(X∩Not(Y) は except allで実現)

「飛行機と飛行士」の「解2 Window関数のcount関数で件数を求めてから結合する方法」の集合の式
X∩Y = X ⇔ X⊆Y
(X∩Y は 内部結合で実現)


●2017年12月28日(木)
2017年の振り帰り

●パズル関連
ペンシルパズルをC#で解いた。
SmartGamesのメカニカルパズルを知った。

●SQL関連
PostgreSQL Conference Japan 2017で講演した。
OTNの連載の続きを書く準備を始めた。

●競技プログラミング関連
プロジェクトオイラーを解いた。
AtCoderはABCへの参加を継続。


●2018年4月24日(火)
メモ
ヨドバシカメラのポイントは18ポイントしかないので
有効期限は気にする必要なし


●2018年7月21日(土)
jQueryを試すサンプル
<html>
<head>
<meta charset="UTF-8" />
<script type="text/javascript" src="jquery-2.2.4.js"></script>
<script type="text/javascript">
$(function() {
$('.cls:last').css('color' , 'red');
$('.cls').first().css('color' , 'blue');
});
</script>
</head>

<body>
<li class="cls">ListItem</li>
<li class="cls">ListItem</li>
<li class="cls">ListItem</li>
</body>
</html>


●2019年4月4日(木)
Windows10の見やすいタスクバーの設定


●2019年6月6日(木)
MySQL8.0でSQLパズルの問題を解くの執筆でのメモ書き

-- ■■■ 21. 飛行機と飛行士 ■■■
マルチバイトのInsertで一意制約違反は、
DBのデフォルトの文字コードを変更すれば防げる
詳しい理由は、興味を持ったら調べる。

ALTER DATABASE test default character set utf8;

-- ■■■ 56. ホテルの部屋番号 ■■■
MySQLでは、OracleのRowIDのようなものはない

MySQLでは、Update文のCurrent Ofは使用不可
https://dev.mysql.com/doc/refman/5.6/ja/cursor-restrictions.html
UPDATE WHERE CURRENT OF および DELETE WHERE CURRENT OF は、
更新可能なカーソルがサポートされていないため実装されません。

なので、alter tableで主キーでも付けないと無理

-- ■■■ 56. ホテルの部屋番号 ■■■
Guilhem BichotさんのUpdViewと結合させるサンプル

alter table Hotel add column ColPK int auto_increment primary key;
の後で、Window関数を使ったUpdViewもどきと結合してUpdateする。

alter table Hotel drop column ColPK;
で、追加した列は消しておく。

-- ■■■ 数独を解くのに使う文字列関数 ■■■
select
InStr(Val,'a') as tes1,
InStr(Val,'X') as tes2,
SubStr(Val,1,2) as tes3,
SubStr(Val,3,2) as tes4,
Insert(Val,2,3,'XYZ') as tes5
  from (select 'abcdef' as Val) tmp;

出力結果
+------+------+------+------+--------+
| tes1 | tes2 | tes3 | tes4 | tes5   |
+------+------+------+------+--------+
|    1 |    0 | ab   | cd   | aXYZef |
+------+------+------+------+--------+

 ------------------------------ MySQLメモ ------------------------------ 


●2020年3月6日(金)
詳説 MySQL,Oracleの正規表現の執筆メモ

順序的には、Oracleを一番最初にしたほうが良さそうで、
続いて、MySQLを検討する。

Oracleの執筆メモは、
図でイメージするOracleのSQL全集の執筆メモに記載


■■■気が向いたら作りたいもの01■■■
サクラエディタのマクロ
●コメントの追加
●コメントの削除

■■■気が向いたら作りたいもの02■■■
コメント追加マクロで
拡張子ごとのテストケースの作成
html
js
php
sql

    select
      from
     where
    order by

■■■気が向いたら作りたいもの03■■■
DB定義書から、MySQLのCreataTable文を作成するC#のコンソールアプリ

■■■気が向いたら作りたいもの04■■■
MySQLのSQL文の整形ツールを作る
クリップボートか、コマンドライン引数のSQLファイルのパス
で整形対象データを受け取るようにする。


ゼブラのボールペン 0.5 347円
ゼブラのボールペンの替芯 555円
高橋書店のカレンダーE155 726円
高橋書店のカレンダーE102 847円


トップページに戻る   明智重蔵のTwitter   記事(OTN)   記事(CodeZine)   PHPのサンプル集   JavaScriptのサンプル集   正規表現パズル