原创 Constructing Roads-最小生成樹

Problem DescriptionThere are N villages, which are numbered from 1 to N, and you should build some roads such that ever

原创 N的倍數-抽屜原理

一個長度爲N的數組A,從A中選出若干個數,使得這些數的和是N的倍數。例如:N = 8,數組A包括:2 5 6 3 18 7 11 19,可以選2 6,因爲2 + 6 = 8,是8的倍數。Input第1行:1個數N,N爲數組的長度,同時也是

原创 駱駝與香蕉

一隻駱駝每次最多負重K只香蕉,而它每走1公里要喫掉1只香蕉,不喫完不肯走。現在這隻駱駝要去到N公里以外的地方,如果N > K,那麼即使駱駝裝滿了香蕉,也無法1次走到目的地,不過駱駝可以在中途設置一些補給點,先把一些香蕉運過去,下次經過時可

原创 揹包問題V2

有N種物品,每種物品的數量爲C1,C2......Cn。從中任選若干件放在容量爲W的揹包裏,每種物品的體積爲W1,W2......Wn(Wi爲整數),與之相對應的價值爲P1,P2......Pn(Pi爲整數)。求揹包能夠容納的最大價值。I

原创 藍橋-穿越雷區

X星的坦克戰車很奇怪,它必須交替地穿越正能量輻射區和負能量輻射區才能保持正常運轉,否則將報廢。 某坦克需要從A區到B區去(A,B區本身是安全區,沒有正

原创 01揹包和完全揹包

#include<iostream> #include<bits/stdc++.h> using namespace std; int main() { int v,n,c[50],w[50],f[50]; memset(f,0,si

原创 Constructing Roads

There are N villages, which are numbered from 1 to N, and you should build some roads such that every two villages can

原创 一個人的旅行-dijkstra

雖然草兒是個路癡(就是在杭電待了一年多,居然還會在校園裏迷路的人,汗~),但是草兒仍然很喜歡旅行,因爲在旅途中 會遇見很多人(白馬王子,^0^),很多事,還能豐富自己的閱歷,還可以看美麗的風景……草兒想去很多地方,她想要去東京鐵塔看夜景,

原创 邂逅明下-巴什博弈

邂逅明下Problem Description當日遇到月,於是有了明。當我遇到了你,便成了侶。那天,日月相會,我見到了你。而且,大地失去了光輝,你我是否成侶?這注定是個悽美的故事。(以上是廢話)小t和所有世俗的人們一樣,期待那百年難遇的日

原创 歸併排序

#include<iostream> using namespace std; int ans=0; int f[100],t[100]; void Merge(int l,int m,int r) { int i=l,j=m+1,cn

原创 最短路-diskstra

在每年的校賽裏,所有進入決賽的同學都會獲得一件很漂亮的t-shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎? Input輸入包括多組數據。

原创 最大矩陣和

一個M*N的矩陣,找到此矩陣的一個子矩陣,並且這個子矩陣的元素的和是最大的,輸出這個最大的值。例如:3*3的矩陣:-1 3 -12 -1 3-3 1 2和最大的子矩陣是:3 -1-1 31 2Input第1

原创 A Simple Problem with Integers - 線段樹

You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add s

原创 矩陣快速冪

給出一個N * N的矩陣,其中的元素均爲正整數。求這個矩陣的M次方。由於M次方的計算結果太大,只需要輸出每個元素Mod (10^9 + 7)的結果。Input第1行:2個數N和M,中間用空格分隔。N爲矩陣的