Codeforces Round #643 (Div. 2) C. Count Triangles (数学公式)

- 题意:给你四个正整数\(A,B,C,D\),且\(A\le B\le C \le D\),有\(A\le x\le B\le y\le C \le z\le D\),求最多有多少组\((x,y,z)\)能构成三角形. 
- 题解:这题数据范围最大是\(5*10^5\),所以我们肯定不能枚举\(x,y\),但是由于题目限定我们知道: - x+z>y |||||| y+z>x -  所以以上两种情况恒成立,我们只要看\(x+y>z\)的情况,我们可以枚举\(x+y\). - 设\(x+y=m\),先求出\((x,y)\)有多少种组合,然后再计算\(z\)的情况,即\([C,m-1]\)的个数,二者相乘即可. - 因为:\(B\le y \le C\) || \(y=m-x\), 所以得出:\(m-c\le x \le m-B\) || \(A\le x \le B\). - 然后对\(x\)的区间取交集,取完后的区间长度就是\((x,y)\)的组合数. - 最后要注意空集的情况即可. 
- 代码: - #include <iostream>
 #include <cstdio>
 #include <cstring>
 #include <cmath>
 #include <algorithm>
 #include <stack>
 #include <queue>
 #include <vector>
 #include <map>
 #include <set>
 #include <unordered_set>
 #include <unordered_map>
 #define ll long long
 #define fi first
 #define se second
 #define pb push_back
 #define me memset
 const int N = 1e6 + 10;
 const int mod = 1e9 + 7;
 using namespace std;
 typedef pair<int,int> PII;
 typedef pair<long,long> PLL; ll a,b,c,d;
 ll ans; int main() {
 ios::sync_with_stdio(false);cin.tie(0);
 cin>>a>>b>>c>>d;
 for(ll i=a+b;i<=b+c;++i){
 ll res1=min(i-b,b)-max(i-c,a)+1;
 ll res2=min(d,i-1)-c+1;
 if(res1<0 || res2<0) continue;
 ans+=res1*res2;
 }
 printf("%lld\n",ans); return 0;
 }
 
Codeforces Round #643 (Div. 2) C. Count Triangles (数学公式)的更多相关文章
- Codeforces Round #643 (Div. 2)(C ~ E)
		C. Count Triangles 题目链接 : https://codeforces.com/contest/1355/problem/C 题目大意 : 给你 A , B , C , D 问有多少 ... 
- Codeforces Round #643 (Div. 2) 题解 (ABCDE)
		目录 A. Sequence with Digits B. Young Explorers C. Count Triangles D. Game With Array E. Restorer Dist ... 
- Codeforces Round #643 (Div.2)
		前言:这套cf我感觉出的很不错,AB就不说了,唯一有点欠缺的就是C和D的位置应该换一下,C出的挺不错,反正我当时没有想出来(赛后补题的时候其实也不难..听朋友说还可以FFT优化,然而我是个图论手并不会 ... 
- Codeforces Round #309 (Div. 1) C. Love Triangles dfs
		C. Love Triangles Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/553/pro ... 
- Codeforces Round #258 (Div. 2) D. Count Good Substrings 水题
		D. Count Good Substrings 题目连接: http://codeforces.com/contest/451/problem/D Description We call a str ... 
- Codeforces Round #258 (Div. 2) D. Count Good Substrings —— 组合数学
		题目链接:http://codeforces.com/problemset/problem/451/D D. Count Good Substrings time limit per test 2 s ... 
- Codeforces Round #643 (Div. 2) B. Young Explorers (思维,贪心)
		题意:给你一组人\(a\),现在要将这些人进行分组,对于\(i\),只有某一组的人数\(\ge a_{i}\)时,\(i\)才可以加入这个组,问最多能够有多少组,(不必将所有人都选用). 题解:我们将 ... 
- Codeforces Round #643 (Div. 2)  E. Restorer Distance   (贪心,三分)
		题意:给你\(n\)个数,每次可以使某个数++,--,或使某个数--另一个++,分别消耗\(a,r,m\).求使所有数相同最少的消耗. 题解:因为答案不是单调的,所以不能二分,但不难发现,答案只有一个 ... 
- Codeforces Round #643 (Div. 2) D. Game With Array (思维,构造)
		题意:给你两个正整数\(N\)和\(S\),构造一个长度为\(N\)并且所有元素和为\(S\)的正整数数组,问是否能找到一个\(K (0\le K \le S)\)使得这个数组的任意_子数组_的和都不 ... 
随机推荐
- Can't locate CPAN.pm in @INC
			[root@test]# perl -MCPAN -e 'install DBD::mysql'Can't locate CPAN.pm in @INC (@INC contains: /usr/lo ... 
- 【System】I/O密集型和CPU密集型工作负载之间有什么区别
			CPU密集型(CPU-bound) CPU密集型也叫计算密集型,指的是系统的硬盘.内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/ ... 
- 【IMPDP】ORA-31655
			出现ora-31655错误的情况是因为不是同一个schema,导致的问题产生 解决的方法; 在导入语句最后添加上remap_schema=old:new 着old是原schema,也就是导出的用户名, ... 
- kubernets之机理概览
			一 了解kubernets的运行机理 1.1 了解架构 众所周知,kubernets的组成由2个部分组成 kubernets 平面 node节点 (工作节点) 控制平面的组成 etcd 分布 ... 
- Redis中哈希分布不均匀该怎么办
			前言 Redis 是一个键值对数据库,其键是通过哈希进行存储的.整个 Redis 可以认为是一个外层哈希,之所以称为外层哈希,是因为 Redis 内部也提供了一种哈希类型,这个可以称之为内部哈希.当我 ... 
- 使用.net中的API网关模式封装微服务
			在本文中,我们将了解如何使用API网关模式来封装微服务并抽象出底层实现细节,从而允许使用者拥有进入我们系统的一致入口点. 为了构建和测试我们的应用程序,我们需要: 1.Visual Studio 20 ... 
- 一步步使用SpringBoot结合Vue实现登录和用户管理功能
			前后端分离开发是当今开发的主流.本篇文章从零开始,一步步使用SpringBoot结合Vue来实现日常开发中最常见的登录功能,以及登录之后对用户的管理功能.通过这个例子,可以快速入门SpringBoot ... 
- day132:2RenMJ:MJ需求文档&MJ游戏流程&Egret白鹭引擎安装&TypeScript简要介绍
			目录 1.麻将产品需求文档 2.麻将游戏流程 3.Egret白鹭引擎 4.TypeScript简要了解 5.TypeScript快速入门 1.麻将产品需求文档 1.麻将术语 1.名词术语 牌⼦: 序数 ... 
- LOJ10163 Amount of Degrees
			题目描述 求给定区间 [X,Y] 中满足下列条件的整数个数:这个数恰好等于 KK 个互不相等的 BB 的整数次幂之和.例如,设 X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意 输入格 ... 
- SpringMVC听课笔记(十二:文件的上传)
			1.Spring MVC为文件上传提供了直接的支持,这种支持是通过即插即用的MultipartResolver实现的.Spring用Jakarta Commons FileUpload技术实现了一个M ... 
