1509 加长棒 

题目来源: CodeForces

基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题

 收藏

 关注

现在有三根木棒,他们的长度分别是a,b,c厘米。你可以对他们进行加长(不同的木棒可以增加不同的长度),他们总的加长长度不能超过L厘米。你也可以不对他们进行加长。

现在请你计算一下有多少种加长的方式使得他们能构成合法的三角形(面积非0)。

Input

单组测试数据。
共一行,包含4 个整数a,b,c,L (1≤a,b,c≤3*10^5, 0≤L≤3*10^5)。

Output

输出答案占一行。

Input示例

1 1 1 2

Output示例

4

参考了这位大神代码:

https://www.cnblogs.com/zyb993963526/p/6718933.html

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<vector>
#include<queue>
#include<cmath>
using namespace std;

typedef long long LL;

LL a,b,c,l;

LL solve(LL a,LL b, LL c, LL l)  //设c为最大边
{
    LL cnt=0;
    for(int z=0;z<=l;z++)
    {
        LL x=min(c+z-a-b,l-z);
        if(x>=0)  cnt+=(x+1)*(x+2)/2;
    }
    return cnt;
}

int main()
{
    //freopen("D:\\input.txt","r",stdin);
    while(~scanf("%lld%lld%lld%lld",&a,&b,&c,&l))
    {
        LL ans=(l+1)*(l+2)*(l+3)/6;
        ans-=solve(a,b,c,l);
        ans-=solve(a,c,b,l);
        ans-=solve(b,c,a,l);
        printf("%lld\n",ans);
    }
}

转载于:https://www.cnblogs.com/linruier/p/9865348.html

51 Nod 1509 加长棒(巧妙的隔板法计数)相关推荐

  1. 51nod 1509 加长棒 插板法

    现在有三根木棒,他们的长度分别是a,b,c厘米.你可以对他们进行加长(不同的木棒可以增加不同的长度),他们总的加长长度不能超过L厘米.你也可以不对他们进行加长. 现在请你计算一下有多少种加长的方式使得 ...

  2. 51 nod 1427 文明 (并查集 + 树的直径)

    1427 文明 题目来源: CodeForces 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 安德鲁在玩一个叫"文明"的游戏.大妈正在 ...

  3. 51 nod 1405 树的距离之和

    1405 树的距离之和 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给定一棵无根树,假设它有n个节点,节点编号从1到n, 求任意两点之间的距离(最短路径)之和. ...

  4. 51 nod 1439 互质对(Moblus容斥)

    1439 互质对 题目来源: CodeForces 基准时间限制:2 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 有n个数字,a[1],a[2],-,a[n].有一个集合,刚开 ...

  5. [STL乱搞]51 Nod——1573 美丽的集合

    [STL乱搞]51 Nod--1573 美丽的集合 题目梗概 在多重集之中,同一个元素可以出现多次. 我们现在有n个多重集合,第i个集合最开始都有一个元素ai(1≤i≤n). 定义多重集合的价值为子集 ...

  6. sql相同顺序法和一次封锁法_数学专题 | Ep01 隔板法的妙用

    数学专题(一)  隔板法的妙用 浓度常见哪些问题? 排列组合分堆?涂色?到底掌握透彻了吗? 解析几何与韦达定理? 公式总是记不住?应用题还不会解? 除了写作(写作听我的).逻辑(逻辑说)专题外,本周起 ...

  7. 排列组合中关于捆绑法、插空法、插隔板法

    捆绑法:当要求某几个元素必须相邻(挨着)时,先将这几个元素看做一个整体,(比如:原来3个元素,整体考虑之后看成1个元素)然后将这个整体和其它元素进行考虑.这时要注意:一般整体内部各元素如果在前后顺序上 ...

  8. 4002 构造数组(可重复组合数问题--隔板法)

    1. 问题描述: 现在需要构造一对数组 (a,b),要求: 数组 a 和数组 b 的长度都为 m: 两个数组中的元素的取值范围都是 [1,n]: ∀i∈[1,m],ai ≤ bi: 数组 a 中元素非 ...

  9. 组合数学之隔板法:多元一次方程组解的统计

    1. 内容 讨论多元一次不定方程: x 1 + x 2 + . . . + x d = t x_1 + x_2 + ... + x_d = t x1​+x2​+...+xd​=t有解的情况 隔板法求解 ...

最新文章

  1. 深度学习 | GAN模式崩溃的理论解释
  2. luanet更名为distri.lua
  3. git 撤销刚才的rebase_git rebase 的使用 (用于撤销某次commit)
  4. 在 asp.net mvc中的简单分页算法 (续)
  5. 互联网造富亲历者讲述:屌丝富了以后
  6. [WPF Bug清单]之(4)——点击RadioButton的空白没有反应
  7. 解决CocosCreator 在微信小游戏中使用Socket.io 报错的问题
  8. 零基础学python还是c语言-学习汇编还是学习python,自己刚学完C语言,学习那个好呢?...
  9. 汽车用组合仪表设计规范
  10. TeamTalk部署详细教程(最全最新TeamTalk部署教程助你一次部署成功)
  11. matlab pi控制编程,增量式PI控制算法的MATLAB仿真.doc
  12. 如何使用solidworks对产品打螺孔--问题解决
  13. 使用mentohust解决ubuntu下校园网无法连接
  14. python数据分析模型建立_一个完整的数据分析案例 | 用Python建立客户流失预测模型(含源数据+代码)...
  15. 管理类研究生MBA、MPA、MEM、MPAcc
  16. python弹性碰撞次数圆周率_碰撞出来的圆周率(一)
  17. JAVA-广联达-小朋友站队问题
  18. 一名普通22届本科毕业生|前端程序员|22年年终总结
  19. pip安装报错ValueError: check_hostname requires server_hostname
  20. 关于计算机的知识和发明家,计算机历史发展历程中国历史上最牛的三大发明家是谁?...

热门文章

  1. Seata 1.4.0 重磅发布
  2. 星辰大海:阿里数据体验技术揭秘!
  3. 一个游戏美术写给策划的快速入门(二)
  4. 《动森》里那些看不见的声音设计
  5. 游戏设计模式思考:“穿越火线”中的“策略模式”
  6. Live Wallpaper HD for Mac(天气动态壁纸软件)
  7. Ubuntu与Mint哪个好?Linux运维发行版本推荐!
  8. SpringMVC常见面试题(5个最常见面试题,回答超详细)
  9. 【实施工程师之家】linux安装tomcat(yum安装tomcat)
  10. Nginx与Tomcat区别