本章主要考的是貪心和一些比較麻煩的模擬。難度相比上一章有很明顯的提公升。但是稍微想一下還是可以想出來的(第五題除外,看了一下題解的思路)。
usaco:
思路:很明顯是一道貪心基礎題。肯定是要先買每單位價錢最便宜的,然後再依次買貴的。這個不用證明了吧。。。
**:
/*
id:ssl_zyc2
task:milk
lang:c++
*/#include #include #define n 5100
using namespace std;
int n,m,ans;
struct node
a[n];
bool cmp(node x,node y)
int main()
for (int i=1;i<=k;i++)
scanf("%d",&a[i]);
sort(a+1,a+1+k);
sum=a[k]-a[1]+1; //一塊木板
for (int i=1;i思路:
由於每乙個「∗」
「∗」只可能是00到9
9中的任意乙個數字,那麼我們可以列舉乘數裡面的五個"∗"
"∗"分別是多少,然後就可以推出中間的六個"∗"
"∗"的值和答案的四個"∗"
"∗"的值。那麼久判斷每乙個值是否合法即可。
時間複雜度:o(n
5)o(
n5)**:/*
id:ssl_zyc2
task:crypt1
lang:c++
*/#include #include using namespace std;
int n,a,b,ans;
bool p[11];
bool check(int x,int y)
return 1;
}int main()
for (int i=1;i<=9;i++)
if (p[i])
for (int j=0;j<=9;j++)
if (p[j])
for (int k=0;k<=9;k++)
if (p[k])
for (int l=1;l<=9;l++)
if (p[l])
for (int q=0;q<=9;q++) //列舉5個*
if (p[q])
if (check((i*100+j*10+k)*l,3))
if (check((i*100+j*10+k)*q,3)) //判斷中間的六個*
if (check((i*100+j*10+k)*(l*10+q),4)) //判斷積中的四個*
ans++;
printf("%d\n",ans);
return 0;
}
思路:
暴力模擬。很簡單吧。。。
小心陣列越界。
**:
/*
id:ssl_zyc2
task:combo
lang:c++
*/#include #define n 120
using namespace std;
int n,sum,a,b,c,d,e,f;
bool p[n][n][n];
int main()
for (int i=d-2;i<=d+2;i++)
for (int j=e-2;j<=e+2;j++)
for (int k=f-2;k<=f+2;k++) //第二個密碼
if (!p[(i+n-1)%n+1][(j+n-1)%n+1][(k+n-1)%n+1])
printf("%d\n",sum);
return 0;
}
思路:
有點難度啊。
由於貝西只能往下走,那麼她所在位置的下面第乙個蟲洞就是會被傳走的地方。
那麼設nex
t[i]
next
[i]表示在i
i下面的第乙個蟲洞(y
y座標要相同,x
x座標嚴格小於且最近)。然後就深搜,搜出配對的方案後就判斷是否成立。成立就記錄。
**:
/*
id:ssl_zyc2
task:wormhole
lang:c++
*/#include using namespace std;
int f[15],next[15],n;
int check()
return 0;
}int dfs(int s)
return ans;
}int main()
思路:
由於山峰高度只有10010
0,那麼就可以列舉山峰最矮高度,然後再列舉每個山峰,如果不夠或高出那麼就計算所需費用。然後將所有費用取最小值即可。
**:
/*
id:ssl_zyc2
task:skidesign
lang:c++
*/#include
#include
#define n 1010
using
namespace std;
int h[n]
,sum,n,ans;
intmain()
ans=
1e9;
for(
int i=h[1]
;i<=h[n]-17
;i++
)//列舉最低高度
printf
("%d\n"
,ans)
;return0;
}
USACO1 4 The Clocks 解題報告
第一次用bfs,以前只是會用遞迴的dfs搜尋,這次對照著書,硬生生的把bfs打出來了,終於明白什麼叫做複雜度了。先上程式 很明顯這題的bfs會很痛苦,因為第一層9個,第二層9 9,第三層9 9 9,大約到了8層的時候,無論是什麼樣的佇列,還是堆疊都不崩潰了 很悲慘,到了第三組資料的時候完全不可能通過...
解題報告 USACO 酸奶工廠
奶牛經營了一家酸奶工廠,生意非常紅火。在接下去的 n 個月裡,第 i 個月需要向社會提供 a i 噸酸奶。酸奶的生產受到很多因素的影響,所以每個月的生產成本是變化的,其中第 i 個月的成本是 每噸 c i 元。奶牛可以提前裡把酸奶做好,存在倉庫裡,等需要的時候再拿出來賣。儲存在倉庫裡的酸奶,每 噸酸...
USACO 4 2解題報告
求最大流。模板題,dinic即可。給出每個奶牛所喜愛的牛棚,每個奶牛只在它喜愛的牛棚中才能產奶,每個牛棚最大容納乙隻奶牛,求最多能讓多少奶牛產奶。最大流問題,源點向每頭奶牛連一條容量為1的邊,每頭奶牛向它喜愛的牛棚連一條容量為1的邊,每個牛棚向匯點連一條容量為1的邊,dinic求出最大流。每個工件要...