1600: [Usaco2008 Oct]建造栅栏

Time Limit: 5 Sec  Memory Limit: 64 MB
Submit: 1310  Solved: 810
[Submit][Status][Discuss]

Description

勤奋的Farmer John想要建造一个四面的栅栏来关住牛们。他有一块长为n(4<=n<=2500)的木板,他想把这块本板切成4块。这四块小木板可以是任何一个长度只要Farmer John能够把它们围成一个合理的四边形。他能够切出多少种不同的合理方案。注意: *只要大木板的切割点不同就当成是不同的方案(像全排列那样),不要担心另外的特殊情况,go ahead。 *栅栏的面积要大于0. *输出保证答案在longint范围内。 *整块木板都要用完。

Input

*第一行:一个数n

Output

*第一行:合理的方案总数

Sample Input

6

Sample Output

6

四条边能围成四边形的条件是:

任意三边的长度之和大于第四条边,也就是每条边的长度都必须小于周长的一半

dp[i][j]表示木块的前j米被分成i个部分的合法情况数(没有一个部分长度大于等于周长的一半)

递推很简单,只要注意边界,答案就是dp[4][n]

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define LL long long
LL dp[5][2555];
int main(void)
{int i, n, j, k, temp;while(scanf("%d", &n)!=EOF){memset(dp, 0, sizeof(dp));dp[0][0] = 1;for(i=1;i<=4;i++){for(j=i;j<=n;j++){temp = max(i-1, j-(n+1)/2+1);for(k=temp;k<=j-1;k++)dp[i][j] += dp[i-1][k];}}printf("%lld\n", dp[4][n]);}return 0;
}

bzoj 1600: [Usaco2008 Oct]建造栅栏(DP)相关推荐

  1. bzoj 1601: [Usaco2008 Oct]灌水(最小生成树)

    1601: [Usaco2008 Oct]灌水 Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 1978  Solved: 1297 [Submit][ ...

  2. BZOJ 1603: [Usaco2008 Oct]打谷机

    1603: [Usaco2008 Oct]打谷机 Description Farmer John有一个过时的打谷机(收割小麦),它需要带子来带动.发动机驱动轮1总是顺时针旋转的,用来带动转轮2,转轮2 ...

  3. bzoj 1603: [Usaco2008 Oct]打谷机(拆点并查集)

    1603: [Usaco2008 Oct]打谷机 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 977  Solved: 749 [Submit][St ...

  4. bzoj 1602: [Usaco2008 Oct]牧场行走(暴力LCA)

    1602: [Usaco2008 Oct]牧场行走 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 2011  Solved: 1058 [Submit] ...

  5. BZOJ 1599: [Usaco2008 Oct]笨重的石子( 枚举 )

    直接枚举 ------------------------------------------------------------------------------- #include<cst ...

  6. BZOJ 1597: [Usaco2008 Mar]土地购买( dp + 斜率优化 )

    既然每块都要买, 那么一块土地被另一块包含就可以不考虑. 先按长排序, 去掉不考虑的土地, 剩下的土地长x递增, 宽y递减 dp(v) = min{ dp(p)+xv*yp+1 } 假设dp(v)由i ...

  7. BZOJ 1601 [Usaco2008 Oct]灌水 (最小生成树)

    题意 Farmer John已经决定把水灌到他的n(1<=n<=300)块农田,农田被数字1到n标记.把一块土地进行灌水有两种方法,从其他农田饮水,或者这块土地建造水库. 建造一个水库需要 ...

  8. BZOJ 1602: [Usaco2008 Oct]牧场行走 倍增裸题

    Description N头牛(2<=n<=1000)别人被标记为1到n,在同样被标记1到n的n块土地上吃草,第i头牛在第i块牧场吃草. 这n块土地被n-1条边连接. 奶牛可以在边上行走, ...

  9. bzoj1601【Usaco2008 Oct】灌水

    1601: [Usaco2008 Oct]灌水 Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 1589  Solved: 1035 [Submit][ ...

最新文章

  1. 女友问粉丝过万如何庆祝,我发万字长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学妹|学弟|小白看了就懂
  2. 精心分享7个让你意想不到的网站,大开眼界!
  3. JAVA中的多线程(一)
  4. 英雄无敌3版的仙剑奇侠传
  5. openresty开发系列1--网关API架构及选型
  6. 洛谷 P1886 滑动窗口
  7. linux网络编程之多路I/O转接服务器poll函数
  8. 拼多多回应驰伟插座起诉:积极应诉 希望其莫充当电商“二选一”插头
  9. 大学生计算机vfp,计算机vfp教学课件
  10. 银行转账和分布式事务(转)
  11. 生成对抗网络及其应用
  12. 微信支付宝扫码支付相关接口
  13. 2023款16英寸苹果MacBook Pro续航实测
  14. 苹果状态栏HTML,webview内嵌的html页面,在ios系统上12以上版本和12以下版本状态栏效果不一样...
  15. 推荐一个朋友 - 学历不好,非科班,不负光阴终进大厂
  16. qsort函数的使用
  17. 深度学习之卷积神经网络经典网络LeNet-5简介
  18. 爱情保卫战经典语录全集
  19. python把txt导入excel,python如何将txt文件导入Excel?
  20. 连续生产情况下 单向测径仪连续测量更优吗?

热门文章

  1. python发音1001python发音-怎样才能写出 Pythonic 的代码 #P1001#
  2. python怎么读取csv文件-python读写csv文件方法详细总结
  3. python和c先学哪个-C和Python我该先学什么?
  4. 微信AI开放接口介绍
  5. python插入排序_python简单的实现插入排序和二分插入排序
  6. 遍历矩阵每一行穷举_六十三---矩阵中的路径
  7. html ts 播放,vue文件拆分为html + ts + css
  8. Sublime Text3底部面板添加命令行(cmd)
  9. PowerDesigner导出SQL脚本运行注释出现乱码问题
  10. DIV+CSS布局总结