BZOJ 1600 Usaco2008 Oct 建造栅栏
2015-05-03 15:17
267 查看
题目大意:给定一个长度为nn(n≤2500n\leq 2500)的木板,要求分成4部分拼成一个面积为正的四边形,求方案数
能拼成一个面积为正的四边形等价于任意一个木板的长度<n2<\frac n2
切割点有3个,前两个枚举,第三个O(1)计算即可
时间复杂度O(n2)O(n^2)
能拼成一个面积为正的四边形等价于任意一个木板的长度<n2<\frac n2
切割点有3个,前两个枚举,第三个O(1)计算即可
时间复杂度O(n2)O(n^2)
[code]#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; int n,ans; int main() { int i,j; cin>>n; int limit=n-1>>1; for(i=1;i<=limit;i++) for(j=1;j<=limit&&i+j+2<=n;j++) { int l=max(1,n-i-j-limit); int r=min(n-i-j-1,limit); ans+=r-l+1; } cout<<ans<<endl; return 0; }
相关文章推荐
- bzoj 1600: [Usaco2008 Oct]建造栅栏【dp】
- bzoj 1600: [Usaco2008 Oct]建造栅栏(DP)
- BZOJ 1600: [Usaco2008 Oct]建造栅栏|动态规划
- 【bzoj1600】【USACO2008 Oct】Building A Fence 建造栅栏
- BZOJ1600: [Usaco2008 Oct]建造栅栏
- 【bzoj 1600】【Usaco2008 Oct】建造栅栏 (递推) 题解&代码
- BZOJ 1600 [Usaco2008 Oct]建造栅栏 DP
- BZOJ_1600_[Usaco2008_Oct]_建造栅栏_(动态规划)
- [BZOJ1600][Usaco2008 Oct]建造栅栏
- 【BZOJ】1600: [Usaco2008 Oct]建造栅栏(dp)
- DP-BZOJ-1600- [Usaco2008 Oct]建造栅栏
- [Usaco2008 Oct][BZOJ1600] 建造栅栏
- 【bzoj 1600】: [Usaco2008 Oct]建造栅栏
- bzoj 1600: [Usaco2008 Oct]建造栅栏 枚举
- BZOJ 1600: [Usaco2008 Oct]建造栅栏
- bzoj1600 [Usaco2008 Oct]建造栅栏
- bzoj1600 [Usaco2008 Oct]建造栅栏
- BZOJ 1600: [Usaco2008 Oct]建造栅栏( dp )
- 1600: [Usaco2008 Oct]建造栅栏
- 1600: [Usaco2008 Oct]建造栅栏