Skip to content

Instantly share code, notes, and snippets.

View ftiasch's full-sized avatar

Xiaoxu Guo ftiasch

View GitHub Profile
#include <algorithm>
#include <cassert>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
const int N = 100000;
int n, m, w[N], a[N], b[N], order[N];
@ftiasch
ftiasch / Rakefile
Last active August 29, 2015 13:56
A auto-updated scripts for topcoder arena
require 'rexml/document'
require 'open-uri'
task :default => :run
task :run do
sh '(java -classpath "lib/*" com.topcoder.client.contestApplet.runner.generic www.topcoder.com 5001 >/dev/null 2>&1 &)'
end
task :update do
@ftiasch
ftiasch / Brute.java
Last active August 29, 2015 13:58
GD vs ZJ Problem E
import java.io.*;
import java.math.*;
import java.util.*;
public class Brute {
public void run() {
try {
int testCount = reader.nextInt();
for (int t = 1; t <= testCount; ++ t) {
int n = reader.nextInt();
@ftiasch
ftiasch / Makefile
Created May 15, 2014 02:07
Reliable Transport Protocol
CCFLAGS=-w
main: main.c
${CC} ${CCFLAGS} main.c -o main
@ftiasch
ftiasch / executor.cpp
Last active August 29, 2015 14:05
Executor.cpp
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cassert>
#include <errno.h>
#include <pwd.h>
#include <unistd.h>
#include <sys/resource.h>
@ftiasch
ftiasch / main.coffee
Created September 30, 2014 04:13
WebQQ robot
crypto = require 'crypto'
request = require 'request'
cookieJar = request.jar()
request = request.defaults {jar: cookieJar}
#require('request').debug = true
class Client
constructor: (@id, @password) ->
@ftiasch
ftiasch / Min.hs
Created January 5, 2015 14:04
Min mod
import Control.Monad
import Control.Monad.State.Lazy
import Data.ByteString.Lazy.Char8 (ByteString)
import qualified Data.ByteString.Lazy.Char8 as BS
import Data.Char
import Data.List
import Data.Maybe
data Operation = Update { index :: Int, multiple :: Int }
@ftiasch
ftiasch / hackercup-2015-round-1d.md
Created January 19, 2015 07:06
Facebook Hacker Cup 2015 Round 1D Corporate Gifting

Date: 2015-01-19 14:47

分享一个题目和解法: 用正整数对树的节点编号,要求相邻节点的编号不同,同时编号的总和最小。

假设$n$是树的节点数,编号一个显然的上界是$n$,所以可以得到一个$O(n^2)$的dp,令$f(u, x)$表示$u$的父亲编号是$x$,$u$子树编号总和的最小值。 则$$f(u, x) = \min_{y \neq x} \sum_{v} f(v, y)$$

接下来我们证明$x$的上界是$O(\sqrt{n})$,就可以得到一个$O(n^{2/3})$的算法。 因为树是二分图,总可以用两种颜色染色,由对称性,$2$的数量不会超过一半,所以这种方案的总和不超过$\frac{3}{2} n$。

@ftiasch
ftiasch / p511.hs
Last active August 29, 2015 14:22
Project Euler 511 残骸
import Data.Vector (Vector)
import qualified Data.Vector as V
newtype Zp = Z Int deriving (Show, Eq)
modulo :: Int
modulo = 10 ^ 9
z :: Int -> Zp
z a | a >= 0 = Z a'
window.MathJax = {
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
showProcessingMessages: false,
processEscapes: true,
processSectionDelay: 0
}
};