数学——A. K-divisible Sum + D. Exam in MAC
A. K-divisible Sum
题目:


思路:
以下 “[xxx]” 符号均代表向上取整
我们假设总和是sum,那么就有sum = k * cnt
要想最大值最小,肯定是要让sum尽可能小,这样每个元素都能变小
最小情况是 sum 恰好等于 n 时,此时有 n <= k * cnt
则 cnt 满足 cnt >= [n / k],当其取最小值时,sum有最小
此时既然我们知道sum的最小值了,那我们来探讨一下数组中最大值的最小值应该是多少
显然最小值应该是 [sum / n],所以我们便可写出代码了
代码:
#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "YES\n"
#define no cout << "NO\n"void solve()
{int n, k;cin >> n >> k;int cf = (k + n - 1)/ k;cout << (cf * k + n - 1) / n << endl;
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}
D. Exam in MAC
题目:


思路:
这题让我们选出满足题意的(x,y)数对,首先看数据,居然高达1e9,那么显然不能直接暴力枚举
这题要以反向的思路来求,因为满足的很多,但是不满足的很少
那我们先什么都不考虑,我们的数对有多少种选择呢?(无重复)
显然是 (c+1 +1) * (c+1) / 2 种,为什么?
当 x 选 0 时,y 可以选 c + 1种,当 x 选 1 时,y 可以选 c 种,以此类推,最后发现这是一个等差数列,那么直接求和就是以上公式了
接下来我们考虑不符合的
首先考虑 x + y ∈ s
也就是对于任意的 s[i],要使得 x + y = s[i],一共有多少种选择?
其实和上述一样的思路,这里的答案是 s[i] / 2 + 1 种(因为还有0)
接下来考虑 y - x ∈ s
对于 y - x = s[i],也就是 y = s[i] + x,可以看出 y 的取值范围是 s[i] <= y <= c,那么显然,对于范围内任选一个数,都有唯一确定的 x 与其对应,所以这里的答案是 c - s[i] + 1
那么到这就结束了吗?显然没有,因为还有可能这些情况中还有两种情况都符合的情况
那么根据容斥原理,我们只需要求出两种情况都符合的情况,然后减去即可
那么我们来看看如何计算呢,首先有以下式子
x + y = s[i] 且 y - x = s[j],其中 s[i] 可以等于 s[j],那么显然对于这个二元一次方程,我们可以解出对于 s[i] 和 s[j] 这种情况的唯一解,但是要注意,s[i] 与 s[j] 的奇偶性一定要相同,否则解不是整数,所以我们只需要统计 s 中的奇数和偶数就行了,那接下来算一下他们的奉献
对于任意奇偶,其奉献是 even/odd * (even/odd + 1) / 2,这其实和上面一样,自己草稿纸上也能写出来
至此题目分析完毕,还是比较简单的,将复杂变简单
代码:
#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "YES\n"
#define no cout << "NO\n"void solve()
{int n, c;cin >> n >> c;vector<int> s(n);for (int i = 0; i < n; i++){cin >> s[i];}int ans = 1LL * (c + 1) * (c + 2) / 2LL;int even = 0, odd = 0;for (int i = 0; i < n; i++){ans -= s[i] / 2LL + 1;ans -= c - s[i] + 1LL;if (s[i] % 2)odd++;elseeven++;}ans += 1LL * even * (even + 1) / 2LL;ans += 1LL * odd * (odd + 1) / 2LL;cout << ans << endl;
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}
相关文章:
数学——A. K-divisible Sum + D. Exam in MAC
A. K-divisible Sum 题目: 思路: 以下 “[xxx]” 符号均代表向上取整 我们假设总和是sum,那么就有sum k * cnt 要想最大值最小,肯定是要让sum尽可能小,这样每个元素都能变小 最小情况是 sum 恰好等于 n 时&#…...
30天学习Java第五天——数组 字符串
数组 一维数组 定义 int[] anArray;int anOtherArray[];初始化int anOtherArray[] new int[] {1, 2, 3, 4, 5}; 访问 anArray[0] 10;可变数组:void varargsMethod(String... varargs) {} 该方法可以接收任意数量的字符串参数,可以是 0 个或者 N 个…...
【DeepSeek应用】本地部署deepseek模型后,如何在vscode中调用该模型进行代码撰写,检视和优化?
若已成功在本地部署了 DeepSeek 模型(例如通过 vscode-llm、ollama 或私有 API 服务),在 VS Code 中调用本地模型进行代码撰写、检视和优化的完整流程如下: 1. 准备工作:确认本地模型服务状态 模型服务类型: 若使用 HTTP API 服务(如 FastAPI/Flask 封装),假设服务地址…...
2025年【广东省安全员C证第四批(专职安全生产管理人员)】考试及广东省安全员C证第四批(专职安全生产管理人员)模拟试题
安全生产是各行各业不可忽视的重要环节,特别是在广东省这样的经济大省,安全生产的重要性更是不言而喻。为了确保安全生产管理人员具备足够的专业知识和实际操作能力,广东省定期举办安全员C证考试。本文将详细介绍2025年广东省安全员C证第四批…...
网络编程、URI和URL的区别、TCP/IP协议、IP和端口、URLConnection
DAY12.1 Java核心基础 网络编程 在互联网时代,网络在生活中处处可见,javaWeb占据了很大一部分 那如何实现javaWeb编程呢? Web编程就是运行在同一个网络下面的终端,使得它们之间可以进行数据传输 计算机网络基本知识 计算机网络…...
JAVA面试_进阶部分_Java JVM:垃圾回收(GC 在什么时候,对什么东西,做了什么事情)
在什么时候: 首先需要知道,GC又分为minor GC 和 Full GC(major GC)。Java堆内存分为新生代和老年代,新生代 中又分为1个eden区和两个Survior区域。 一般情况下,新创建的对象都会被分配到eden区ÿ…...
自探索大语言模型微调(一)
一、数据 1.1、失败案例 Hugging Face: 根据B站上搜索到的资料,datasets这个库可以直接下载丰富的数据集合和与训练模型,调用也非常的简单,唯一的缺点就是,需要外网(翻墙),用国内的…...
Unity 和 Python 的连接(通过SocketIO)附源码
在游戏或者项目开发中,Unity 通常用于创建前端,而 Python 则因其强大的数据处理能力常被用作后端。通过 Socket.IO,我们可以轻松地实现 Unity 和 Python 的实时通信。本文将介绍如何通过 Socket.IO 连接 Unity 和 Python,并附上完…...
89.HarmonyOS NEXT 应用安全与隐私保护指南:构建安全可靠的应用
温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! HarmonyOS NEXT 应用安全与隐私保护指南:构建安全可靠的应用 文章目录 HarmonyOS NEXT 应用安全与隐私保护指南:构建安全可…...
浏览器对一个资源设置了缓存,如何清除缓存,且后续请求不命中缓存
方式1、浏览器端强制刷新 方式2、修改资源url eg:如下图,添加了查询参数 <link rel"stylesheet" href"style.css?v1.2.1"> <script src"app.js?t20231010"></script> 原理:1、在资源的…...
spring boot 发送邮件验证码
一、前置需求 1、准备邮箱 2、登录授权码 qq邮箱在–>设置–>账号POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启服务 二、发送邮件 1、简单邮件 包含邮件标题、邮件正文 2、引入mail启动器 <dependency><groupId>org.springframework.boot</groupI…...
MySQL连接较慢原因分析及解决措施
文章目录 整体说明一、问题现象二、问题分析2.1、DNS反向解析问题2.2、网络问题2.3、SSL/TLS协商问题2.4、自动补全的延迟 三、问题解决 摘要: MySQL连接较慢原因分析及解决措施 关键词: MySQL、连接缓慢、客户端、参数设置 整体说明 在使用MySQL的时候…...
IMA+DeepSeekR1+本地知识库撰写NOIP2008普及组T3【传球游戏】题解
目录 一、提问词 二、DeepSeekR1回复 题目描述 解题思路 实现代码 代码说明 三、说明 【IMADeepSeekR1本地知识库】撰写NOIP2008普及组复赛题解系列 1、IMADeepSeekR1本地知识库撰写NOIP2008普及组T1【ISBN 号码】题解-CSDN博客 2、IMADeepSeekR1本地知识库撰写NOIP200…...
【大模型基础_毛玉仁】2.5 基于 Decoder-only 架构的大语言模型 -- GPT和LLaMa模型介绍
更多内容:XiaoJ的知识星球 目录 2.5 基于 Decoder-only 架构的大语言模型2.5.1 Decoder-only 架构2.5.2 GPT 系列语言模型1)初出茅庐:GPT-1 模型2)小有所成:GPT-2 模型3)崭露头角:GPT-3 模型4&a…...
如何解决ChatGPTplus/pro o1/o3模型无法识别图片或者文件,限制次数?
你是否遇到ChatGPTplus无法识别图片、或者无法识别文件,甚至回答很简短,o1不思考,GPT-4o不能联网、分析图片和处理文件!感觉非常敷衍。本文教你如何确定自己的账号是否被降智;教你如何降智的原因;教你解决降…...
go的gmp
参考链接:https://www.bilibili.com/video/BV19r4y1w7Nx Golang的GMP调度模型(协程调度器)是其并发编程的核心。GMP代表Goroutine、Machine和Processor三个关键组成部分。Goroutine是Go语言中的轻量级线程,Machine是操作系统的线程,Processor…...
Vue开发者工具(VueDevtools)下载与安装
一、这里采用极简插件 网址:chrome.zzzmh.cn/index#/inde… 输入 vue.js.devtools并访问 点击推荐下载 下载到本地解压缩 然后把这个文件移动到谷歌插件里面,开启开发者模式 点击详情,开启一些权限 写的一个demo,如果有vue代码的话,就会…...
【C++基础十】泛型编程(模板初阶)
【C基础十】泛型编程—模板 1.什么是模板2.函数模板的实例化:2.1隐式实例化2.2显示实例化 3.函数模板参数的匹配规则4.什么是类模板5.类模板的实例化6.声明和定义分离 1.什么是模板 void swap(int& a, int& b) {int tmp 0;tmp a;a b;b tmp; }void swap…...
【Linux】https 协议
目录 一、https 协议 二、加密和解密 (一)为什么需要加密与解密 (二)加密和解密的过程 (二)常见的加密方式 1、对称加密 2、非对称加密 3、数据摘要 4、数字签名 三、https 的加密方式 ÿ…...
新手村:数据预处理-特征缩放
新手村:数据预处理-特征缩放 特征缩放(Feature Scaling)是数据预处理中的一个重要步骤,特别是在应用某些机器学习算法时。特征缩放可以使不同尺度的特征具有相同的量级,从而提高模型训练的效率和性能。常见的特征缩放方…...
Xinference大模型配置介绍并通过git-lfs、hf-mirror安装
文章目录 一、Xinference开机服务systemd二、语言(LLM)模型2.1 配置介绍2.2 DeepSeek-R1-Distill-Qwen-32B(大杯)工具下载git-lfs(可以绕过Hugging Face) 2.3 DeepSeek-R1-Distill-Qwen-32B-Q4_K_M-GGUF&am…...
Python游戏开发自学指南:从入门到实践(第四天)
Python不仅适用于数据分析、Web开发和自动化脚本,还可以用于游戏开发!虽然Python不是传统意义上的游戏开发语言,但其简洁的语法和丰富的库使其成为初学者学习游戏开发的绝佳选择。本文将为你提供一份全面的Python游戏开发自学指南,…...
0x04.若依框架微服务开发(含AI模块运行)
微服务本地开发硬件资源有限,所以会将核心微服务组件先部署在服务器上比如:mysql,redis,注册中心Nacos,网关Gateway,认证中心Auth和upms模块以及低代码生成模块。 mysql、redis部署前篇已讲,这…...
判断是不是二叉搜索树(C++)
目录 1 问题描述 1.1 示例1 1.2 示例2 2 解题思路 3 代码实现 4 代码解析 4.1 中序遍历函数 inorder 4.2 主函数 isValidBST 初始化及中序遍历调用 4.3 检查数组中元素是否严格递增 4.4 返回验证结果 5 总结 1 问题描述 给定一个二叉树根节点,请你判断…...
Shell条件判断
一、使用if选择结构 if单分支的语法组成: if 条件测试;then 命令序列 fi if双分支的语法组成: if 条件测试;then 命令序列1 else 命令序列2 fi if多分支的语法组成: if 条…...
自动化爬虫drissionpage
自动化爬虫drissionpage官网 自动化测试框架:DrissionPage DrissionPage调用工具汇总 网络爬虫工具比较-DrissionPage、Selenium、Playwright...
Linux--gdb/cgdb
ok,我们今天学习gdb的安装和使用 调试器-gdb/cgdb使用 VS、VScode编写的代码一般都是release格式的,gdb 的格式一般是debug 换成debug模式命令 :-g gdb会记录最新的一条命令,直接回车就是默认执行该命令 一个调试周期下,断点…...
超精密工件小孔几何尺寸测量:自动化解决方案
下载链接:(最新版本)超精密工件小孔几何尺寸测量:自动化解决方案python脚本代码,可直接运行,内包含测试数据,亲测好用资源-CSDN文库 在现代制造业中,超精密工件的质量控制至关重要&a…...
Blender-MCP服务源码1-项目解读
Blender-MCP服务源码 有个大佬做了一个Blender-MCP源码,第一次提交代码是【2025年3月7号】今天是【2025年月15日】也就是刚过去一周的时间,所以想从0开始学习这个代码,了解一下大佬们的开发思路 1-核心知识点 1)第一版࿱…...
小程序配置
注册小程序账号和安装开发工具 参考文档:注册小程序账号和安装开发工具https://blog.csdn.net/aystl_gss/article/details/127878658 HBuilder新建项目 填写项目名称,选择UNI-APP,修改路径,点击创建 manifest.json 配置 需要分别…...
