【BZOJ】3140: [Hnoi2013]消毒】的更多相关文章

3140: [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.这个实验皿已经很久没有人用了,现在,小T被导师要求将其中一些单位立方体区域进 行消毒操作(每个区域可以被重复消毒).而由于严格的实验要求,…
Description 最近在生物实验室工作的小T遇到了大麻烦. 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为abc,a.b.c 均为正整数.为了实验的方便,它被划分为abc个单位立方体区域,每个单位立方体尺寸为111.用(i,j,k)标识一个单位立方体,1 ≤i≤a,1≤j≤b,1≤k≤c.这个实验皿已经很久没有人用了,现在,小T被导师要求将其中一些单位立方体区域进 行消毒操作(每个区域可以被重复消毒).而由于严格的实验要求,他被要求使用一种特定 的F试剂来进行消毒. 这种F…
题目链接 不难想到每次一定是切一片. 如果是平面,很容易想到直接做二分图匹配.对于3维的? 可以发现min(a,b,c)的最大值只有\(\sqrt[3]{n}≈17\),我们暴力枚举这一最小值代表的是否选,对于剩下的两维二分图匹配 能用匈牙利用什么网络流啊..那么麻烦. 在匈牙利求解的过程中记得剪枝! 因为实际点数应该远不如ABC多,所以不要用memset,直接枚举. woc卡着时过去 那些2000ms怎么过的??网上找不到快点的懒得找. zz的我考场写的每次DFS完重建边+ISAP,成功都T掉…
题目描述 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.这个实验皿已经很久没有人用了,现在,小 T 被导师要求将其中一些单位立方体区域进行消毒操作(每个区域可以被重复消毒).而由于严格的实验要求,他被要求使用一种特…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3140 猜一发(显然)有结论:每次一定选择一个平面,即每次操作对答案的贡献都为$1$ 首先可以考虑二维的情况. 二维不就是一个经典的最小点覆盖模型么,如果${(x,y)=1}$就把横纵轴上的点分别看为二分图的两边的点,最小点覆盖模型=最大匹配数. 三维? ${a*b*c<=5000}$显然${Max\left \{ a,b,c \right \}<=17}$考虑枚举(搜索)最小的那一维,…
3140: [Hnoi2013]消毒 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1621  Solved: 676[Submit][Status][Discuss] Description 最近在生物实验室工作的小T遇到了大麻烦. 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为a*b*c,a.b.c 均为正整数.为了实验的方便,它被划分为a*b*c个单位立方体区域,每个单位立方体尺寸 为1*1*1.用(i,j,k)标识一个单位…
Link: BZOJ 3140 传送门 Solution: 挺好的一道暴力题 首先发现可以每次贪心选择宽度为1的一面,即$1*x*y,1*x*z,1*y*z$ 那么对于与该面垂直的面,相当于解决了一行/一列 于是我们可以先考虑一个二维问题: 每次选取一行/一列要耗费一个代价,询问要覆盖所有染色点需要多大代价 由于对于每个点的横纵坐标都是映射关系,且横/纵坐标是两个独立的集合 于是将染色点的横/纵坐标连边后问题转化为最小点覆盖问题,也就是二分图最大匹配 为了将三维问题转化为当前可做的二维问题,就只…
P3231 [HNOI2013]消毒 二维覆盖我们已经很熟悉了 扩展到三维,枚举其中较小的一维,这里定义为$a$ 以$a$为关键字状压,$1$表示该面全选 剩下的面和二维覆盖一样二分图匹配 如果还没接触过二维覆盖,简要地说一下 代价是$min(x,y)$,假设$x$比$y$小,全染相当于染$x$次$1×y$的区域,故全染不如一条一条染 My complete code: #include<cstdio> #include<cstring> #include<string>…
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=3140 题意:最近在生物实验室工作的小T遇到了大麻烦. 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为a*b*c.为了实验的方便,它被划分为a*b*c个单位立方体区域,每个单位立方体尺寸为1*1*1.用(i,j,k)标识一个单位立方体,1 ≤i≤a,1≤j≤b,1≤k≤c.这个实验皿已经很久没有人用了,现在,小T被导师要求将其中一些单位立方体区域进 行消毒操作(每个区域可…
http://www.lydsy.com/JudgeOnline/problem.php?id=3140 如果只有两维,那就是二分图最小点覆盖 现在是三维,但是a*b*c<=5000,说明最小的那一维不会超过17 将最小的那一维作为正方形的高 然后枚举要消哪些层,剩下的层看成一层 做最小点覆盖 注意卡常 #include<cstdio> #include<cstring> #include<iostream> using namespace std; #defin…