C. Count Triangles
题解
我们知道,三角形成立的条件是任意两边之和都要大于第三边,因为这里已经明确了三条边的大小关系,即
所以,该三角形成立的条件是
看到
这里我遍历的是
遍历
然后
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;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!