当前位置: 首页 > news >正文

题解:AT_abc200_e [ABC200E] Patisserie ABC 2

目前暂无修正。

前言:终于轮到我复杂问题简单化啦哈哈哈。

为什么题解区一车容斥啊?复杂难推导且根本没必要。这里给出一个桶 + 前缀和的做法。与这篇题解类似,但是由于其并没有详细地写出过程,写得也较为简略,所以这里来补充并完善一下这个做法的本质。

形式化题意\(n^3\) 个三元组 \((x,y,z)\) 按照 \(x+y+z\) 为第一关键字,\(x\) 为第二关键字,\(y\) 为第三关键字排序并求第 \(k\) 个。

看到求第 \(k\) 排名,我们容易想到按照关键字依次确定。

先确定 \(x+y+z=A\),按照 \(A\) 升序扫一遍,扫到差不多 \(k\) 的位置停止并记录 \(A\),通过前缀和实时计算有多少个有序三元组 \((x,y,z)\) 满足 \(x+y+z\le A\) 的。再根据 \(A\) 从小到大扫一遍 \(x\),并根据前缀和实时计算有多少个有序二元组 \((y,z)\) 满足 \(A-(y+z)\le x\) 的,最后 \(\Theta(n)\) 确定 \(y\) 即可。

我们需要先求出那么要求的东西就变成了:

  1. 满足 \(x+y+z=A\) 的有序三元组 \((x,y,z)\) 的数量。
  2. 满足 \(y+z=B\) 的有序二元组 \((y,z)\) 的数量。

\(buk_2[B]\) 表示第二条的答案,显然随便列个不等式分讨一下就可以 \(\Theta(n)\) 计算,再详细一点就是 \(y+z=B,y\in[1,n],z\in[1,n]\),读者可自行思考。

主要难点在于 \(buk_3[A]\) 如何求解。枚举多出来的一个数 \(x\),有转移:\(buk_3[A]=\sum_{x\in[1,n]}buk_2[A-x]\),然后由于 \(x\in[1,n]\),这个东西实际上是 \(buk_2\) 的一段连续区间,直接前缀和计算即可。总时间复杂度 \(\Theta(n)\)

感觉代码可读性挺高的。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=3e6+5;
LL n,k,sum,A,B,tot,x,y,z;
LL buk2[N],buk3[N];
int main(){scanf("%lld%lld",&n,&k);for(int i=2;i<=2*n;i++){if(i>n)buk2[i]=(n-(i-n)+1);else buk2[i]=i-1;}LL pre=0;for(int i=3;i<=3*n;i++){if(i>=(n+1))pre-=buk2[i-(n+1)];pre+=buk2[i-1];buk3[i]=pre;}for(sum=3;sum<=3*n;sum++){tot+=buk3[sum];if(tot>=k){tot-=buk3[sum];break;}}for(x=1;x<=n;x++){tot+=buk2[sum-x];if(tot>=k){tot-=buk2[sum-x];break;}}for(y=1;y<=n;y++){if(sum-x-y>n)continue;tot++;if(tot==k)break;}z=sum-x-y;printf("%lld %lld %lld",x,y,z);return 0;
}
http://www.hskmm.com/?act=detail&tid=40417

相关文章:

  • xxx.ped 在生物信息学中是什么?
  • Ollama 基本概念
  • 2025年桥洞力学板市场趋势与选购指南:江苏同芯木业江苏行业领先
  • 2025年桥洞力学板行业发展趋势与前五厂家推荐
  • 2025年10月桥洞力学板品牌综合评测与行业趋势分析
  • 【往届EI、Scopus已检索|ACM独立出版】第二届经济数据分析与人工智能国际学术会议 (EDAI 2025)
  • 吴恩达深度学习课程二: 改善深层神经网络 第一周:深度学习的实践(一)
  • win11后台程序cpu高占用问题
  • 云端微信 - 随时随地在浏览器访问
  • 2025 年碳化硅金刚线切割机,石墨金刚线切割机,陶瓷金刚线切割机厂家最新推荐,产能、专利、适配性三维数据透视
  • 2025 年 10 月油石、保温材料、玉石、石英金刚线切割机厂家最新推荐,产能、专利、环保三维数据透视
  • 2025 年 10 月瓦楞纸、蜂窝铝、硬质合金金刚线切割机厂家最新推荐,实力品牌深度解析采购无忧之选!
  • Ollama安装
  • 2025年泄压门厂家权威推荐榜单:防爆窗/泄爆门/抗爆窗源头厂家精选
  • 我的鸿蒙开发学习之旅:从零到初级认证
  • Perplexity AI研究助手10个提示词
  • Linux 下使用 tar 与 pigz 进行多核压缩
  • CentOS7 查看开机启动项和程序服务
  • 2025年pvc线槽厂家权威推荐榜单:线槽盖板/不锈钢线槽/塑料线槽板源头厂家精选
  • 微算法科技(NASDAQ MLGO)研发基于AI的动态权重学习模型,开启区块链账户关联分析智能新时代
  • 25 1.28
  • 2025年10月敏感肌产品推荐榜单:权威评测与科学选购指南
  • 2025年10月敏感肌产品推荐榜:五款温和美白产品权威评测与深度对比
  • MCP - 优化 Agent 调用 MCP tools提示词(九)
  • 2025年10月祛斑产品推荐:专业评测榜单及用户真实反馈汇总
  • hutool工具类post请求
  • 今年口碑好的新加坡留学品牌
  • 国产项目管理工具崛起:Gitee如何以本土化优势赋能中国企业数字化转型
  • 2025年10月洗碗机品牌对比榜:海信零菌技术深度评测
  • 2025年10月全屋智能家居品牌推荐:盈趣领衔五强对比评测榜