bzoj 3234: [Ahoi2013]立方体
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3234
题意:求长方体交的表面积。
思路:flood-fill
const int N=205; int f[N][N][N]; bool visit[N][N][N]; int n; int dx[]={1,-1,0,0,0,0}; int dy[]={0,0,1,-1,0,0}; int dz[]={0,0,0,0,1,-1}; queue<pair<int,pair<int,int> > > Q; int main() { n=getInt(); int i; int maxX=0,maxY=0,maxZ=0; int minX=222,minY=222,minZ=222; for(i=1;i<=n;i++) { int x1=getInt(),y1=getInt(),z1=getInt(); int x2=getInt(),y2=getInt(),z2=getInt(); x1++; y1++; z1++; x2++; y2++; z2++; f[x1][y1][z1]++; f[x1][y1][z2]--; f[x1][y2][z1]--; f[x2][y1][z1]--; f[x2][y2][z1]++; f[x2][y1][z2]++; f[x1][y2][z2]++; f[x2][y2][z2]--; minX=min(minX,x1); minY=min(minY,y1); minZ=min(minZ,z1); maxX=max(maxX,x2+2); maxY=max(maxY,y2+2); maxZ=max(maxZ,z2+2); } int j,k; for(i=minX;i<=maxX;i++) for(j=minY;j<=maxY;j++) for(k=minZ;k<=maxZ;k++) { f[i][j][k]+=f[i-1][j][k]+f[i][j-1][k]+f[i][j][k-1]; f[i][j][k]-=f[i-1][j-1][k]+f[i-1][j][k-1]+f[i][j-1][k-1]; f[i][j][k]+=f[i-1][j-1][k-1]; } Q.push(MP(maxX,MP(maxY,maxZ))); visit[maxX][maxY][maxZ]=1; int ans=0; while(!Q.empty()) { int x=Q.front().first; int y=Q.front().second.first; int z=Q.front().second.second; Q.pop(); for(i=0;i<6;i++) { int xx=x+dx[i]; int yy=y+dy[i]; int zz=z+dz[i]; if(xx>=minX-1&&xx<=maxX&&yy>=minY-1&&yy<=maxY&&zz>=minZ-1&&zz<=maxZ&&!visit[xx][yy][zz]) { if(f[xx][yy][zz]) ans++; else Q.push(MP(xx,MP(yy,zz))),visit[xx][yy][zz]=1; } } } printf("%d\n",ans); }
bzoj 3234: [Ahoi2013]立方体的更多相关文章
- [AHOI2013]立方体(三维bit)
[Ahoi2013]立方体 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 130 Solved: 55[Submit][Status] Descrip ...
- BZOJ 3233: [Ahoi2013]找硬币
BZOJ 3233: [Ahoi2013]找硬币 标签(空格分隔): OI-BZOJ OI-DP Time Limit: 10 Sec Memory Limit: 64 MB Description ...
- BZOJ 3235: [Ahoi2013]好方的蛇
BZOJ 3235: [Ahoi2013]好方的蛇 标签(空格分隔): OI-BZOJ OI-DP OI-容斥原理 Time Limit: 10 Sec Memory Limit: 64 MB Des ...
- BZOJ 3238: [Ahoi2013]差异 [后缀数组 单调栈]
3238: [Ahoi2013]差异 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 2326 Solved: 1054[Submit][Status ...
- BZOJ 3237: [Ahoi2013]连通图
3237: [Ahoi2013]连通图 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 1161 Solved: 399[Submit][Status ...
- BZOJ 3236: [Ahoi2013]作业
3236: [Ahoi2013]作业 Time Limit: 100 Sec Memory Limit: 512 MBSubmit: 1393 Solved: 562[Submit][Status ...
- Bzoj 3236: [Ahoi2013]作业 莫队,分块
3236: [Ahoi2013]作业 Time Limit: 100 Sec Memory Limit: 512 MBSubmit: 1113 Solved: 428[Submit][Status ...
- [BZOJ 3236] [Ahoi2013] 作业 && [BZOJ 3809] 【莫队(+分块)】
题目链接: BZOJ - 3236 BZOJ - 3809 算法一:莫队 首先,单纯的莫队算法是很好想的,就是用普通的第一关键字为 l 所在块,第二关键字为 r 的莫队. 这样每次端点移动添加或删 ...
- bzoj 3225: [Sdoi2008] 立方体覆盖 题解
[原题] 3225: [Sdoi2008]立方体覆盖 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 51 Solved: 36 [Submit][S ...
随机推荐
- -Xloggc:log/gc.log 指定GC log的位置
-Xloggc:log/gc.log指定GC log的位置,以文件输出帮助开发人员分析问题
- jvm笔记
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 1. 各个参数的含义什么? 参数中-vmargs的意思是设置JVM参数, ...
- 分数的加减法——C语言初学者代码中的常见错误与瑕疵(12)
前文链接:分数的加减法——C语言初学者代码中的常见错误与瑕疵(11) 重构 题目的修正 我抛弃了原题中“其中a, b, c, d是一个0-9的整数”这样的前提条件,因为这种限制毫无必要.只假设a, b ...
- [置顶] lua 进阶3--lua文件中调用C++函数
前面讲了一下,C++读取lua文件中的变量,包括一维表.二维表这些,这节讲一下如何在lua文件中去调用C++函数 C++代码如下 #include <stdio.h> extern &qu ...
- linux设备驱动归纳总结(十二):简单的数码相框【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-116926.html linux设备驱动归纳总结(十二):简单的数码相框 xxxxxxxxxxxxxx ...
- 160926、Java-SpringMVC统一异常处理
从零开始学 Java - Spring MVC 统一异常处理 看到 Exception 这个单词都心慌 如果有一天你发现好久没有看到Exception这个单词了,那你会不会想念她?我是不会的.她如女孩 ...
- spring 事件(Application Event)
spring 事件为bean 与 bean之间传递消息.一个bean处理完了希望其余一个接着处理.这时我们就需要其余的一个bean监听当前bean所发送的事件. spring事件使用步骤如下: 1.先 ...
- 介绍“Razor”— ASP.NET的一个新视图引擎
我的团队当前正在从事的工作之一就是为ASP.NET添加一个新的视图引擎. 一直以来,ASP.NET MVC都支持 “视图引擎”的概念—采用不同语法的模板的可插拔模块.当前ASP.NET MVC “默认 ...
- jstl简介
JavaServer Page Standard Tag Library是一个有用的JSP标签的集合,它封装了许多JSP应用程序通用的核心功能. JSTL支持常见的,结构性任务,如迭代和条件,标签为操 ...
- Java常用jar包用途
Java常用jar包用途: USAGE INDEX JAR NAME USAGE 1 ASM asm-2.2.3.jar ASM字节码库 2 ASM asm-commons-2.2.3.jar ASM ...