Skip to content

Instantly share code, notes, and snippets.

View mikebsg01's full-sized avatar
📚
Creativity Is Intelligence Having Fun!

Michael Serrato mikebsg01

📚
Creativity Is Intelligence Having Fun!
View GitHub Profile
@mikebsg01
mikebsg01 / boggle.cpp
Created August 31, 2014 07:33
Solución a "Boggle" 100pts. Preselectivo 2015 - Etapa 1 - Problemset #8
#include <stdio.h>
#include <string.h>
#define TABLERO 4
/*
Program: Boggle
Encoded by Michael Serrato.
*/
int N;
char tablero[5][5];
int mapa[5][5] = {0}; /* Mapa: Sirve como auxiliar
@mikebsg01
mikebsg01 / gist:6be6c7a6223cdcb607e4
Last active March 12, 2017 21:27
Problema Acciones (AC) - IOI-Etapa1-Problemset8
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <map>
#include <vector>
#include <utility>
#define optimize ios_base::sync_with_stdio(0);cin.tie(0);
#define all(v) v.begin(), v.end()
#define first(v, n) v.begin(), v.begin()+n
#define second(v, n) v.begin()+n, v.begin()+(2*n)
@mikebsg01
mikebsg01 / gist:c969ddaefc6b3e9594c7
Last active March 12, 2017 21:47
Problema Inversiones (AC) - IOI-Etapa1-Problemset15 [Optimizar Solución]
#include <bits/stdc++.h>
#define X first
#define Y second
#define sz size
using namespace std;
typedef long long int lli;
int C,N;
lli Limite = 0;
lli AC = 0;
@mikebsg01
mikebsg01 / gist:0b79c10b194044812995
Last active March 12, 2017 21:46
Creador de Grafos - 40pts (PA) [Terminar]
#include <bits/stdc++.h>
#define PB push_back
#define MP make_pair
#define X first
#define Y second
#define sz size
#define PS push
using namespace std;
typedef long long int lli;
int N;
@mikebsg01
mikebsg01 / gist:2f81ccc0fe6209e52758
Created November 10, 2014 04:49
Noticias - 100pts (AC)
#include <bits/stdc++.h>
using namespace std;
int N, M;
int raiz[1000015];
int rango[1000015];
int encontrar(int n) {
if( raiz[n] == n )
return n;
else raiz[n] = encontrar( raiz[n] );
return raiz[n];
@mikebsg01
mikebsg01 / gist:3de3a056e8ba5eb9b700
Last active March 12, 2017 21:56
Entrenamiento IOI - Etapa #2 - Problem: Cellphone Typing - Judge: UVa - 21/11/2014 - Puntaje: 100% (AC) - Structure Solution: Trie (Tree).
#include <bits/stdc++.h>
#define X first
#define Y second
using namespace std;
int N;
double answer = 0;
struct NODO {
int prefix = 0;
NODO* hijos[30];
};
@mikebsg01
mikebsg01 / gist:22a0d1ef381b69f6223a
Last active March 12, 2017 21:55
Entrenamiento IOI - Etapa #2 - Problem: Long Hamming - Judge: omegaUp - 30/11/2014 - Puntaje: 100% (AC) - GCD + BIT (Theory mathematical + Binary Indexed Tree) - Complexity: O( 2 N 3 log 26 ).
#include <bits/stdc++.h>
#define pb push_back
#define MAXN 1000005
using namespace std;
typedef long long int lli;
lli N, M;
lli P, Q;
char A[MAXN];
char B[MAXN];
@mikebsg01
mikebsg01 / gist:926361bdaa38bc87ac47
Created December 1, 2014 06:17
Entrenamiento IOI - Etapa #2 - Problem: Digit Product - Judge: omegaUp - 30/11/2014 - Puntaje: 100% (AC) - Factorization + DP (Theory mathematical + Programming Dynamic).
#include <bits/stdc++.h>
#define optimize ios_base::sync_with_stdio(0);cin.tie(0)
#define sz size
using namespace std;
typedef long long int lli;
lli A, N;
string cad;
int digits[4005];
lli izq[40005];
lli der[40005];
@mikebsg01
mikebsg01 / gist:ef28519f1c3a9c2a356e
Last active March 12, 2017 21:53
Entrenamiento IOI - Etapa #2 - Problem: 4 Values whose Sum is 0 - Judge: ACM-ICPC Live Archive - 15/12/2014 - Puntaje: 100% (AC) - Meet In The Middle + Barrido.
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#define all(v) v.begin(), v.end()
#define ver(x) cout<<#x<<": "<<x<<"\n";
#define verP(x) cout<<#x<<": "<<*x<<"\n";
#define name(x) cout<<#x<<" \n";
#define MAXSZ 16000002
@mikebsg01
mikebsg01 / gist:7fb047a2cf2e719c13bd
Last active March 12, 2017 21:53
[ SOLUCIÓN MEJORADA ] - Entrenamiento IOI - Etapa #2 - Problem: 4 Values whose Sum is 0 - Judge: ACM-ICPC Live Archive - 15/12/2014 - Puntaje: 100% (AC) - Meet In The Middle + Barrido.
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#define all(v) v.begin(), v.end()
#define ver(x) cout<<#x<<": "<<x<<"\n";
#define verP(x) cout<<#x<<": "<<*x<<"\n";
#define name(x) cout<<#x<<" \n";
#define MAXSZ 16000002
using namespace std;