Codeforces Round 932 (Div. 2)D. Exam in MAC 正难则反,容斥,对顺序求一些值

Problem - D - Codeforces

目录

题意:

思路:

总的对数:

x+y==ai:

y-x == ai:

两个都不符合:

参考代码:


题意:

给你一个n个数的集合a,和整数c

求0~c中有多少对x,y的组合可以使得x+y与y-x都不出现在集合a中。

思路:

我们可以求出总的对数,减去不合法数即可。

由于有两个不合法的条件,我们可以使用*容斥* (减去任意一个不合法的再加上两个都不合法的)

总的对数:

//0 : c+1        x为0时,y可以是0~c的任意一个,有c+1种
//1 : c
//c : 1
// (c+2)*(c+1)/2

x+y==ai:

//1   ai-1 
//2   ai-2

//...
// 一共 ai/2 对

(如ai == 7 :
//1+6, 2+5, 3+4  

3种,7/2 == 3 ,下取整

y-x == ai:

ai       0

ai+1   1

...

c         (c-ai)

一种 c-ai+1 对

两个都不符合:

 x+y == ai
 y-x == aj

解得:
 y = (ai+aj)/2
 x = (ai-aj)/2
必须是整数,所以ai+aj是偶数。同时ai也必定大于aj,x也满足。

但总数是多少呢?

其实就是看集合a中多少个奇数对和偶数对。

我们遍历的过程中就能求出来。

统计i之前有多少个奇数cnt1和偶数cnt2即可,a[ i ]是奇数就加cnt1种,偶数则cnt2种。

参考代码:

#define ll long long
#define endl "\n"
#define int long longvoid solve()
{int n, c;cin >> n >> c;vector<int>arr(n + 1);for (int i = 1; i <= n; i++)cin >> arr[i];//sort(arr.begin(), arr.end());ll ans = (c + 2) * (c + 1) / 2;int s1, s2,c1,c2,s3;s1 = s2 = s3 = 0;c1 = c2 = 0;for (int i = 1; i <= n; i++){s1 += arr[i]/2;s2 += c - arr[i] + 1;if (arr[i] % 2 == 0){s3 += c2;c2++;}else{s3 += c1;c1++;}}cout << ans-s1-s2+s3 << endl;
}
signed main()
{ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);int t = 1;cin >> t;while (t--){solve();}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/728295.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql案例之GROUP_CONCAT函数详解

Hello&#xff0c;大家好&#xff0c;我是灰小猿&#xff0c;一个超会写bug的程序员&#xff01; 今天这篇文章记录一个最近开发中遇到的mysql实战场景&#xff0c;觉得还挺典型的&#xff0c;就在此做一下记录。 先看一下举例场景&#xff1a; mysql中学生表与学科表通过关…

非线形优化 Matlab和Python (含01规划)

MATLAB&#xff1a;fmincon 在matlab中&#xff0c;一般使用fmincon来解决非线性优化问题 [x,fval,exitflag,output,lambda,grad,hessian]fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) 一般使用&#xff1a; [x,fval,exitflag]fmincon(fun,x0,A,b,Aeq,beq,lb,ub,non…

Python 和 Google Colab 从 Sentinel-3 图像下载并可视化地表温度和 NDVI

与 Sentinel-2 和 Landsat 等卫星的光学图像相比,下载和处理 Sentinel-3 图像,尤其是地表温度 (LST) 具有挑战性。这是由于存储数据的特定 NetCDF 格式造成的,并且 LST 值的正确投影需要一些额外的工作。在本教程中,我将在 Google Colab 环境中提供 Python 代码,以便于下载…

贪心算法详解与任务调度问题Demo

任务调度问题Demo 任务调度问题是一类常见的优化问题&#xff0c;其目标是在有限的时间内合理安排任务的执行顺序&#xff0c;以最大化任务的完成数量或满足其他优化目标。在这个Demo中&#xff0c;我们将考虑一个简化版的任务调度问题&#xff1a;有一系列任务&#xff0c;每个…

成为大佬之路--linux软件安装使用第000000032篇--linux docker安装文件系统

总体感受 能用&#xff0c;仅仅是能用&#xff0c;不太好用&#xff0c;ui略丑 安装 docker run -d --restart always -p 10018:8080 -v /Users/ascendking/sofewares/mikochi/data:/data -e DATA_DIR"/data" -e USERNAMEadmin -e PASSWORDadmin zer0tonin/mik…

Qt ini配置文件

ini文件用于保存用户的设置操作&#xff0c;下列以背景颜色设置为例子 暂时默认设置为白色背景 这段代码放置在主窗口的构造函数中&#xff0c;用于初始化读取ini文件 QString color;QSettings *set new QSettings("color.ini",QSettings::IniFormat);set->begi…

销售管理之反向与正向目标控制

在销售活动中&#xff0c;控制力是关键。但控制力其实分为两种&#xff1a;反向控制和正向控制。本文将深入探讨这两种控制方式&#xff0c;并阐述如何在销售活动中加以应用&#xff0c;以提升销售效果。 一、反向控制&#xff1a;以客户为中心&#xff0c;引导客户需求 反向控…

【智能家居入门1之环境信息监测】(STM32、ONENET云平台、微信小程序、HTTP协议)

作为入门本篇只实现微信小程序接收下位机上传的数据&#xff0c;之后会持续发布如下项目&#xff1a;①可以实现微信小程序控制下位机动作&#xff0c;真正意义上的智能家居&#xff1b;②将网络通讯协议换成MQTT协议再实现上述功能&#xff0c;此时的服务器也不再是ONENET&…

C++笔记(七)--- const

const关键字表示所修饰的变量或函数不可改变 C语言中const 1.const修饰的变量不可改变&#xff0c;故必须定义时初始化2.const修饰函数&#xff0c;表示函数返回值不可更改3.const修饰普通参数&#xff0c;表示参数不可修改4.const修饰的变量不可直接修改&#xff0c;但可以通…

浙大版《数据结构学习与实验指导(第2版)》符号配对

符号配对 题目链接 题目描述 请编写程序检查C语言程序中下列符号是否配对&#xff1a;/* 与 */,(与),[与],{与} 输入描述 输入为一个c语言程序的一部分。当读到某一行中只有一个句点“.”和一个回车时&#xff0c;标志着输入结束。程序中需要检查配对的符号不超过2000个。 输…

ChaosBlade故障注入工具--cpu,内存,磁盘占用\IO,网络注入等

前言&#xff1a; 本文介绍一款开源的故障注入工具chaosblade&#xff0c;该工具原本由阿里研发&#xff0c;现已开源&#xff1b;工具特点&#xff1a;功能强大&#xff0c;使用简单。 该工具故障注入包含&#xff1a;cpu&#xff0c;内存&#xff0c;磁盘io&#xff0c;磁盘…

Unity3D 立方体纹理与自制天空盒详解

前言 在Unity3D中&#xff0c;立方体纹理和自制天空盒是常见的技术&#xff0c;它们可以帮助开发者创建出更加真实和引人入胜的游戏场景。本文将详细介绍Unity3D中立方体纹理和自制天空盒的实现方法&#xff0c;希望能帮助读者更好地理解和运用这些技术。 对惹&#xff0c;这…

计算机网络:应用层知识点汇总

文章目录 一、网络应用模型二、域名系统&#xff08;DNS&#xff09;三、文本传输协议&#xff08;FTP&#xff09;四、电子邮件五、万维网和HTTP协议 一、网络应用模型 p2p也就是对等模型 二、域名系统&#xff08;DNS&#xff09; 我们知道&#xff0c;随着人们建立一个网站…

记一次systemd服务启动找不到Java命令

首先systemd服务文件 /etc/systemd/system/test.service(文件简化处理了) [Unit] Descriptiontest Afternetwork.target [Service] ExecStart/opt/test/bin/test_start.sh [Install] WantedBymulti-user.target其中启动命令ExecStart指向的是一个sh启动脚本&#xff0c; 脚本内…

UnityAPI的学习——Random类

Random类是Unity中用于产生随机数的类&#xff0c;不可实例化&#xff0c;只有静态属性和静态方法 Random类静态属性 在Random类中&#xff0c;涉及的静态属性有insideUnitCircle属性、insideUnitSphere属性、onUnitSphere属性、rotationUnitform属性、rotation属性和seed属性…

文生视频Sora模型发布,是否引爆AI芯片热潮

文生视频Sora模型发布&#xff0c;是否引爆AI芯片热潮 1. 引言 在人工智能的历史长河中&#xff0c;每一次技术的飞跃都伴随着社会生产力的巨大变革。自2015年以来&#xff0c;深度学习技术的突破性进展&#xff0c;尤其是在自然语言处理、图像识别和机器学习等领域的成功应…

海外IP代理应用:亚马逊使用什么代理IP?

代理IP作为网络活动的有力工具&#xff0c;同时也是跨境电商的必备神器。亚马逊作为跨境电商的头部平台&#xff0c;吸引了大量的跨境电商玩家入驻&#xff0c;想要做好亚马逊&#xff0c;养号、测评都需要代理IP的帮助。那么应该使用什么代理IP呢&#xff1f;如何使用&#xf…

vue el-avatar 使用require提示无法找到图片

报错信息 错误代码 问题分析 vue初始化DOM树时没有挂载数据,导致无法找到模块 解决方案

抖音商家短视频直播流量变现运营SOP地图

【干货资料持续更新&#xff0c;以防走丢】 抖音商家短视频直播流量变现运营SOP地图 部分资料预览 资料部分是网络整理&#xff0c;仅供学习参考。 抖音运营资料合集&#xff08;完整资料包含以下内容&#xff09; 目录 【提升短视频运营效率的专业指南】 高效运营&#xf…

Springboot实现获取@Value中同字符串从yml加载后的值

问题描述&#xff1a; 自定义注解&#xff0c;希望能够和Value注解使用一样的value值表达式格式从而动态的从yml中获取配置。做到见名知意 测试流程 yml配置 test:abc: aaaaValue注解获取值 Value("2222.kk.${test.abc}.111") private String test;获取自定注解…