184. [USACO Oct08] 搭建篱笆

★★   输入文件:quad.in   输出文件:quad.out   简单对比
时间限制:1 s   内存限制:128 MB

勤奋的农夫约翰想要修建一个4面的篱笆墙把他的奶牛们围起来。他有一块长为N的木板(4<=N<=2500)于是他想要在三个点把他们切断用以得到4块木板。

只要能构成成四边形篱笆,这4块板子的长度可以是任意正整数。那么为了得到完整的篱笆农夫约翰有多少不同的种方法切这个长木板呢?

注意:

  • 对于两种方案而言,只要一方存在一个另一方没有的切割点,那它们就将视为不同的方案。不必担心对称或那个其他复杂的情况的排除。
  • 请注意,篱笆所围的面积应当大于0。
  • 你将高兴的是,我们保证答案适合有符号的32位整型变量。

分数:250

问题名称:quad

输入格式:

  • 第1行:一个单独的整数:N

输入样例(file quad.in):

6

输入说明:这个板子的长度是6。

输出格式:

  • 第1行:一个单独的整数表示切割方案数。

输出样例:

6

输出说明:

农夫约翰有10种方法切割木板:

(1,1,1,3);(1,1,2,2);(1,1,3,1);(1,2,1,2);(1,2,2,1);

(1,3,1,1);(2,1,1,2);(2,1,2,1);(2,2,1,1);(3,1,1,1).

但是其中的4种--(1,1,1,3),(1,1,3,1),(1,3,1,1),(3,1,1,1)是不能构成篱笆的。

思路:

方法一:排列组合。

  首先,我们可以考虑用f[i]来表示当前用了长度为i时的方案数。。 
但是根本行不通qwq。所以因该运用补集的思想来转化一下。当总长度为k的时候,很明显总方案数是C(n-1,3)就是在n-1个点中选出3个点来切;然后考虑不合法的情况即当最长边长度大于总长度的一半。我们可以枚举不合法的最长边长度然后再次运用排列组合的方法来求解,即C(n-1-t,2),其中t是枚举的长度。这里容易忽略一个条件就是枚举出来的那条边可以插在求解出的情况的中间或两边,所以应该减去4*C(n-1-t,2)即可。

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
long long n;
int main(){
freopen("quad.in","r",stdin);
freopen("quad.out","w",stdout);
scanf("%lld",&n);
long long ans=(n-)*(n-)*(n-)/;
long long temp=;
long long mod=n%;
for(int i=(n/)+mod;i<=n-;i++)
ans-=(n-i-)*(n-i-)*;
printf("%lld",ans);
return ;
}

方法二:动规

用f[i][j]表示前i块木板长度和为j的方案

构成四边形的条件是三边和大于第四边

也就是任意一条边的长度都是小于边长之和的一半

#include<iostream>
#include<cstdio>
using namespace std;
int n,mx;
int f[][];
int main(){
f[][]=;
scanf("%d",&n);
int mx=(n+)/-;
for(int i=;i<=;i++)
for(int j=;j<=n;j++)
for(int k=;k<=min(mx,j);k++)
f[i][j]+=f[i-][j-k];
printf("%d",f[][n]);
return ;
}
 

cogs 184. [USACO Oct08] 搭建篱笆的更多相关文章

  1. cogs 186. [USACO Oct08] 牧场旅行 树链剖分 LCA

    186. [USACO Oct08] 牧场旅行 ★★☆   输入文件:pwalk.in   输出文件:pwalk.out   逐字节对比时间限制:1 s   内存限制:128 MB n个被自然地编号为 ...

  2. 186. [USACO Oct08] 牧场旅行

    186. [USACO Oct08] 牧场旅行(点击转到COGS) 输入文件:pwalk.in   输出文件:pwalk.out 时间限制:1 s   内存限制:128 MB 描述 n个被自然地编号为 ...

  3. 185. [USACO Oct08] 挖水井

    185. [USACO Oct08] 挖水井(点击转到COGS) 输入文件:water.in   输出文件:water.out   时间限制:1 s   内存限制:128 MB 描述 农夫约翰决定给他 ...

  4. COGS 163 [USACO Mat07] 牛语

    COGS 163 [USACO Mat07] 牛语 输入文件:latin.in   输出文件:latin.out   简单对比 时间限制:1 s   内存限制:128 MB 奶牛们听说猪发明了一种秘密 ...

  5. 186. [USACO Oct08] 牧场旅行 (第三次考试大整理)

    186. [USACO Oct08] 牧场旅行 输入文件:pwalk.in   输出文件:pwalk.out   简单对比 时间限制:1 s   内存限制:128 MB n个被自然地编号为1..n奶牛 ...

  6. 185.[USACO Oct08] 挖水井 (第三次考试大整理)

    185. [USACO Oct08] 挖水井 输入文件:water.in   输出文件:water.out   简单对比 时间限制:1 s   内存限制:128 MB 农夫约翰决定给他的N(1< ...

  7. Cogs 309. [USACO 3.2] 香甜的黄油 dijkstra,堆,最短路,floyd

    题目:http://cojs.tk/cogs/problem/problem.php?pid=309 309. [USACO 3.2] 香甜的黄油 ★★   输入文件:butter.in   输出文件 ...

  8. COGS 144. [USACO Dec07] 魅力手镯【01背包复习】

    144. [USACO Dec07] 魅力手镯 ★   输入文件:charm.in   输出文件:charm.out   简单对比 时间限制:1 s   内存限制:8 MB 译 by CmYkRgB1 ...

  9. COGS——T1588. [USACO FEB04]距离咨询

    http://cogs.pro/cogs/problem/problem.php?pid=1588 ★★   输入文件:dquery.in   输出文件:dquery.out   简单对比时间限制:1 ...

随机推荐

  1. 大话html5应用与app应用优缺点

    在这个app横飞的年代,对于整个产品研发团队来讲,高速的迭代,爆炸式的功能追加已经成为了互联网行业的时代标签,以小时甚至分钟为单位的进度度量成为了常态.在这个市场大环境下,浪里淘沙的不单单是商业模式. ...

  2. Where to Store your JWTs – Cookies vs HTML5 Web Storage--转

    原文地址:https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage Update 5/12/20 ...

  3. java9新特性-11-String存储结构变更

    1. 官方Feature JEP254: Compact Strings 2. 产生背景 Motivation The current implementation of the String cla ...

  4. 【DNN 系列】 DNN是什么

    DNN平台 这个DNN平台是一个开放的.可扩展的.安全的.可扩展的内容管理系统和ASP.NET.世界各地的数十万商户,从地方小企业到全球1000强企业,取决于DNN平台作为他们网站的编辑环境. 这个网 ...

  5. 虚拟主机TOMCAT配置

    在tomcat中添加虚拟主机: 编辑"tomcat\conf\server.xml",在"<Engine></Engine>"元素中新加 ...

  6. mysql语句判断一天操作记录的个数

    话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添加的文章总数并且按照时间从大到小排序,则查询语句如下: 1    select ...

  7. CentOS 7.4 安装 网易云音乐

    CentOS 7.4 安装 网易云音乐 本文包含: 安装dnf 编译gcc 5.4.0 安装各种包 安装网易云音乐贯穿全局; 安装环境: CentOS 7.4, kernel3.10.0, gcc4. ...

  8. 四、YOLO-V1原理与实现(you only look once)

    可以看成图像分类与定位的结合,给定一张图片,目标检测系统要能够识别出图片的目标并给出其位置,由于图片中目标数是不定的,且要给出目标的精确位置,目标检测相比分类任务更复杂.目标检测的一个实际应用场景就是 ...

  9. [笔记-统计学习方法]感知机模型(perceptron) 原理与实现

    前几天认把感知机这一章读完了,顺带做了点笔记 现在把笔记做第三次的整理 (不得不说博客园的LaTex公式和markdown排版真的不太舒服,该考虑在服务器上建一个博客了) 零.总结 适用于具有线性可分 ...

  10. [NOIP2014提高组]联合权值

    题目:洛谷P1351.Vijos P1906.codevs3728.UOJ#16. 题目大意:有一个无向连通图,有n个点n-1条边,每个点有一个权值$W_i$,每条边长度为1.规定两个距离为2的点i和 ...