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

P4561 [JXOI2018] 排序问题

题意有一个序列现在要在结尾加上mmm个[l,r][l,r][l,r]之间的数求在所有方案中猴子排序每次随机一个排列检查是否有序的次数期望最大次数。思路假设最终的序列中数iii出现的次数是cic_ici​那么合法的ppp的数量为∏ici!\prod_ic_i!∏i​ci​!为了使方案数尽可能少我们需要让 数的个数分配的更平均。求出[l,r][l,r][l,r]之间出现iii次的数有几个按照存在的iii由小到大遍历如果剩余的次数能够把所有次数iii的数的出现次数都变为iii那么把祂们都变为iii否则平均分配。答案为合法的ppp数量比(nm)!(nm)!(nm)!。代码/* Luogu P4561 [JXOI2018] 排序问题 2026-04-09 */#includebits/stdc.husingnamespacestd;namespaceIO{templatetypenameTinlinevoidread(Tx){x0;charcgetchar();boolf0;while(!isdigit(c))c-?f1:0,cgetchar();while(isdigit(c))xx*10c-0,cgetchar();f?x-x:0;}templatetypenameTinlinevoidwrite(T x){if(x0){putchar(0);return;}x0?x-x,putchar(-):0;shortst[50],top0;while(x)st[top]x%10,x/10;while(top)putchar(st[top--]0);}inlinevoidread(charc){cgetchar();while(isspace(c))cgetchar();}inlinevoidwrite(charc){putchar(c);}inlinevoidread(strings){s.clear();charc;read(c);while(!isspace(c)~c)sc,cgetchar();}inlinevoidwrite(string s){for(inti0,lens.size();ilen;i)putchar(s[i]);}templatetypenameTinlinevoidwrite(T*x){while(*x)putchar(*(x));}templatetypenameT,typename...T2inlinevoidread(Tx,T2...y){read(x),read(y...);}templatetypenameT,typename...T2inlinevoidwrite(constT x,constT2...y){write(x),putchar( ),write(y...),sizeof...(y)1?putchar(\n):0;}}usingnamespaceIO;templateintmodstructModint{intz;Modint(){z0;}Modint(intx){x%mod;zx0?xmod:x;}Modint(longlongx){x%mod;zx0?xmod:x;}Modint(shortx){x%mod;zx0?xmod:x;}Modint(charx){x%mod;zx0?xmod:x;}Modint(boolx){x%mod;zx0?xmod:x;}friendModintoperator(Modint t,Modint t2){Modint ans;ans.z(t.zt2.z)%mod;returnans;}friendModintoperator*(Modint t,Modint t2){Modint ans;ans.z1ll*t.z*t2.z%mod;returnans;}friendModintoperator-(Modint t,Modint t2){Modint ans;ans.z(t.z-t2.z)%mod;returnans;}Modintoperator(constintt)const{Modint ans;ans.z(zt)%mod;returnans;}Modintoperator(constintt)const{Modint ans;ans.z(zt)%mod;returnans;}Modintoperator(constModint t){z(zt.z)%mod;return*this;}Modintoperator*(constModint t){z1ll*z*t.z%mod;return*this;}Modintoperator-(constModint t){z(z-t.z)%mod;return*this;}Modintoperator(constintt){z(zt)%mod;return*this;}Modintoperator(constintt){z(zt)%mod;return*this;}Modintoperator(){z,z%mod;return*this;}Modintoperator--(){z--,z%mod;return*this;}Modintoperator(int){Modint ls*this;z,z%mod;returnls;}Modintoperator--(int){Modint ls*this;z--,z%mod;returnls;}friendModintksm(Modint a,intb){Modint ans1;while(b){if(b1)ansans*a;aa*a,b1;}returnans;}friendvoidread(Modintz){intx0;charcgetchar();boolf0;while(!isdigit(c))c-?f1:0,cgetchar();while(isdigit(c))x(x*10llc-0)%mod,cgetchar();f?x-x:0;z.zx;}friendvoidwrite(Modint x){x.z0?x.zmod:0;write(x.z);}};constintmod998244353,maxn200010,maxm10000010;#defineMModintmodM jc[maxnmaxm];intn,m,l,r,a[maxn],cnt_h;structnode{intval,cnt;}h[maxn];mapint,intmp,mpp;voidsolve(){M ans1;mp.clear(),mpp.clear();read(n,m,l,r);intlsmn;for(inti1;in;i)read(a[i]),mp[a[i]];for(inti1;in;i){if(la[i]a[i]r)continue;ans*jc[mp[a[i]]];mp[a[i]]0;}cnt_h0;for(auto[val,cnt]:mp)if(lvalvalr)mpp[cnt];for(auto[val,cnt]:mpp)h[cnt_h]{val,cnt};sort(h1,h1cnt_h,[](node a,node b){returna.valb.val;});h[0].cntr-l1;for(inti1;icnt_h;i)h[0].cnt-h[i].cnt;intnow_cnth[0].cnt;h[cnt_h].val2000000000;for(inti1;icnt_h;i){intch[i].val-h[i-1].val;if(1ll*c*now_cntm){m-c*now_cnt;now_cnth[i].cnt;continue;}intzh[i-1].valm/now_cnt,sym%now_cnt;ans*ksm(jc[z],now_cnt)*ksm(M(z1),sy);for(intji;jcnt_h-1;j)ans*ksm(jc[h[j].val],h[j].cnt);break;}write(jc[ls]*ksm(ans,mod-2)),write(\n);}signedmain(){jc[0]1;for(inti1;i10200000;i)jc[i]jc[i-1]*i;intT;read(T);while(T--)solve();return0;}

相关文章:

P4561 [JXOI2018] 排序问题

题意 有一个序列,现在要在结尾加上 mmm 个 [l,r][l,r][l,r] 之间的数,求在所有方案中,猴子排序(每次随机一个排列,检查是否有序)的次数期望最大次数。 思路 假设最终的序列中数 iii 出现的次数是 cic_ici​…...

免疫治疗新视角:CD47 (分化簇47) 信号通路机制与药物研发技术综述

在生物制药与免疫学领域,CD47 (分化簇47) 作为连接先天免疫与适应性免疫的关键节点,近年来备受关注。作为一种广泛表达的跨膜糖蛋白,它通过复杂的信号轴调控免疫细胞的吞噬行为。本文将深入剖析CD47的作用机制、当前药物研发的临床进展以及未…...

linux文件,IO,缓存,动\静函数库

1.文件IO与标准IO的区别文件IO:直接调用内核提供的系统调用函数,头文件是unistd.h标准IO:间接调用系统调用函数,头文件是stdio.h缓存的概念1.程序的缓存就是用户空间的缓存。2.每打开一个文件,在内核中开辟一个缓存即为…...

【Java】通过Mybatis Plus自带的方式,实现公共字段自动填充。

通过Mybatis Plus自带的方式,实现公共字段自动填充。 第一步,创建一个公共字段类,加上对应注解。 Data public class BaseEntity implements Serializable {Serialprivate static final long serialVersionUID 1L;TableField(value "c…...

《道德经》第九章

本章以持而盈之功成身退为核心,是道家保身、持满、长久的警示章。老子用“持盈、揣锐、富贵而骄”三组世俗常见困境,指出过刚则折、过满则溢、过骄则亡的天道规律,最终以“功成身退,天之道”点破最高处世心法,是全书最…...

设置echarts 图例为长方形

在 ECharts 中,要将图例(legend)的 标记(icon) 设置为 长方形(矩形),可以通过 legend 配置项中的 icon 属性来实现。✅ 方法:使用 icon: rect ECharts 内置了多种图例标记…...

系统设计面试通关秘籍:从场景分析到微服务拆分的核心思路

系统设计面试通关秘籍:从场景分析到微服务拆分的核心思路一、Scenario场景分析:打好系统设计的基础牌🔍 先定功能:抓核心,舍冗余📊 再估流量:从MAU到QPS,做有依据的推算⚙️ 流量决定…...

OpenClaw自动化测试实践:gemma-3-12b-it驱动Python脚本批量执行

OpenClaw自动化测试实践:gemma-3-12b-it驱动Python脚本批量执行 1. 为什么选择OpenClawgemma做测试自动化? 上个月重构一个爬虫项目时,我遇到了测试脚本管理的噩梦——每次修改核心逻辑后,都需要手动执行十几个测试用例&#xf…...

【51 单片机入门到进阶】08 入门:51单片机定时器0/1使用详解

1,定时器中断核心基础总览 定时器中断:定时器计数溢出时,硬件自动触发中断,CPU 暂停主程序执行中断服务函数,是单片机定时控制、延时、周期任务的核心方式。中断名称中断号入口地址核心控制寄存器中断标志定时器 0 中断…...

stock-sdk-mcp 的实践整理绰

一、什么是urllib3? urllib3 是一个用于处理 HTTP 请求和连接池的强大、用户友好的 Python 库。 它可以帮助你: 发送各种 HTTP 请求(GET, POST, PUT, DELETE等)。 管理连接池,提高网络请求效率。 处理重试和重定向。 支…...

Programmable-Air开源气动控制库底层驱动解析

1. Programmable-Air 开源控制库深度解析:面向嵌入式工程师的底层驱动实践指南Programmable-Air 是一款基于 Crowdfunding 平台 CrowdSupply 成功孵化的开源气动控制硬件平台,其核心价值在于将传统工业级气动执行器(泵、阀、压力传感器&#…...

千问3.5-9B+OpenClaw成本对比:自建模型VS商业API

千问3.5-9BOpenClaw成本对比:自建模型VS商业API 1. 为什么需要关注OpenClaw的token消耗 去年冬天,当我第一次用OpenClaw自动整理全年会议纪要时,看着控制台不断刷新的token消耗记录,手指不自觉地敲起了桌子——这个看似简单的任…...

FreakStudio泄

环境安装 pip install keystone-engine capstone unicorn 这3个工具用法极其简单,下面通过示例来演示其用法。 Keystone 示例 from keystone import * CODE b"INC ECX; ADD EDX, ECX" try:ks Ks(KS_ARCH_X86, KS_MODE_64)encoding, count ks.asm(CODE)…...

JavaScript中BigInt与Number类型混用的报错机制

JavaScript中BigInt与Number不能直接混合运算&#xff0c;会立即抛出TypeError&#xff1b;所有涉及两者混合的算术和关系操作&#xff08;如1n1、10n<5&#xff09;均报错&#xff0c;仅和不报错但返回false。JavaScript中BigInt与Number不能直接混合运算&#xff0c;会立即…...

ESP居然能当 DNS 服务器用?内含NCSI欺骗和DNS劫持实现罢

前言 Kubernetes 本身并不复杂&#xff0c;是我们把它搞复杂的。无论是刻意为之还是那种虽然出于好意却将优雅的原语堆砌成 鲁布戈德堡机械 的狂热。平台最初提供的 ReplicaSets、Services、ConfigMaps&#xff0c;这些基础组件简单直接&#xff0c;甚至显得有些枯燥。但后来我…...

告别格式烦恼:如何用Chrome扩展一键转换网页图片格式?

告别格式烦恼&#xff1a;如何用Chrome扩展一键转换网页图片格式&#xff1f; 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mirror…...

毕业设计实战:基于Java+MySQL的C2C商务网站设计与实现指南

毕业设计实战&#xff1a;基于JavaMySQL的C2C商务网站设计与实现指南 在开发“基于JavaMySQL的C2C商务网站”毕业设计时&#xff0c;我曾因商品订单表未通过用户ID、商品ID与收货地址ID三外键关联踩过关键坑——初期设计订单表时&#xff0c;仅记录了订单号、总价、下单时间等基…...

Python编程第09课:Python列表(List)操作完全手册

前言&#xff1a;Python最常用的数据结构 列表是Python中最常用、最灵活的数据结构。它就像一个容器&#xff0c;可以存储任意类型的元素&#xff0c;并且可以随时添加、删除或修改元素。无论是处理数据、实现算法还是构建应用程序&#xff0c;列表都是你离不开的工具。 本课程…...

OpenClaw模型量化指南:压缩Qwen2.5-VL-7B提升本地运行效率

OpenClaw模型量化指南&#xff1a;压缩Qwen2.5-VL-7B提升本地运行效率 1. 为什么需要量化多模态大模型 当我第一次在本地MacBook Pro上尝试运行Qwen2.5-VL-7B时&#xff0c;风扇立刻开始狂转&#xff0c;16GB内存几乎被吃满&#xff0c;模型加载就花了近3分钟。这种体验让我意…...

OpenClaw调试技巧大全:Qwen3-14b_int4_awq任务失败排查指南

OpenClaw调试技巧大全&#xff1a;Qwen3-14b_int4_awq任务失败排查指南 1. 为什么我们需要系统化的调试方法 上周我在尝试用OpenClaw自动整理项目文档时&#xff0c;遇到了一个诡异的问题&#xff1a;任务执行到一半突然卡住&#xff0c;既没有报错也没有继续执行。花了整整三…...

一款基于 .NET 开源、跨平台应用程序自动升级组件阅

基础示例&#xff1a;单工作表 Excel 转 TXT 以下是将一个 Excel 文件中的第一个工作表转换为 TXT 的完整步骤&#xff1a; 1. 加载并读取Excel文件 from spire.xls import * from spire.xls.common import * workbook Workbook() workbook.LoadFromFile("示例.xlsx"…...

Docker 容器中运行 AI CLI 工具:用户隔离与持久化卷实战指南撂

环境安装 pip install keystone-engine capstone unicorn 这3个工具用法极其简单&#xff0c;下面通过示例来演示其用法。 Keystone 示例 from keystone import * CODE b"INC ECX; ADD EDX, ECX" try:ks Ks(KS_ARCH_X86, KS_MODE_64)encoding, count ks.asm(CODE)…...

软件人员可以关注的 Skill,亲测确实不错,值得试一下

Agent Skill 是一套标准化的能力封装&#xff0c;它将复杂的、需要多步处理和工具调用的任务&#xff0c;打包成一个可以直接使用的“技能包”。推荐一些在实际工作中表现不错的 Skill&#xff1a; 1. frontend-design 介绍&#xff1a;打造具有高设计质量的独特生产级前端界面…...

和AI一起搞事情#:边剥龙虾边做个中医技能来起号冠

1. 核心概念 在 Antigravity 中&#xff0c;技能系统分为两层&#xff1a; Skills (全局库)&#xff1a;实际的代码、脚本和指南&#xff0c;存储在系统级目录&#xff08;如 ~/.gemini/antigravity/skills&#xff09;。它们是“能力”的本体。 Workflows (项目级)&#xff1a…...

Blazor组件化演进终极指南:2026年必须掌握的5大架构范式与3种反模式规避清单

第一章&#xff1a;Blazor组件化演进的底层动因与2026技术坐标系Blazor 的组件化并非单纯语法糖的迭代&#xff0c;而是对 Web 前端架构范式、.NET 生态边界以及现代云原生交付链路三重压力下的系统性响应。其底层动因根植于三个不可逆趋势&#xff1a;WebAssembly 运行时成熟度…...

2026年AI热点:阿里新模型领跑行业

今日AI热点汇总&#xff08;2026年4月9日&#xff09; 一、阿里发布新模型&#xff0c;性能大幅提升 今天&#xff0c;阿里巴巴重磅推出了全新的通义千问模型&#xff0c;这个新模型在语言理解、逻辑推理和代码生成等方面都有了显著提升。 更强的理解能力&#xff1a;能更准确地…...

普通人也能轻松掌握!5个技巧让你玩转AI大模型,从入门到精通的实用指南!

随着ChatGPT、文心一言、通义千问等AI大模型的普及&#xff0c;很多人都在使用AI大模型&#xff0c;普通人学习时往往陷入“指令说不清楚、输出不符合预期”的困境。其实&#xff0c;学会AI大模型的核心&#xff0c;不在于掌握技术原理&#xff0c;而在于掌握“与大模型高效沟通…...

数据团队该醒醒了:AI智能体不是你的下一个仪表盘闹

7.1 初识三维模型 7.1.1 三维模型的数据载体 随着计算机图形技术的发展&#xff0c;我们或多或少都会见过或者听说过三维模型。笔者始终记得小时候第一次在电视上看到三维动画《变形金刚&#xff1a;超能勇士》的震撼感受&#xff1b;而现在我们已经可以在手机上玩三维游戏《王…...

喔去,litellm 竟然被投毒了,赶紧检查你的机器中招了没有稳

一、什么是setuptools&#xff1f; setuptools 是一个用于创建、分发和安装 Python 包的核心库。 它可以帮助你&#xff1a; 定义 Python 包的元数据&#xff08;如名称、版本、作者等&#xff09;。 声明包的依赖项&#xff0c;确保你的包能够正确运行。 构建源代码分发包&…...

旧Mac设备重生指南:使用OpenCore Legacy Patcher升级系统全攻略

旧Mac设备重生指南&#xff1a;使用OpenCore Legacy Patcher升级系统全攻略 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 随着苹果系统的不断更新&#xff…...