原创 優先隊列解決最短路問題

用優先隊列解決最短路問題,會將複雜度降低 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <vector> #i

原创 codeforces364A--- Matrix

點擊打開鏈接 題目大意:給一串數字串和一個數a,b(ij) = s(i) * s(j),,求矩陣b中存在多少個矩形使矩形裏的數的和等於a. 做法:每一個矩陣都有x的限制範圍和y的限制範圍,假設分別爲x1,x2,y1,y2.即,在矩陣中所有

原创 hdu 5001 矩陣 快速冪

題目大意:給n個點,m條邊,每個點選擇每條邊都是任意的,求走K步,不經過每一個點的概率。 這裏用了一個struct代表一種類型(矩陣類型),這樣寫比較方便,以後可以這樣用!!! 一開始我題目理解錯了,寫錯了也就算了,可是當題目理解對了之後

原创 Magic Formulas

C. Magic Formulas time limit per test 2 seconds memory limit per test 256 megabytes input standard input

原创 C - Addition Chains

http://poj.org/problem?id=2248 題意:給出一個數n,要求求出最短的一串數字,使其中任意一個數,都可以是任意兩個數的和(兩個數可以一樣),最大的數是n。 做法:當n>2時,就已經可以確定第一個數和第二個數,分別

原创 B - ZZY’s Dilemma

http://acm.hdu.edu.cn/showproblem.php?pid=4152 題意:輸入n個目標值,輸入m*n的矩陣,在m行中儘可能的選取多的行,使這p行對應的數相加後,所有的值都大於對應的目標值。 做法:用深搜的方法,將

原创 A - Lotto

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1089#include <cstdio> #include <cstring> #include <iostrea

原创 優先隊列解決廣搜的問題

點擊打開鏈接 題目大意:從p走到g,如果是#,則不能走,如果是“.”,則需要時間加1,如果是“x”,則時間加2,如果是“X”,則時間加3,問從p到g最少需要多少時間,如果不能到達,則輸出-1。 方法:用一個優先隊列,每次從裏面選出時間最少

原创 cs

#include <cstdio> bool vis[100005]; int prime[100005], tot; void init(int n) { int i, j; for(i = 2; i*i <= n; i++) if

原创 Fox and Box Accumulation

while中的每一個for循環都是一摞箱子,用num表示當前是這一摞的第幾個,只有a[i]>=num時,才能往下放。#include <cstdio

原创 最短路路徑還原

#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define inf 100000 using namespace std; i

原创 Cow Exhibition(2184)

大致題意:給num頭牛的S和F值(-1000 <= S,F <= 1000),要求從中選出幾頭牛,使S的總值TS和F的總值都不爲負並且和最大。 方法:01揹包,因爲有負數,所以要將範圍變成(0, 200000),在w[i]大於0時,應該逆

原创 Light OJ 1094 + Farthest Nodes in a Tree(搜索)

大致題意:給出一個n個節點的無環連通圖, 每條邊都有權值,求最長的兩個點之間的距離。 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm

原创 GCD & LCM Inverse

http://poj.org/problem?id=2429 大致題意:給出兩個數的最大公約數a和最小公倍數b,求這兩個數,並且要這兩個數加起來最小。 方法:b/a求得的值是兩個互質的數的乘積, 這題的數比較大, 所以用了模板、#incl

原创 B. Friends and Presents

http://codeforces.com/contest/483/problem/B 大致題意:給4個數,a,b,x,y,求最小的v,將v裏的數分成兩組,一組不是x的倍數,一組不是y的倍數,要求第一組裏的數的個數要大於等於a,第二組的個