原创 problem 12 f(n) = f(n-1) + n 數列中第一個
projecteuler.net/problems #include <iostream> #include <cstdio> #include <cmath> using namespace std; long long SumFac
原创 POJ 2607 SPFA
求出所有FireStation到其它的Intersection的距離,再求出基它Intersection到其它點的距離,然後比較距離就OK了 用SPFA +AdjacencyList 的速度較快 用Dijkstra會超時 題目測試數據:
原创 POJ3233 矩陣的N次冪求和 二分
k 爲偶數:A^k = A ^(k/2) * A ^(k/2); k 爲奇數: A^k = A ^ (k/2) * A^(k/2) * A n = 2k 爲偶數 A^1 + A^2 + A^3 +....... A^(2k) =
原创 poj 3735 矩陣行列變換
這題是矩陣運算的經典題目。 可以將peanut初始化爲{{0},{0},{0},{1}},然後對peanut矩陣進行變換(行變換,可
原创 problem 11 矩陣中連續四個數的最大積
http://projecteuler.net/problem=11 暴力枚舉 #include <iostream> #include <cstdio> using namespace std; int main() { int m
原创 POJ 2635 N進制大數與小數取模
先把素數打表,然後進行大數取模,要取N進制(最好5<=N<=10)進行大數取模運算,否則超時(1000000內的素數個數達78498個) #include <iostream> #include <cstdio> #include
原创 Problem 26 高精度加法
//============================================================================ // Name : pe25.cpp // Author
原创 POJ 2688 TSP問題
經典TSP問題先廣搜求所有"dirty“點之前的距離,然後再DFS尋找所有組合(窮舉法),最後取最短即爲所求 #include <iostream> #include <cstdio> #include <queue> #inclu
原创 變長數組(VLA),二維數組函數傳遞
#include <stdio.h> //void f(int b, int a[b][b]) void f(int b,int a[b][b]) { printf("%d\n",a[1][1]); } int main() {
原创 problem 3 最大素因子
#include <iostream> #include <cstdio> using namespace std; const int MAXN = 100000000; bool prime[MAXN + 10] = {1,1,0}
原创 POJ1113 Convex Hull/凸包 Graham scan算法
求出所有點的凸包然後加上半徑爲L的圓的周長即可 #include <iostream> #include <cstdio> #include <cmath> #include <algorithm> using namespace
原创 關於STLsort double類型數據排序
bool cmp(const ccontrol e1, const ccontrol e2) { /*if(e1.right != e2.
原创 POj 2823 單調隊列 / 優先隊列
解法1: 單調隊列 所謂單調隊列就是一個單調遞增或遞減的隊列,並不是什麼神奇的東西。 單調隊列(就遞增來說)嚴格來說就是隊頭的原素是最大的,不斷從隊尾加原素,如果隊尾的原素比要加入來的原素大,就不斷退隊,就到隊尾的原素比要加入來的原素小
原创 Problem 10 2000000以下素數和
http://projecteuler.net/problem=10 #include <iostream> #include <cstdio> using namespace std; const int MAXN = 2000000
原创 problem14 最長鏈
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const long long MAXN = 1000000; long long