牛客周赛Round 84
本场比赛难度不大,也是本人第一次AK,最后一题用组合数学+推公式,本篇博客主要讲解最后一题的思路

G-小红的陡峭值(五)(hard)_牛客周赛 Round 84


思路:本题要我们求p/q mod M ,即p*(q的逆),q为排列数,我们可以很容易得到,即 n!,但分子为所有排列的陡峭值之和,暴力做法肯定是不行的,于是我们可以通过绝对值的性质:若a2>a1,则|a1-a2|=|a2-a1|=a2-a1,先将数组a进行升序排序,我们可以计算a[i-1]a[i]这对相邻元素会出现在多少种不同的排列中,这里我们可以使用高中学的排列组合来计算,从n个元素中拿出去2个元素,还剩下n-2个元素,那么这n-2个元素就有(n-2)!种摆放方式,再将a[i-1]a[i]插入n-1个空中的任意一个,就可以得到a[i-1]a[i]在(n-2)!*(n-1)=(n-1)!个排列中做出了贡献,而a[i]a[i-1]的贡献与a[i-1]a[i]一样,那么我们要计算出(a[i]-a[i-1])+(a[i]-a[i-2])+(a[i]-a[i-3])+...+(a[i]-a[1])的和,那么这个式子化简一下就是(i-1)*a[i]-pre[i-1],最终我们得到的结果p/q= =
Code:
int n;int qmi(int a,int b)
{int res=1;while(b){if(b&1)res=res*a%mod;b>>=1;a=a*a%mod;}return res;
}
void solve()
{cin >> n;vector<int> v(n+1);for(int i=1;i<=n;i++) cin>>v[i];sort(v.begin()+1,v.end());vector<int> pre(n+1,0);for(int i=1;i<=n;i++) {pre[i]=(pre[i-1]+v[i]%mod)%mod;}int S=0;for(int i=1;i<=n;i++){int b=((v[i]%mod)*(i-1+mod)%mod)%mod;b=(b-pre[i-1]+mod)%mod;S=(S+b)%mod;}int num=(2*S)%mod;int inv=qmi(n,mod-2);int ans=num*inv%mod;cout<<ans<<endl;
}
相关文章:
牛客周赛Round 84
本场比赛难度不大,也是本人第一次AK,最后一题用组合数学推公式,本篇博客主要讲解最后一题的思路 G-小红的陡峭值(五)(hard)_牛客周赛 Round 84 思路:本题要我们求p/q mod M ,即p*&am…...
TDengine 配置 ODBC 数据源
简介 TDengine ODBC 是为 TDengine 实现的 ODBC 驱动程序,支持 Windows 系统的应用(如 PowerBI 等)以及用户自定义开发的应用程序,通过 ODBC 标准接口访问本地、远程和云服务的 TDengine 数据库。 TDengine ODBC 提供基于 WebSo…...
numpy常用函数详解
在深度神经网络代码中经常用到numpy库的一些函数,很多看过之后很容易忘记,本文对经常使用的函数进行归纳总结。 np.arange arange是numpy一个常用的函数,该函数主要用于创建等差数列。它的使用方法如下所示: numpy.arange([star…...
deepseek 3FS编译
3FS在ubuntu22.04下的编译(记录下编译过程,方便后续使用) 环境信息 OS ubuntu 22.04内核版本 6.8.0-52-genericlibfuse 3.16.1rust 1.75.0FoundationDB 7.1.66meson 1.0.0ninja 1.10.1 libfuse编译 以下建议均在root下执行 pip3 install…...
【CXX】6.2 str — rust::Str
Rust::Str 公共 API // rust/cxx.hclass Str final { public:Str() noexcept;Str(const Str &) noexcept;Str(const String &) noexcept;// 如果输入不是 UTF-8,抛出 std::invalid_argument 异常。Str(const std::string &);Str(const char *);Str(con…...
制作三维软件学习路线
制作三维软件是一项复杂而富有挑战性的任务,涉及多个领域的知识。下面是一个建议的学习路线,涵盖从基础到高级的知识和技能。你可以根据自己的背景和兴趣进行调整。 ### 1. 编程基础 - **学习编程语言**:C或Python是常用的语言,了…...
【RabbitMQ】事务
事务的简单配置及使用 配置事务管理器声明队列生产者代码测试 RabbitMQ是基于AMQP协议实现的,该协议实现了事务机制,因此RabbitMQ也支持事务机制. SpringAMQP也提供了对事务相关的操作.RabbitMQ事务允许开发者确保消息的发送和接收是原子性的,…...
常见的交换机端口类型
在计算机网络中,Access端口 和 Trunk端口 是两种常见的交换机端口类型,主要用于VLAN(虚拟局域网)的配置。它们的主要区别在于如何处理VLAN标签和数据帧。 1. Access端口 Access端口通常用于连接终端设备(如PC、打印机…...
Linux Shell 脚本编程极简入门指南
一、学习前提准备 ✅ 环境要求: Linux系统(Ubuntu/CentOS等)或 WSL (Windows用户) 任意文本编辑器(推荐VSCode/Vim) 基础命令行操作能力 🔍 验证环境: # 查看系统默认Shell echo $SHELL #…...
【医院管理会计专题】7.解锁本量利分析:医院医疗服务决策的智慧密码
医院成本核算、绩效管理、运营统计、内部控制、管理会计专题索引 一、引言 在当今医疗行业竞争日益激烈的背景下,医院管理面临着诸多挑战,如何实现高效运营、提升服务质量并控制成本成为关键问题。管理会计作为一种重要的管理工具,在医院管理中发挥着越来越重要的作用。本…...
Kotlin和Java区别
哈哈哈,前段时间,面试的时候,突然问到我Kotlin和Java的区别,一下子把我问懵逼了,确实没遇到问这个的,想了下,说了下Kotlin的编译时空检查机制,代码更简洁,很多封装好的AP…...
Taro 面试题
基础概念 1. Taro 是什么?它的核心特点有哪些? Taro 是京东开源的 多端统一开发框架,基于 React 语法,可编译到 微信小程序、H5、React Native 等多个端。 核心特点: 多端适配:一套代码运行多个端支持 …...
Java部署在window启动报unable tocreate tempdir
在Windows系统中,Java应用在运行时会试图在默认的临时目录中创建文件。该临时目录通常由系统环境变量TEMP或TMP指定。如果这些变量设置不正确、指向一个无效的路径,或者操作系统的权限不足,就会导致“Unable to create tempdir”错误。 解决…...
基于deepseek和开放题库,构建专业大模型微调在线答题系统
为什么要进行大模型微调 大模型微调是将预训练模型适配到特定任务或领域的关键技术,正常情况下大模型通过海量通用数据训练获得广泛知识,但其参数和表征空间面向通用场景,难以直接适配垂直领域或复杂任务。例如在通用医疗问答模型在具体病症诊…...
ios 小组件和数据共享
创建主工程就不必讲了 1 创建小组件 创建子工程 [new Target ] 选择 [ Widger Extension] 小组件入口是WidgetBundle文件,可以进行多个小组件的调试 TestWidget2文件是主要操作,小组件使用swiftUI布局,使用 AppIntent进行事件处理ÿ…...
LVTTL(Low Voltage Transistor-Transistor Logic)电平详解
一、LVTTL电平的定义与核心特性 LVTTL(低压晶体管-晶体管逻辑)是传统TTL(5V)的低电压版本,工作电压通常为3.3V,旨在降低功耗并适配现代低电压集成电路,同时保持与TTL的逻辑兼容性。其核心特点如…...
element tree树形结构默认展开全部
背景: el-tree树形结构,默认展开全部,使用属性default-expand-all【是否默认展开所有节点】;默认展开一级,设置default-expanded-keys【默认展开的节点的 key 的数组】属性值为数组。 因为我这里的数据第一级是四川【省…...
统计登录系统10秒内连续登录失败超过3次的用户
为防止暴力破解用户账号的行为,在输入账号和密码时一般都会限制用户尝试密码输出错误的次数,如果用户多次输错密码后,将在一段时间内锁定账号,常见的有银行类APP、个税App等应用,如下是用户账号密码输入错误的提示图&a…...
音视频软件工程师面试题
一、基础知识 编解码相关 H.264 和 H.265(HEVC)的主要区别是什么?视频编解码的基本流程是什么?关键技术有哪些?音频编解码(如 AAC、MP3、Opus)的区别和应用场景?什么是 B 帧、P 帧、I 帧?它们的作用是什么? 流媒体协议RTMP、HTTP-FLV、HLS、WebRTC 的区别和应用场景…...
架构师面试(十四):注册中心设计
问题 大家或多或少都接触过【注册中心】,对注册中心的基本功能,如:服务注册、服务发现、健康检查和变更通知 ,肯定是耳熟能详的;那么大家对注册中心的架构设计是否了解呢? 如果让你负责设计一个分布式的注…...
从0到1:Java+AI入门实战,看完直接上手项目
文章目录前言环境准备:别急着装Python,先把JDK升到21第一滴血:让Java程序说出"人话"进阶玩法:给AI装上"记忆"和"工具"让AI记住你们聊过啥让AI能查数据库、调接口实战项目:搭建私有知识库…...
3步搞定黑苹果配置:OpCore-Simplify自动化EFI构建终极指南
3步搞定黑苹果配置:OpCore-Simplify自动化EFI构建终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置头疼吗&…...
质子交换膜燃料电池Comsol完整版仿真模型:涵盖两相流非等温雾状流道、液态水相变及扩散项,考...
质子交换膜燃料电池仿真Comsol完整版 虽然氢电发文量多了,但是氢电模型复杂程度和别的领域没法比,两相流非等温的氢燃料电池,跑通的都得好几千的,这个模型的流道和内侧都是多相流,这个里面是雾状流的流道,目…...
5个技巧让Markdown Viewer成为你的浏览器文档中心
5个技巧让Markdown Viewer成为你的浏览器文档中心 【免费下载链接】markdown-viewer Markdown Viewer / Browser Extension 项目地址: https://gitcode.com/gh_mirrors/ma/markdown-viewer 还在为浏览器无法直接预览Markdown文档而烦恼吗?Markdown Viewer浏览…...
OpenClaw内存优化:Qwen3-32B-Chat在16G设备运行方案
OpenClaw内存优化:Qwen3-32B-Chat在16G设备运行方案 1. 为什么需要内存优化? 去年冬天,当我第一次尝试在16GB内存的MacBook Pro上运行Qwen3-32B-Chat模型时,系统几乎立即崩溃。这让我意识到,想要在资源有限的设备上运…...
w3x2lni技术指南:魔兽地图跨版本转换的实现与实践
w3x2lni技术指南:魔兽地图跨版本转换的实现与实践 【免费下载链接】w3x2lni 魔兽地图格式转换工具 项目地址: https://gitcode.com/gh_mirrors/w3/w3x2lni 技术原理:跨版本转换的底层架构 w3x2lni作为魔兽地图格式转换的专业工具,其核…...
Ostrakon-VL-8B模型剪枝与量化入门:降低部署资源消耗
Ostrakon-VL-8B模型剪枝与量化入门:降低部署资源消耗 想让大模型在普通电脑上跑起来?这听起来像是个遥不可及的梦想,尤其是对于Ostrakon-VL-8B这种参数规模不小的视觉语言模型。它功能强大,但随之而来的就是对GPU显存和算力的高要…...
SDMatte镜像结构解析:/opt/sdmatte-web与模型目录映射关系
SDMatte镜像结构解析:/opt/sdmatte-web与模型目录映射关系 1. SDMatte简介 SDMatte 是一款面向高质量图像抠图场景的 AI 模型,特别适合处理以下任务: 主体分离与提取透明物体抠图(玻璃、薄纱等)复杂边缘精修&#x…...
WSABuilds vs 官方WSA:性能测试与功能对比,谁才是安卓模拟器之王?
WSABuilds vs 官方WSA:性能测试与功能对比,谁才是安卓模拟器之王? 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) an…...
AI显微镜-Swin2SR基础教程:理解‘细节重构技术’对AI生成图的价值
AI显微镜-Swin2SR基础教程:理解‘细节重构技术’对AI生成图的价值 1. 从模糊到高清:AI超分的革命性突破 你是否曾经遇到过这样的情况:AI生成了一张很有创意的图片,但分辨率太低,放大后全是马赛克;或者找到…...
