首页 > 其他分享 >C. Count Triangles

C. Count Triangles

时间:2024-07-11 11:08:32浏览次数:17  
标签:Count pmt 遍历 ll pos ans 三角形 Triangles

原题链接

题解

我们知道,三角形成立的条件是任意两边之和都要大于第三边,因为这里已经明确了三条边的大小关系,即 \(x\leq y\leq z\)

所以,该三角形成立的条件是 \(x+y>z\)
看到 \(5e5\) 我们不难想到遍历其中某条边的长度
这里我遍历的是 \(y\)
遍历 \(y\),找到最小的 \(x\) 使得至少存在一个 \(z\) 使得三角形合法
然后 \(x\) 每加一,合法的 \(z\) 个数就加一,所以我们预处理每加一个 \(x\) ,合法的 \(z\) 的总数

code

#include<bits/stdc++.h>
#define ll long long
using namespace std;

ll pmt[500045]={0};
void solve()
{
    ll a,b,c,d;
    cin>>a>>b>>c>>d;
    ll len=d-c+1;
    for(ll i=1;i<=5e5+2;i++)
    {
        pmt[i]=pmt[i-1]+min(i,len);
    }

    ll ans=0;

    for(ll i=b;i<=c;i++)
    {
        ll pos=c+1LL-i;
        if(pos<=b)
        {
            if(pos>=a) ans+=pmt[b-pos+1];
            else ans+=pmt[b-pos+1]-pmt[a-pos];
        }
    }

    cout<<ans;
}
int main()
{

    int t=1;
    //cin>>t;
    while(t--) solve();
    return 0;
}


标签:Count,pmt,遍历,ll,pos,ans,三角形,Triangles
From: https://www.cnblogs.com/pure4knowledge/p/18295652

相关文章

  • [题解] [ABC221H] Count Multiset - DP
    [ABC221H]CountMultiset题面翻译输入两个正整数\(N,M\),并存在一个集合,问你一个长度为\(k\)的合法集合存在多少个?你需要回答\(k\)的值为\(1\)到\(N\)的每种情况。一个合法的集合定义指长度为\(k\),元素和为\(N\),每一个数字在集合中出现的次数都小于等于\(M\)的集......
  • 解析Count函数
    #count(*),count(主键),count(字段)和count(1)有什么区别?哪个性能最好?绝对不是count(*)最慢!哪种count性能最好?我先直接说结论:要弄明白这个,我们得要深入count的原理,以下内容基于常用的innodb存储引擎来说明。count()是什么?count()是一个聚合函数,函数的参数不......
  • 【转】-Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
    Java并发编程:CountDownLatch、CyclicBarrier和Semaphore该博客转载自​Matrix海子​的​Java并发编程:CountDownLatch、CyclicBarrier和Semaphore在java1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下......
  • 【转】-Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
    Java并发编程:CountDownLatch、CyclicBarrier和Semaphore该博客转载自​Matrix海子​的​Java并发编程:CountDownLatch、CyclicBarrier和Semaphore在java1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下......
  • 【转】-CountDownLatch详解
    CountDownLatch详解该博客转载自​爱宝贝丶的​CountDownLatch详解1.简介CountDownLatch中countdown是倒数的意思,latch则是门闩的含义。整体含义可以理解为倒数的门栓,似乎有一点“三二一,芝麻开门”的感觉。CountDownLatch的作用也是如此,在构造CountDownLatch的时候需要传入......
  • 思考 Count The Repetitions,谈谈对 T2乒乒球的认识
    思考什么什么不写题意共记录了\(n\)颗球胜负关系,给出\(n\)和其长度为\(k\)的循环节,求最终比分。思路首先特判答案为\(0:0\)的情况:循环节与AB或ABBA同构。然后暴力找比分的周期,因为令任意位置作为一局起点时该局终点唯一,反之亦然,所以复杂度\(O(\left|state\ri......
  • LDAP 用户帐户控制 UserAccountControl 详解
    属性标志十六进制值十进制值属性标志说明SCRIPT0x00011将运行登录脚本ACCOUNTDISABLE0x00022已禁用用户帐户HOMEDIR_REQUIRED0x00088需要主文件夹LOCKOUT0x001016 PASSWD_NOTREQD0x002032无需密码PASSWD_CANT_CHANGE0x004064用户无法更改......
  • [UVM]IC验证自动结束仿真函数——uvm_top.set_timeout/set_report_max_quit_count
    Title:[UVM]IC验证自动结束仿真函数——uvm_top.set_timeout/set_report_max_quit_count文章目录1-前言2-uvm_top.set_timeout3-set_report_max_quit_count4-运用5-小结1-前言​数字IC验证过程中,需要运行不同Testcase,有些TC会因为TC配置、TB机制等原因,导致m......
  • SQL Server 实现类似CountIF的函数
    需求说明:我有一个客户表,还有一个客户的体验记录表,我需要汇总客户体验信息如下:客户名称,本周体验次数,本月体验次数,本年度体验次数,累计体验次数,首次体验时间,最近体验时间 信息,如何用一个SQL语句搞定:COUNT函数官方说明:指定COUNT返回唯一非Null值的数量。所以变相实现如下:S......
  • E. Final Countdown
    原题链接题解由于数位很大,所以要朝着数位方向想,对于从左到右数第\(i\)位,其贡献为\([1,i-1]\)位组成的数字*10+\(s_i\),等于\([1,i]\)区间放到了答案的\([n-i+1,n]\)code#include<bits/stdc++.h>usingnamespacestd;inta[400005]={0};intmain(){intt;......