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 ...
随机推荐
- struts2中的ognl详解,摘抄
http://blog.csdn.net/tjcyjd/article/details/6850203 很全很细致,自己再分析原理进阶
- 动态时间规整(DTW) 转载
Dynamic Time Warping(DTW)诞生有一定的历史了(日本学者Itakura提出),它出现的目的也比较单纯,是一种衡量两个长度不同的时间序列的相似度的方法.应用也比较广,主要是在模板匹 ...
- LDA-math-神奇的Gamma函数
http://cos.name/2013/01/lda-math-gamma-function/ 1. 神奇的Gamma函数1.1 Gamma 函数诞生记学高等数学的时候,我们都学习过如下一个长相有点 ...
- C动态内存分配
全局变量:静态存储区 非静态局部变量(包括形参):动态存储区------>栈(stack) 建立内存动态分配区域,存放临时数据---------->堆(heap)由于未在声明部分定义他们为 ...
- springmvc下上传文件
使用ajax+表单+jQuery: function sendFile() { var action = "c/goFile.do"; $("#form").a ...
- 启用 TStringGrid 的自画功能,并避免重影
FMX 控件的 TStringGrid 下,有时为了让不同行或不同 Cell 的显示颜色.字体等有各种不同的颜色, 必须采用自画, 即在其 OnDrawColumnCell 事件中写自己的控制代码显示 ...
- TI CC2541的狗日的Key
被突如其来的一个bug困扰了好几天, 起因是, 按键接的红外接收器, 结果发现, 一旦按下之后, IEN1, P0IE的标识位bit5, 被不知道特么的谁归0了, 也就是说, 按键只能被按下一次, 再 ...
- java网络编程之TCP通讯
java中的网络编程之TCP协议的详细介绍,以及如何使用,同时我在下面举2例说明如何搭配IO流进行操作, /* *TCP *建立连接,形成传输数据的通道: *在连接中进行大数据量传输: *通过三次握手 ...
- struts2,实现Ajax异步通信
用例需要依赖的jar: struts2-core.jar struts2-convention-plugin.jar,非必须 org.codehaus.jackson.jar,提供json支持 用例代 ...
- PHP序列化以及反序列化系列[1]--PHP序列化格式的写法
反序列化:对单一的已序列化的变量进行操作,将其转换回 PHP 的值(zval). PHP序列化方式 PHP在序列化的时候会将相应的变量以对应的键值进行储存. 将一个类序列化的话,处理代码主要的 文件: ...