Skip to content

Instantly share code, notes, and snippets.

💭
It's probably about Segment Trees

Juan Lopes juanplopes

💭
It's probably about Segment Trees
Block or report user

Report or block juanplopes

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:64f9dbb4e16e3d5a73b2
100 1073741823
1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
View convexhull01.html
<!doctype html>
<html>
<head>
<title>ConvexHull 01</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
@juanplopes
juanplopes / convexhull01.html
Last active Aug 29, 2015
Revised @ElemarJR's Convex Hull (using Monotone Chain)
View convexhull01.html
<!doctype html>
<html>
<head>
<title>ConvexHull 01</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
@juanplopes
juanplopes / 2048.js
Created Mar 12, 2014
Este script provavelmente joga 2048 melhor que você
View 2048.js
var sendSingle = function(key) {
var event = new KeyboardEvent('keydown');
Object.defineProperty(event, 'keyCode', {get : function() {return key;}});
Object.defineProperty(event, 'which', {get : function() {return key;}});
document.dispatchEvent(event);
}
var i = 0;
handle = setInterval(function() {
@juanplopes
juanplopes / gist:178060e556e68421a8c5
Last active Aug 29, 2015
Ford-Fulkerson example for presentation: http://goo.gl/DizfF7
View gist:178060e556e68421a8c5
from collections import defaultdict
def add(network, a, b, capacity):
network[a][b] = network[b][a] = capacity
def send(network, a, b, V, minimum=1000000):
V.add(a)
if a == b:
print '-> path', a
return minimum
@juanplopes
juanplopes / pave.md
Last active Aug 29, 2015
Candidato, é pavê ou pra comê? (texto de @kramercarlos)
View pave.md

Texto criado pelo amigo Carlos Krämer (github . twitter . facebook) lá no Facebook, reproduzido aqui com a permissão dele.

Jornalista: Candidato, é pavê ou pra comê?

Dilma: Veja bem, nunca foi tanto pra comê quanto no meu governo. Há um ditado.... eu digo, editaram quando eu era o cachorro atrás de uma criança ... que diz que todo mundo que insere, ou melhor, ingere o que é pavê, tem uma satisfação imensa de... como dizem... dobrar a esquina. Mas nós precisamos continuar mudando, meu governo foi ótimo, eu fui eleita para dar prosseguimento ao governo Lula, Lula, LULA. Mas ninguém está mais insatisfeita com ele, digo, com o governo, não com o Lula, do que eu, mas os pessimistas é que estão tornando tudo ruim.

Marina: Eu não acho que é pavê nem pra comê. Nós precisamos aprender a reunir o que é bom em tudo, as melhores

@juanplopes
juanplopes / mersenne.py
Created Sep 16, 2014
Finding Mersenne Primes using Lucas Lehmer method
View mersenne.py
def prime(n):
return all(n%i!=0 for i in xrange(2,int(n**0.5)+1))
def lucas_lehmer(p):
return reduce(lambda s, _: (s*s-2)%(2**p-1), xrange(p-2), 4)==0
for i in range(2, 2048):
if prime(i) and lucas_lehmer(i):
print '2**%d-1 is a Mersenne prime' % i
print 2**i-1
@juanplopes
juanplopes / schedule.py
Created Sep 30, 2014
Simple scheduling algorithm in python (2nd version)
View schedule.py
import heapq
def schedule(tasks):
heap = []
def offer(begin, end):
while heap and heap[0] <= begin:
heapq.heappop(heap)
heapq.heappush(heap, end)
return len(heap)
@juanplopes
juanplopes / schedule.py
Created Sep 30, 2014
Simple scheduling algorithm in python
View schedule.py
import heapq
def schedule(tasks):
heap = []
def offer(begin, end):
while heap and heap[0] <= begin:
heapq.heappop(heap)
heapq.heappush(heap, end)
return len(heap)
@juanplopes
juanplopes / schedule.py
Created Sep 30, 2014
Simple scheduling algorithm in python (using Fenwick Trees)
View schedule.py
class Fenwick:
def __init__(self, n):
self.n = n+1
self.T = [0] * self.n
def adjust(self, k, v):
k+=1
while k < self.n:
self.T[k] += v
k += k&-k
You can’t perform that action at this time.