Skip to content

Instantly share code, notes, and snippets.

@notogawa
notogawa / COMP.c
Created February 9, 2012 15:56
TLE Felicity 2k12 Submit Code
#define Q(X)p=#X;X
Q(char s[999];n;main(i){for(sprintf(s,"#define Q(X)p=#X;X\nQ(%s)",p);s[n];p&&putchar(s[n]),n++)for(p=n<2,i=1;++i<n;p+=!(n%i));})
@notogawa
notogawa / InverseFizzBuzz.hs
Created May 16, 2012 13:53
Inverse Fizzbuzz
module Main where
import Data.List(sortBy)
import Data.Ord(comparing)
main :: IO ()
main = interact $ unlines . take 1 . map (show . uncurry enumFromTo) . zzubzzif . lines
zzubzzif :: [String] -> [(Int,Int)]
zzubzzif [] = []
@notogawa
notogawa / TSP.hs
Created May 31, 2012 14:08
GTALibでTSP
{-# LANGUAGE RecordWildCards, TupleSections #-}
module Main where
import Data.List(partition)
import GTA.Data.JoinList(Semiring, JoinList, JoinListAlgebra(..),
joinize, dejoinize, maxsumsolutionWith)
import GTA.Core(GenericSemiring(..), CommutativeMonoid(..), Bag(..),
hom, oplus, identity, (<.>), filterBy, aggregateBy)
import Data.Vector.Bit(packInteger, pad)
import Data.Bits(bit, (.|.), (.&.))
@notogawa
notogawa / zip.bat
Created July 8, 2012 17:00
コマンドプロンプト起点(バッチファイル)で,PowerShellはアリ,PowerShellスクリプトファイル不可,サードパーティ不可という制約上でzip圧縮するには?
@echo off
REM どうすんだこれ;;
REM for /f "delims=" %%i in ( %~1 ) do (
REM if "%%i" == "@echo off" (
REM echo @echo on
REM ) else (
REM echo %%i
REM )
REM )
@notogawa
notogawa / Euler8.hs
Created September 9, 2012 08:17
第4回 スタートHaskell2 exercise9 Project Euler problem 8
main = interact $ 値を文字列に変換する .
最大値だけを取りだす .
最大値プラスアルファを求める .
各文字を数値に変換する .
各行の文字列を一つに繋げる
各行の文字列を一つに繋げる = concat . lines
各文字を数値に変換する = map 文字一つを数値に変換する
@notogawa
notogawa / hoogle-build-local-offlinedb.sh
Created October 13, 2012 18:18
Gentoo hoogle offline DB builder
#!/bin/sh
#
# emerge -vp hoogle の後,hoogle-build-localdbを走らせろと言われるが,
# それを無視してコッチのスクリプトを走らせるとローカルにインストールしたパッケージのhaddock等を参照するhoogle DBが作られる.
# そのままで hoogle server すると file:/// とローカルドキュメントへのファイルURLが検索結果に出るようになる.
# また, hoogle server -l すると http://localhost:port/file//usr/share/doc のような,hoogle serverがstatic fileとして処理ってくれるURLになって,
# Haskell環境はVMの中(でホストからputty等で接続してるだけ)だけどブラウザはホストから使いたいようなケースでもOKになる.
#
ROOT="/"
@notogawa
notogawa / PFAD1.agda
Last active December 12, 2015 02:39
PFAD1章の最初のminfreeを定義するまで
module PFAD1 where
open import Function
open import Coinduction
open import Data.Bool
open import Data.List
open import Data.Colist
open import Data.Nat
open import Data.Product
open import Relation.Binary.PropositionalEquality using (_≡_; refl; cong; sym)
@notogawa
notogawa / PFAD2.agda
Last active December 12, 2015 07:58
PFAD2章の最初のmsc
module PFAD2 where
open import Function
open import Relation.Binary
module Ord {t₁ t₂ t₃} (T : DecTotalOrder t₁ t₂ t₃) where
open import Data.List.NonEmpty
open import Relation.Nullary
open Relation.Binary.DecTotalOrder T
@notogawa
notogawa / PFAD3.agda
Created March 3, 2013 03:49
PFAD3章最初の,fが狭義単調増加関数ならx ≤ f x y かつ y ≤ f x y という部分の証明
module PFAD3 where
open import Data.Nat
open import Data.Product
open import Relation.Binary.PropositionalEquality using (_≡_)
open import Function
infixr 2 _かつ_
_かつ_ = _×_
@notogawa
notogawa / RS3.agda
Created March 14, 2013 13:35
ロマサガ3のパーティ外成長について.
-- see. http://www.nicovideo.jp/watch/sm17339259
module RS3 where
open import Function
open import Function.Equivalence using (_⇔_; equivalence)
open import Data.Bool
open import Data.Nat
open import Data.Nat.DivMod
open import Data.Product
import Relation.Binary.PropositionalEquality as PropEq