$x_1, x_2,\cdots, x_t$ be identical independent distributed(i.i.d.) Bernoulli random variables with $P(x_1=1)=p$ and $P(x_1=0)=1-p$, $p>0$, then for any $0\leq\varepsilon\leq 2e-1$, $$P(|\sum\limits_{i=1}^t x_i -tp|>\varepsilon tp)\leq
e^{-tp\varepsilon^{2}/4}.$$*

For simplicity, in this section we only consider the digraph $G$ with all edge weight equalling one. Hence the adjacent matrix $A_G$ is a 0-1 matrix and $\operatorname{ham}(A_G)$ is the number of Hamiltonian cycles in $G$. $G$ is also restricted to be $\alpha n$ dense, $\alpha\geq.75$. It is known [@BM76] that if $G$ is $.5n$ dense, $G$ must contain a Hamiltonian cycle and the proof can be easily modified to give an $O(n^2)$ algorithm to construct a Hamiltonian cycle. Hence $\operatorname{ham}(A_G)\geq 1$. By the definition of Hamilton, if we change any zeros in $A_G$ to $\gamma=(\varepsilon/3)((n-1)!)^{-1}$, $\operatorname{ham}(A_G)$ increases by at most a factor of $1+ \varepsilon/3$.

Now we introduce the basic idea of acceptance/rejection method for the counting problem. Suppose $S$ is a large set and each element in it with positive weight. The target is to approximate the total weight of all the elements in $S$. First select a suitable large $M$ such that $M> \sum_{b\in S}w(b)$. The main idea of acceptance/rejection method for approximation is to design a procedure to sample a random 