[BZOJ2228][Zjoi2011][单调队列]礼物(gift)

bzoj 2142: 礼物(组合数取模终极版) 组合数学+中国剩余定理+exgcd 题意一年一度的圣诞节快要来到了。每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物。不同的人物在小E心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多。小E从商店中购买了n件礼物,打算送给m个人,其中送给第i个人礼物数量为wi。请你帮忙计算出送礼物的方案数(两个方案被认为是不同的,当且仅当存在某个人在这两种方案中收到的礼物不同)。由于方案数可能会很大,你只需要输出模P后的结果。 m 阅读详情
题意

在一个p*q*r的正方体内找到一个a*a*b的子正方体,满足子正方体内均为N,求最大的4ab


考虑以一个面作为底面,可以正方体中每个点为左下角的正方形的边长(正方面平行于底面),然后考虑同一列中的点,可以把问题就转化成求一个序列,序列的最小值和区间长度相乘的结果最小。用单调队列做。
转动下正方体就可以计算所有情况啦

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#define N 210

using namespace std;

char w[N*N][N];
char A[N][N][N],B[N][N][N];
int p,q,r,t,Ans=0;
int bianc[N][N][N];
int Q[N],f[N];

inline void Checking(){
    memset(bianc,0,sizeof(bianc));
    for(int k=1;k<=r;k++)
        for(int i=1;i<=p;i++)
            for(int j=1;j<=q;j++)
                if(A[i][j][k]=='N')
                    bianc[i][j][k]=min(min(bianc[i][j-1][k],bianc[i-1][j][k]),bianc[i-1][j-1][k])+1;
    for(int i=1;i<=p;i++)
        for(int j=1;j<=q;j++){
            Q[t=0]=0; bianc[i][j][0]=-1;
            for(int k=1;k<=r;k++){
                while(t&&bianc[i][j][k]<=bianc[i][j][Q[t]]) t--;
                if(A[i][j][k]=='N') f[k]=k-Q[t]; else f[k]=0;
                Q[++t]=k;
            }
            Q[t=0]=r+1; bianc[i][j][r+1]=-1;
            for(int k=r;k;k--){
                while(t&&bianc[i][j][k]<=bianc[i][j][Q[t]]) t--;
                if(A[i][j][k]=='N') f[k]+=Q[t]-k;
                Q[++t]=k;
            }
            for(int k=1;k<=r;k++) Ans=max(Ans,4*bianc[i][j][k]*(f[k]-1));
        }
}

inline void Changing(){
    for(int i=1;i<=p;i++)
        for(int j=1;j<=q;j++)
            for(int k=1;k<=r;k++)
                B[j][k][i]=A[i][j][k];
    int k=p; p=q; q=r; r=k;
    for(int i=1;i<=p;i++)
        for(int j=1;j<=q;j++)
            for(int k=1;k<=r;k++)
                A[i][j][k]=B[i][j][k];
}

int main(){
    scanf("%d%d%d",&p,&q,&r);
    for(int i=1;i<=p*q;i++) scanf("%s",w[i]+1);
    for(int i=1;i<=p;i++)
        for(int j=1;j<=q;j++)
            for(int k=1;k<=r;k++) A[i][j][k]=w[j*p+i-p][k];
    Checking();
    Changing();
    Checking();
    Changing();
    Checking();
    printf("%d\n",Ans);
    return 0;
}

跑的好慢啊……

利用MATLAB 4f光学系统,在Python中进行弗劳恩霍夫衍射和傅里叶面滤波——用镜头模拟光学图像处理。.zip 1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 立即下载

相关推荐

工业互联网工控安全与工业质检AI大模型建设方案.pptx

工业互联网工控安全与工业质检AI大模型建设方案.pptx

2017.10.12 礼物(zjoi2011) 失败总结

听说n^4能过,于是愉快地敲了n^4  ,还带了两个最优性剪枝。。 结果事实证明是别人家的n^4.。。(wys?) 很奇怪玄学剪枝有时2^50次方都能过,为什么这个连1e9都过不了。 TLE代码: #include #include using namespace std; int x,y,z,xx[155][155][155],yy[155][155][155],z

-----PSI----- 305

通信行业CentOS 7内核网络栈优化:高并发连接下UDP/TCP性能调优与系统资源管理

内容概要:本文聚焦于CentOS 7系统在通信行业高并发场景下的性能调优实践,重点围绕内核网络栈优化展开,涵盖UDP/TCP缓冲区调整、文件句柄与连接跟踪表扩容、TIME_WAIT状态复用、软中断分布优化及tuned工具的自动化调优。通过具体配置参数和实际案例(如VoIP软交换系统)深入解析各项调优措施的设计原理与实施效果,有效解决高CPS下丢包、连接失败等问题,并展望了向云化、eBPF等动态智能调优方向的发展趋势。; 适合人群:从事通信系统运维、网络开发或Linux系统性能优化的技术人员,具备一定操作系统和网络基础知识,工作经验1年以上的中初级工程师。; 使用场景及目标:①应用于软交换、媒体网关、信令网关等高并发通信设备的系统调优;②解决UDP丢包、conntrack表满、TCP连接队列溢出等典型性能瓶颈;③提升系统在小包高频、低时延要求场景下的稳定性和吞吐能力。; 阅读建议:建议结合实际生产环境或测试平台同步验证文中配置,重点关注参数背后的物理意义(如BDP、softirq、conntrack机制),并配合ss、conntrack、dmesg等命令进行调优前后对比分析,确保安全可控地实施变更。

[BZOJ2228][Zjoi2011]礼物(gift)(乱搞???)

首先考虑长和宽相等的情况。 看到要选出的子长方体的规模是 a×a×ba×a×ba\times a\times b , 可以考虑先预处理出对于每个 (i,j,k)(i,j,k)(i,j,k) ,在第 kkk 层内,以 (i,j)(i,j)(i,j) 为右下角的最大的全 N 正方形的边长 s(i,j,k)s(i,j,k)s(i,j,k) 。这个可以用悬线法 O(pqr)O(pqr)O(pqr) 预...

女装的你,如此好看! 283

2024 《计算机网络》实验教学指导书.doc

2024 《计算机网络》实验教学指导书.doc

不平衡电网下自抗扰顺序模型预测PWM整流器控制仿真模型(Simulink仿真实现)

内容概要:本文围绕面向城市空中交通的多无人机路径规划问题展开研究,提出了一套融合全局规划、动态避障与局部协同调整的综合路径规划方法。研究内容涵盖基于改进RRT算法与图论的全局路径规划、基于动态风险场和动态窗口法(DWA)的模型预测控制实现动态避障,以及基于分布式协同控制的多无人机局部路径协同策略。通过Matlab平台构建仿真环境,在多种典型城市交通场景下对所提方法进行了系统性验证,结果表明该方法在路径安全性、编队稳定性与任务效率方面表现优异。文章还深入探讨了算法的创新点与未来研究方向,为复杂城市环境下多无人机系统的自主协同提供了理论支撑与技术路径。; 适合人群:具备自动化、控制理论、计算机科学或相关领域基础知识,从事无人机系统、智能交通、路径规划、多智能体协同控制等方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①为城市空中交通系统中的多无人机安全、高效飞行提供可靠的路径规划解决方案;②支持在复杂、动态的城市场景中开展无人机自主导航、编队飞行与协同控制的技术研究与仿真验证。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点关注算法的具体实现细节、参数配置对性能的影响以及不同仿真场景下的实验设计,以深入理解各模块的集成逻辑与实际应用效果。

bzoj2228 礼物 单调队列

首先枚举三个面作为底面。然后对于每一层,求出f[i][j]表示以i,j为右下角坐标的正方形的最大边长。然后枚举x,y表示以x,y为取出的长方体的正方形的底面,然后就变成了单调队列求区间长度*区间最小值的最大值的经典问题了。 AC代码如下(跑得好慢QAQ): #include #include #include #define N 151 using namespace std; int n,

lych的博客 1027

先进封装技术的一些优缺点探讨

半导体封装技术是半导体制造过程中的关键环节,它不仅保护了芯片免受物理损伤,还提供了电气连接和散热功能。随着技术的发展,出现了多种先进的封装技术,每种技术都有其特定的应用场景和优缺点。

阿拉伯梳子的专栏 2168

BZOJ 2228 礼物(gift)(最大子长方体)

题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2228 题意:给出一个只含有NP两种字母的长方体。从中找出只含有字母N的长方体,造型为a*a*b,即必须有两个正方形的底。在此基础上使得a*b最大? 思路:首先对于p*q*r的长方体,可以枚举a*a这个面在p*q、p*r、q*r。不妨现在假设a*a在q*r这个面上。那么对于p个面,我们...

weixin_34116110的博客 221

从零开始学习信号完整性(SIPI)--1 简介

信号完整性就是研究如何让驱动芯片发出的信号经过传输通道被接收芯片正确接收的学问。 信号完整性包含了三个要素: 信号:是被传输的主体,我们首先要了解、熟悉信号的特性。 芯片:分为驱动芯片和接收芯片,信号完整性工程师就是要实现信号在驱动芯片和接收芯片之间的正确传输。 传输通道:是传输信号的介质,是信号所走的“路”。如何实现信号的正确传输呢?那就要信号完整性工程师为信号“修路”、“搭桥”。

qq_29476769的博客 4万+

MAC M1用户必看:UTM虚拟机安装Win11全流程避坑指南(附驱动下载)

本文为MAC M1用户提供UTM虚拟机安装Win11的完整指南,涵盖镜像准备、驱动优化及性能调优等关键步骤。特别针对TPM 2.0验证、网络连接等常见问题提供解决方案,帮助用户高效运行Windows 11 ARM版。

weixin_29204205的博客 337

莫比乌斯反演题表

莫比乌斯反演题表

TYB的博客 815

保姆级教程:给你的Jetson Orin NX换个‘大房子’——新SSD初始化与JetPack 6.x刷机全流程

本文提供Jetson Orin NX存储升级与JetPack 6.x系统部署的完整指南,涵盖SSD选型、分区策略、刷机流程及性能优化技巧。通过实测数据展示如何提升AI模型加载速度33%,并分享温度管理、I/O调度等实战经验,助力开发者突破边缘计算存储瓶颈。

weixin_42715608的博客 156

bzoj水题精简

 忽略第一篇博客吧,一个回忆录。 下面说正题,bzoj的一些水题 像我这样子的弱菜都会写的题目咯 1000:。。。。。 1001:平面最小割,转最短路 1002:生成树计数(高精度) 1003:cost[i][j]表示第i天到第j天不修改路径的最短长度,用spfa或者dij+优先队列求出 1007:参见hzwer,用一个栈搞搞 1008:数学题 1011:因为有5%的精度误

SZOICC的博客 474

还在用 RaiDrive/Rclone 挂载网盘?教您使用Windows 原生 WebDAV 丝滑直连 AList/Openlist,让你的网盘秒变本地硬盘!

网盘文件分散管理?😩 别再依赖第三方工具了!本文教你如何在 Windows 下,利用原生 WebDAV 功能,将 Openlist 网盘直接映射为本地硬盘!💻 操作简单,告别繁琐,让你的云端文件像本地文件一样丝滑!🚀 轻松实现高效管理,快来体验吧!

XiaoqiangClub的博客 2972

OPPO 后端校招面试,过于简单了!

你好,我是 Guide。2026 届秋招陆续开奖公司的越来越多了,今天来看一家手机厂 OPPO。前几天,已经分享了和今年校招开奖的情况。其中,小红书的薪资最为炸裂,大白菜一年都能给到 51w+。不过,相对应的工作强度和压力也是真的难顶,确实很难有钱多又轻松的活!OV (OPPO 和 Vivo)这几年发展真还可以的,这两家的高端机口碑都不错。本人也是最近入手了一款 Vivo 的上一代旗舰,拍照是真的不错啊!每个月会有 1.2k 生活补贴,生活费是按照 8 % 缴纳。

JavaGuide 748

[暴力 单调栈] BZOJ 2228 [Zjoi2011]礼物(gift)

这个东西 搞法不一 我是这么搞的 沿着zz轴的方向看 一定是一些重叠的正方形叠在一起 我们对于每一个zz 都对(x,y)(x,y)求出fx,yf_{x,y} 表示最大的以(x,y)(x,y)为右下角的正方形的大小 然后在zz这一维上 大小就是区间最小值 我们用单调栈弄一弄就好了 我写的二分求fx,yf_{x,y} 复杂度O(n3logn)O(n^3\log n) 但是实际上用悬线法可

雯舞 776

YOLO26 标签分配机制:STAL 小目标感知分配策略

YOLO26提出的STAL标签分配策略通过尺度感知机制优化了小目标检测性能。该方法根据目标面积将检测对象分为小、中、大三类,分别采用差异化的分配参数(TopK数量、IoU阈值和中心度权重),特别是对小目标采用更宽松的匹配条件和更高的中心度权重。实验结果表明,STAL策略显著提升了小目标检测精度(AP_small),同时保持了整体检测性能(mAP),为解决目标检测中尺度不平衡问题提供了有效方案。

一键难忘的博客 784

[Zjoi2011]礼物(gift)

2228: [Zjoi2011]礼物(gift) Time Limit: 10 Sec  Memory Limit: 259 MB Submit: 32  Solved: 19 [Submit][Status][Discuss] Description 小白的生日就要到了,小蓝决定送一件自己亲手做的手工艺品使自己的礼物与众不同。具体来说,小蓝已经通过某种方式制作出了一个p×q×r的木块

hccz95的专栏 2224

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

[ZJOI2011]礼物

嘟嘟嘟 正是因为有这样的数据范围,解法才比较暴力。 我们假设取出的长方体常和宽相等,即\(a * a * b\)。这样我们每次换两条边相等,搞三次就行。 那么对于第\(k\)层中的第\((i, j)\)点\((k, i, j)\),求出以这个点为右下角的最大完好的正方形f[k][i][j]。这个可以用倍增求。所以复杂度为\(O(n ^ 3 logn)\)。 然后\(O(n ^ 2)\...

weixin_30578677的博客 153

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【HNOI2017】礼物-gift

题面    解法 FFT:   和式可化为: ∑i=1n(xi+c−yi)2=∑i=1n(x2i+y2i)+n∗c2−2∗c∗∑i=1n(yi−xi)−2∗∑i=1n(xi∗yi)\sum_{i=1}^{n}(x_i+c-y_i)^2= \sum_{i=1}^{n}(x_i^2+y_i^2)+n*c^2-2*c*\sum_{i=1}^{n}(y_i

清疚的博客 685

pku2228_Naptime

dp

小小菜鸟蛋の小窝 782

bzoj 5015: [Snoi2017]礼物

题意:给定n和k,求ana_n,其中a1=1,ai=∑i−1j=1aj+ika_1=1, a_i=\sum_{j=1}^{i-1}a_j+i^k 题解:因为aia_i和前面的总和有关,所以我们用f[i]表示a的前i项的和。显然fi=2fi−1+ikf_i=2f_{i-1}+i^k,答案就是fn−fn−1f_n-f_{n-1}。由于n很大,直接跑是不现实的,所以我们可以用矩阵乘法加速。矩阵和k有关

tkj的博客 502

【NOIP2018复习】买礼物(DP)

            输入 输出 输入样例复制 input 1: 6 25 8 9 8 7 16 5 input 2: 30 250 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 输出样例复制 output 1: 15 output 2: 6509431 说明  ...

masterwater的博客 434
上一篇: [BZOJ Contest-2017省队十连测推广赛2·T2][BZOJ4771][主席树][dfs序]七彩树
下一篇: [BZOJ2227][Zjoi2011][找规律][排列组合][数学]看电影(movie)
LowestJN
博客等级 码龄10年 76粉丝 422原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值