其實胡策已經一周了,也不按時間順序放了,挑一些題目放上來,也當做複習
day1、t2這個題的原題在洛谷上有p1550 [usaco08oct]澆水洞watering hole
題目描述
眾所周知,dqs因上課不好好睡覺被班主任請回了家裡!
dqs回到家發現家裡還有農場,於是他決定種些什麼,幾個月後dqs發現好像沒有水的話植物並不能活下來╮(╯▽╰)╭
於是dqs決定將水引入到他的邊長為n的農場。他準備通過挖若干井,並在各塊田中修築水道來連通各塊田地以供水。在第i 號田中挖一口井需要花費w_i元。連線i 號田與j 號田需要p_ij 元。
請求出dqs需要為連通整個農場場的每一塊田地所需要的錢數。
輸入描述 第1 行為乙個整數n。
第2行n個整數,分別為w_1 到w_n。
第3 到n + 2 行為乙個矩陣,表示需要的經費p_ij。
輸出描述 只有一行,為乙個整數,表示所需要的錢數。
樣例輸入 4
5 4 4 3
0 2 2 2
2 0 3 3
2 3 0 4
2 3 4 0
樣例輸出 9
資料範圍及提示 對於 30 % 的資料:1 <= n <= 5 , 1 <= p_ij , w_i <=100;
對於 60 % 的資料:1 <= n <= 50 , 1 <= p_ij , w_i <= 5000;
對於 100 % 的資料:1 <= n <= 300 , 1 <= p_ij , w_i <= 100000;
樣例解釋:在第4號田挖井,花費3,連線 1 – 2號田,花費2,連線1 – 4號田,花費 2 ,連線 1 – 3,花費2,總花費9.
/*
這個題的思路是,建立乙個虛擬節點0號節點,把0號節點與所有節點連一條邊,
權值是挖這個井的花費,因為我們在連線某個農場的時候,可能遇到聯通兩個農田的花費比在這個地方挖一口井的花費要高,
這種情況下,我們就可以連0號節點與該節點的邊,而不是當前節點與該節點的邊,這樣跑一遍
kruskal,求最小生成樹就行了。
*/#include
#include
#include
#include
#include
using
namespace
std;
int n,w[500];
int fa[500000];
struct edge
e[500000];
bool cmp(edge a,edge b)
int find(int x)
int main()
for(int i = 1; i <= n; i ++)
fa[i] = i;
for(int i = 1; i <= n; i ++)
for(int j = 1; j <= n; j ++)
sort(e+1,e+tot,cmp);
int ans = 0;
for(int i = 1; i <= n*n ; i ++)
}printf("%d\n",ans);
return
0;}
day2、t3
這個題是我從hdu上找的,出給他們,讓他們複習下揹包問題。
原題hdu5410crb and his birthday
這是個混合揹包問題,我是用01揹包和完全揹包做的。
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 1000010;
int dp[maxn];
int c[maxn],a[maxn],b[maxn];
int v,n;
int main()
memset(dp,0,sizeof(dp));
for(int i=1;i<=n;i++) //01
} for(int i=1;i<=n;i++) //完全
}
printf("%d\n",dp[v]);
}
return
0;
}
11 08隊內胡策
總結就是t3想錯直接翻車233.第二題給你兩個日期,問這兩個日期差了多少毫秒。兩行,每行乙個日期,日期格式保證為 yyyy mm dd hh mm ss這種形式。第二個日期時間一定比第乙個日期時間要大兩個日期的年份一定都是 21 世紀的年份。一行乙個整數代表毫秒數。2000 01 01 00 00 ...
隊內胡策 2017 10 15
輸入描述 乙個數 t 接下來 t 行,每行乙個長度為 n 的 01 串 輸出描述 乙個數 p 表示 dqs 消耗的神力 樣例輸入 2 000011 0101 樣例輸出 26 10 資料範圍及提示 1 t 50 60 1 n 1000 100 1 n 100000 純暴力,沒什麼技術含量,但是在這道題...
隊內胡策 2017 10 12
t1 t2 狀壓dp t3 原創題 函式求和 題目描述 有乙個含有 n 個數字的序列 a,元素標號 1 到 n。同時你有 n 個函式,標號為 1 到 n。第 i 個函式函式值為序列中下標為 li 到 ri 的元素和。現在你需要維護以下兩種操作 1 x y 將序列中下標為 x 的元素修改為 y2 s ...