BZOJ1600: [Usaco2008 Oct]建造栅栏】的更多相关文章

1600: [Usaco2008 Oct]建造栅栏 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 825  Solved: 473[Submit][Status] Description 勤奋的Farmer John想要建造一个四面的栅栏来关住牛们.他有一块长为n(4<=n<=2500)的木板,他想把这块本板切成4块.这四块小木板可以是任何一个长度只要Farmer John能够把它们围成一个合理的四边形.他能够切出多少种不同的合理方案.注意: *只…
Description 勤奋的Farmer John想要建造一个四面的栅栏来关住牛们.他有一块长为n(4<=n<=2500)的木板,他想把这块本板 切成4块.这四块小木板可以是任何一个长度只要Farmer John能够把它们围成一个合理的四边形.他能够切出多少 种不同的合理方案.注意: *只要大木板的切割点不同就当成是不同的方案(像全排列那样),不要担心另外的特 殊情况,go ahead. *栅栏的面积要大于0. *输出保证答案在longint范围内. *整块木板都要用完. Input *第一…
QAQ我没读过书...四边形都不会判定了 简单的dp.... ------------------------------------------------------------------------------ #include<cstdio> #include<algorithm> #include<cstring> #include<iostream>   #define rep( i , n ) for( int i = 0 ; i <…
1600: [Usaco2008 Oct]建造栅栏 Time Limit: 5 Sec  Memory Limit: 64 MB Description 勤奋的Farmer John想要建造一个四面的栅栏来关住牛们.他有一块长为n(4<=n<=2500)的木板,他想把这块本板切成4块.这四块小木板可以是任何一个长度只要Farmer John能够把它们围成一个合理的四边形.他能够切出多少种不同的合理方案.注意: *只要大木板的切割点不同就当成是不同的方案(像全排列那样),不要担心另外的特殊情况,…
http://www.lydsy.com/JudgeOnline/problem.php?id=1600 说好的今天开始刷水.. 本题一开始我以为是排列组合,但是自己弱想不出来,只想到了如果四边有一条边大于或等于第三边,那么这个四边形构造不出来. 即 a>=b+c+d时,不存在四边形 那么存在的情况就是a<b+c+d 得到 a<a+b+c+d 因为a<2a,a<b+c+d 所以a<(a+b+c+d)/2=n/2 那么我们就可以dp了. 只要找所有满足的边满足比长度的一半…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1600 题意: 给你一个长度为n的木板,让你把这个木板切割成四段(长度为整数),并且要求这四段可以构成一个四边形. 问你有多少种切割方法(切割点不同就算不同). 题解: 构成四边形的条件: 任意一边长度 < 周长/2 证明:设四边为a,b,c,d.因为有a < b+c+d,所以2*a < a+b+c+d = C,所以a < C/2. 简化问题: 给你n个小木块,排成一排.问你…
要求三边和大于第四边,所以任意一条边的长度都是小于n/2 设f[i][j]为前i条长为j,转移的时候用n/2限制 #include<iostream> #include<cstdio> using namespace std; int n,mx,f[5][2505]; int main() { f[0][0]=1; scanf("%d",&n); int mx=(n+1)/2-1; for(int i=1;i<=4;i++) for(int j=1…
[原题] 1600: [Usaco2008 Oct]建造栅栏 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 785  Solved: 443 [Submit][Status] Description 勤奋的Farmer John想要建造一个四面的栅栏来关住牛们.他有一块长为n(4<=n<=2500)的木板,他想把这块本板切成4块. 这四块小木板可以是不论什么一个长度仅仅要Farmer John可以把它们围成一个合理的四边形.他可以切出多少种不同的…
经典延伸最小生成树问题... #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> using namespace std; #define rep(i,s,t) for(int i=s;i<=t;i++) #define dwn(i,s,t) for(int i=s;i>=t;i--) #define clr(x,c) memset(x,c,sizeof(…
1601: [Usaco2008 Oct]灌水 Time Limit: 5 Sec  Memory Limit: 162 MB Description Farmer John已经决定把水灌到他的n(1<=n<=300)块农田,农田被数字1到n标记.把一块土地进行灌水有两种方法,从其他农田饮水,或者这块土地建造水库. 建造一个水库需要花费wi(1<=wi<=100000),连接两块土地需要花费Pij(1<=pij<=100000,pij=pji,pii=0). 计算Far…