Skip to content

Instantly share code, notes, and snippets.

@steinelu
steinelu / CartesianTree.c
Last active August 25, 2023 09:02
Small C program that constructs a Cartesian tree from an array (and generates a Graphviz dot file from it)
#include <stdio.h>
#include <stdlib.h>
struct Node{
struct Node *parent;
struct Node *left;
struct Node *right;
int index;
int value;
};
@steinelu
steinelu / segment_tree.py
Last active July 15, 2023 17:59
Segment Tree Python
import math
class SegmentTree:
def __init__(self, arr, function, neutral_element):
self.m = len(arr)
k = math.ceil(math.log2(self.m)) + 1
self.n = 2**k
self.arr = arr
self.tree = [neutral_element for _ in range(self.n)]
self.foo = function
self.neutral_element = neutral_element
@steinelu
steinelu / shutdown.ps1
Last active October 1, 2022 16:46
a small server waiting for a single connection
# strongly inspired from https://hkeylocalmachine.com/?p=518
$listener = New-Object System.Net.HttpListener
$listener.Prefixes.Add('http://+:8000/')
$listener.Start()
while ($true){
$context = $listener.GetContext()
function foo(n::UInt)
if n == 1 || n == 0
return n
end
if n%2 == 0
return 4 * foo(UInt(n/2))
else
return 4 * foo(UInt(floor(n/2))) + 1
end
end
@steinelu
steinelu / template.tex
Created November 8, 2020 22:24
assignment template
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{listings}
\usepackage{amsmath,amssymb,amstext,amsthm}
\usepackage{tikz}
\usepackage{hyperref}
\usepackage{url}
\usepackage[headsepline]{scrpage2}
@steinelu
steinelu / Powershell matchgroups (regex)
Created October 10, 2020 21:32
How to use matchgroups in powershell
"Hallo Welt!" | Select-String ".* (.*)" | ForEach-Object {$_.Matches.Groups[1]}
func consoleSize() (int, int) {
cmd := exec.Command("stty", "size")
cmd.Stdin = os.Stdin
out, err := cmd.Output()
if err != nil {
log.Fatal(err)
}
s := string(out)
package main
import (
"fmt"
"encoding/json"
)
func main() {
dict := make(map[int]string)
dict[12] = "Lukas"
def polynomial(degree):
def poly(x):
return np.asarray([x**g for g in range(degree)]).reshape((degree, x.shape[0])).transpose()
return poly
int ggt(int m, int n)
{
if(!m)
return n;
return ggt(n%m , m);
}
int phi(int n)
{
int cnt = 0;