bzoj3140: [Hnoi2013]消毒

智能气象站:ESP32驱动的心知天气数据可视化实践 本文详细介绍了基于ESP32微控制器和心知天气API构建智能气象站的完整实践。通过Arduino开发环境,实现天气数据的获取、JSON解析与OLED屏可视化展示,涵盖硬件连接、API配置、低功耗优化及部署问题排查,为物联网开发者提供实用指南。 阅读详情

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3140

思路:首先我们观察题目“只需要使用min{x,y,z}单位的F试剂”

那么我们如果选择一位长度为a,那其他两维直接取到最大即可

那么题目就相当于问最少切多少个面才能覆盖所有点

二维的很简单,直接二分图匹配即可(不会的见poj3041)

http://poj.org/problem?id=3041

三维的怎么办?

这时a*b*c<=5000就有用了

我们2^n枚举最小的一维每层切还是不切(不超过17)

不切的层再二分图匹配即可

复杂度有点坑,但还是可以接受的

千万不要作死用memset

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
const int maxn=5010,inf=1e9,maxm=100010;
using namespace std;
struct poi{int x,y,z;}p[maxn];
int mat[maxn],cnt,cas,pw[20],ans,vis[maxn],pre[maxm],now[maxn],son[maxm],tim,tot,a,b,c;
void add(int a,int b){pre[++tot]=now[a],now[a]=tot,son[tot]=b;}
bool cmp(poi a,poi b){
	if (a.x!=b.x) return a.x<b.x;
	if (a.y!=b.y) return a.y<b.y;
	return a.z<b.z;
}

bool dfs(int x){
	for (int y=now[x];y;y=pre[y]){
		int v=son[y];
		if (vis[v]<tim){
			vis[v]=tim;
			if (!mat[v]||dfs(mat[v])) return mat[v]=x,1;
		}
	}
	return 0;
}

void work(int st){
	int res=0,n=b,m=c;tot=0;
	for (int i=0;i<a;i++) if (st&pw[i]) res++;
//	printf("%d\n",res);
	if (res>=ans) return;
	for (int i=1;i<=n;i++) now[i]=0;
	for (int i=1;i<=m;i++) mat[i]=0;
	for (int i=1;i<=cnt;i++) if (!(st&pw[p[i].x-1])) add(p[i].y,p[i].z);
	for (int i=1;i<=n;i++){
		tim++;
		if (dfs(i)) res++;
		if (res>=ans) return;
	}
	ans=res;
}

int main(){
	scanf("%d",&cas);
	pw[0]=1;for (int i=1;i<=19;i++) pw[i]=pw[i-1]*2;
	//for (int i=1;i<=19;i++) printf("pw %d\n",pw[i]);
	while (cas--){
		scanf("%d%d%d",&a,&b,&c),ans=1e9,cnt=0;
		for (int i=1,op;i<=a;i++) for (int j=1;j<=b;j++) for (int k=1;k<=c;k++){scanf("%d",&op);if (op) p[++cnt]=(poi){i,j,k};}
		if (b<a){swap(a,b);for (int i=1;i<=cnt;i++) swap(p[i].x,p[i].y);}
		if (c<a){swap(a,c);for (int i=1;i<=cnt;i++) swap(p[i].x,p[i].z);}
		sort(p+1,p+1+cnt,cmp);
		for (int i=0;i<pw[a];i++) work(i);
		printf("%d\n",ans);
	}
	return 0;
}


原理图分享二(信盈达CorexM4核心板STM32F407VGT6) 这是第二张板子的原理图分享,这也是当时大学里学习的一个板子。 原理图分享二(信盈达CorexM4核心板STM32F407VGT6) 阅读详情

相关推荐

Verilog的综合指令

Synopsys综合指令

烟花一时的博客 5442

【HNOI2013】消毒(最小点覆盖)

最近比较低产呢,就写点有意思的文字吧

DD(XYX)的硫氰化氘博客 732

zemax双透镜公差分析

蒙特卡罗分析: 评估公差的整体影响,模拟过程中产生一系列随机的lens,满足指定的公差,然后再按照标准评估。公差分析,就是在设计了一个理想的系统后,想看看实际生产过程中如果产生公差(误差),系统会坏到什么程度,也就是光学性能受到多大影响。反灵敏度分析:分别对每个公差在性能方面的一个给定的最小允许减少量来计算公差,也就是限制了系统性能的变化,和灵敏度分析方向相反。灵敏度分析对每个公差单独求值,分别计算每个公差操作数的最大、最小、标准值(如上图)所有设计上可能的公差都列出来了。注意要固定透镜的口径。

fendoudecheng的博客 3207

【HNOI2013】消毒

题目最近在生物实验室工作的小T 遇到了大麻烦。由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为a*b*c,a、b、c均为正整数。为了实验的方便,它被划分为a*b*c 个单位立方体区域,每个单位立方体尺寸为1*1*1。用(i,j,k)标识一个单位立方体,1≤i≤a,1≤j≤b,1≤k≤c。 这个实验皿已经很久没有人用了,现在,小T 被导师要求将其中一些单位立方体区域进行消毒操作(每个区

Andy&Calrn的博客 597

SIwave:在 SIwave 中释放计算频率扫描的强大功能

AEDT 的电路工具允许注入正确的电压和电流。要使用电路工具,SIwave 必须首先使用 PI 求解器求解结构的 S 参数。

jkh920184196的博客 1474

WinCC 7.5 读取 SQL server2016 中的表格数据

环境 win10 SQL Server 2016 WinCC V7.5 SP2 1 安装SQL Server 2016 2 选择服务器名称 .\WINCC 3 建数据库

skr? 7139

P3231 [HNOI2013]消毒

模型转化,二分图匹配

Ajwallet 381

Oracle EBS 帐套(Ledger/SOB)如何定义会计主体、如何支撑多准则 / 多报告、组织与帐套的绑定关系、以及项目落地时的设计差异。下面从实现逻辑、核心要素、组织模型、多账簿、科目设计、项

本文对比了Oracle EBS R12与SAP S/4HANA在帐套(Ledger)设计上的核心差异。Oracle采用4C架构(科目/币种/日历/准则),帐套作为独立会计主体,主辅账物理隔离;SAP则以公司代码为主体,通过平行分类账在同一凭证中实现多准则核算。关键差异体现在:Oracle强调边界隔离,适合差异大的集团;SAP注重统一视图,适合实时合并需求。实施时需注意:Oracle避免过度建账套,SAP需统筹科目与维度设计。两者分别体现了"盒子"与"滤镜"的设计哲学。

金牌架构师 415

[HNOI2013]消毒 (匈牙利最大匹配)

咸鱼被拍死在平面上

239

YOLOv9改进策略目录 | 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制

Hello,各位读者们好本专栏自开设两个月以来已经更新改进教程50余篇其中包含RepNCSPELAN4、主干、检测头、注意力机制、Neck多种结构上创新,也有损失函数和一些细节点上的创新。同时本人一些讲解视频和包含我所有创新的YOLOv9文档并不能在优快云上传(所有的创新点都经过我的测试是可用的,得到该文件之后大家可以随意组合使用),所以会建立群的形式在内上传我的文件和视频我也会在群内不定期和大家交流回答大家问题,同时定期会更新一些文章的创新点(经过我融合测试后的,先到先得)。

Snu77的博客 1万+

利用dpabi和restplus提取ROI灰质体积学习笔记

目录前言一、数据准备二、利用dpabi提取ROI灰质体积三、restplus提取ROI灰质体积 前言 我利用SPM/CAT12进行灰质、白质、脑脊液分割之后分别已经得到各自的图像文件,在全脑水平已经做了统计分析。如果还想要进一步进行ROI的统计分析或者与量表等临床资料做相关分析,就需要提取ROI灰质体积。几个月没动过这数据了,突然心血来潮想学一下如何提取ROI灰质体积,以此篇博客记录我的提取ROI灰质体积学习过程。提取ROI灰质体积的方法及软件有许多种,本人尝试了dpabi和restplus。 一、数据准备

weixin_52073820的博客 9222

[luogu3231 HNOI2013] 消毒 (二分图最小点覆盖)

传送门 Description 最近在生物实验室工作的小T遇到了大麻烦。 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为a*b*c,a、b、c 均为正整数。为了实验的方便,它被划分为a*b*c个单位立方体区域,每个单位立方体尺寸为1*1*1。用(i,j,k)标识一个单位立方体,1 &amp;lt;=i&amp;lt;=a,1&amp;lt;=j&amp;lt;=b,1&amp;lt;=k&amp;lt;=c。这个实验皿已经很...

Tricksterism 304

大数据领域数据产品的交通运输行业应用

您是否经历过早高峰被堵在桥上,看着导航显示“前方5公里缓行”却无能为力?是否见过货车司机绕远路导致成本飙升?这些“交通痛点”的背后,是传统交通管理依赖经验决策的局限。本文将聚焦“大数据数据产品”这一核心工具,从技术原理到实际应用,全面解析它如何为交通运输行业“开天眼”,解决从城市拥堵到物流效率的一系列难题。本文将按照“问题引入→概念拆解→技术原理→实战案例→应用场景→未来趋势”的逻辑展开,用生活化比喻降低理解门槛,用代码和数学模型提升专业性,最终帮您建立“大数据+交通”的完整认知框架。交通数据。

操作系统内核探秘的博客 236

【BZOJ 3140】 [Hnoi2013]消毒

状态压缩+二分图~ 详细题解+时间优化方法~

Regina8023 1497

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

BZOJ3140: [Hnoi2013]消毒

BZOJ3140: [Hnoi2013]消毒 Description 最近在生物实验室工作的小T遇到了大麻烦。由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为a*b*c,a、b、c 均为正整数。 为了实验的方便,它被划分为a*b*c个单位立方体区域,每个单位立方体尺寸为1*1*1。 用(i,j,k)标识一个单位立方体,1≤i≤a,1≤j≤b,1≤k≤c。 这个实验皿...

weixin_30466953的博客 110

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【bzoj3140】[Hnoi2013]消毒

搜索,二分图匹配

Circus 590

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

BZOJ 3140 [HNOI2013]消毒

BZOJ 3140 [HNOI2013]消毒

Zero's World 702

HNOI 2013 bzoj 3140 消毒

暴力一维,剩下两维做一个最小点覆盖 要注意memset的复杂度问题! /************************************************************** Problem: 3140 User: Clare Language: C++ Result: Accepted Time:1160 ms Memor

LKC1999的博客 762

BZOJ3140 HNOI2013消毒

传送门 这道题有毒 我在做的时候就在想有没有一个什么“三分图”的匹配?(脑洞打开) 发现想不出来了,有观察到a,b,c中最小的最大只有17(a∗b∗c==5000)=>(min(a,b,c)<=50001/3)(a*b*c == 5000) =>(min(a, b, c) <={5000}^{1/3})就又写起了搜索……(因为每一次肯定可以通过选取1*x*y的一块矩形,最终得到最优解) 最

geng4512的专栏 1075

BZOJ3140: [Hnoi2013]消毒(匈牙利)

3140: [Hnoi2013]消毒 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1808 Solved: 711 [Submit][Status][Discuss] Description 最近在生物实验室工作的小T遇到了大麻烦。 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为a*b*c,a、b、c 均为正整数...

Dreamstar's Blog 408

[bzoj3140][HNOI2013]消毒

题目大意有a*b*c的立方体,有些位置需要染色。可重复染色,可染不需染色的位置。染x*y*z得立方体需要min(x,y,z)的费用。求最小费用,使所有需要被染色的位置被染色。a*b*c<=5000。转换我们发现,最优策略每次只会染1*b*c或a*1*c或a*b*1。 因此转换为三维最小集覆盖问题。 二维可以利用二分图的最小覆盖来做,那三维怎么办?深搜因为a*b*c<=5000 所以min(a,

不来也不去的一只失忆蝴蝶 867

[BZOJ3140][网络流]HNOI2013:消毒

BZOJ3140 二维的情况:把所有x和y转成二分图,跑最大匹配即可 推广到三维:因为a∗b∗c≤5000a*b*c\leq5000a∗b∗c≤5000,所以有一维必定小于17,则2172^17217枚举这一维的状态,剩下的二维直接做就好了 注意memset会T Code: #include<bits/stdc++.h> using namespace std; inline int ...

romiqi 150

bzoj3140 hnoi2013 消毒(暴力出奇迹)

【问题】 最近在生物实验室工作的小T遇到了大麻烦。 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为a*b*c,a、b、c 均为正整数。为了实验的方便,它被划分为a*b*c个单位立方体区域,每个单位立方体尺寸为1*1*1。用(i,j,k)标识一个单位立方体(1≤i≤a,1≤j≤b,1≤k≤c)。 这个实验皿已经很久没有人用了,现在,小T被导师要求将其中一些单位立方体区域进 行消

细雨欣然 372

bzoj 3140: [Hnoi2013]消毒 洛谷P3231

https://www.luogu.com.cn/problem/P3231 辣鸡bzoj卡常,洛谷过了 首先由于取min值的花费,相当于就是直接选择某一维度为1的去消毒了。 n*m*h<=5000,必有一个很小,那么我们对最小的一维进行2进制枚举,把这一维的哪些部分直接一个平面全部删掉,然后这一维就不管了,剩下的两维就是经典的棋盘问题的二分图匹配方法了,只能删除一整行或者一整列,最少...

binarycopycode 199

BZOJ3140 [Hnoi2013]消毒

首先分析题目: "对(x, y, z)的立方体消毒,cost = min(x, y, z)" 所以由贪心的想法,我们可以对(1, y, z)的立方体消毒,cost = 1,这一定是最优的cost为1的解法 又a * b * c ≤ 5000, 不妨设a = min(a, b, c) ≤ 17,故我们可以枚举a方向哪些(1, b, c)的立方体被消毒了。 然后把剩下的部分压成一个(b, c)...

weixin_30596165的博客 93

[bzoj3140] [Hnoi2013]消毒

Description 最近在生物实验室工作的小T遇到了大麻烦。 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为abc,a、b、c 均为正整数。为了实验的方便,它被划分为abc个单位立方体区域,每个单位立方体尺寸 为111。用(i,j,k)标识一个单位立方体,1 ≤i≤a,1≤j≤b,1≤k≤c。这个实验皿已经很久没有人用了,现在,小T被导师要求将其中一些单位立方体区域进 行消毒操...

weixin_30763455的博客 103
上一篇: bzoj3142: [Hnoi2013]数列
下一篇: bzoj3144: [Hnoi2013]切糕
thy_asdf
博客等级 码龄12年 16粉丝 186原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值