问题描述:
离圣诞节只有一个月了,家里要你准备一个很大的星星,然后把它粘在圣诞树的顶端。你已经准备好了一个三角形的银色包装纸来做星星,可忽然有一天你发现在这张大纸上被弄了好多的小洞,原来是你的弟弟妹妹已经从这张大纸上剪掉了许多小的三角形,做了很多小星星。现在,你只能将就了,看怎样才能从这残缺的大纸中,找出一块最大的完整的三角形。
如下图所示,假设给你一张大的三角形纸,里面黑的三角形是被你的弟弟妹妹剪掉了的,需要你在剩下的白色区域中找出一个最大的三角形区域。

问题求解:
你现在要找出这样一个算法,并用程序实现它。

输入格式:

输入文件包括几组关于大三角形样子的描述。输入每一组的第一行是一个整数N(1≤N≤100)表示下面要描述的大三角形的高度。接下来的N行将用许多字符模拟出大三角形的样子,其中用“X”表示被剪掉的小三角形(即上图中的黑三角形),用“O”表示 白色区域。每行字符个数从(2N-1)到1递减。如果组首为0,则表示结束。

输出格式:

对于输入中的每一个三角形,输出一个数,表示剩下部分所能得到的最大的三角形的面积,而该数就是其中所包含的小三角形的个数。输出格式如样例,如第2组数据,最大面积为4,则输出:
Triangle #2
The largest triangle area is 4

样例输入:

5
XOXXOOOOX
OOOOOXO
OOOXO
OXO
O
4
XOXOXOO
XOOOX
XXO
O
0

样例输出:

Triangle #1
The largest triangle area is 9
Triangle #2
The largest triangle area is 4

数据范围:

0≤N≤100
数据组数据<=100

题解:这题刚开始是真的想不到,只知道是个DP但不知道状态怎么转移,因为我想的是三角形不断变大,最上面一行的三角形就
不断增加,这要我怎么记录?
最后看了一下题解才豁然省悟,每个三角形f[i,j]只和f[i-1,j],f[i-1,j-1],f[i,j-2]有关!每个大三角形中都有许多这样的小三角形(4个组成)
dp方程就是if a[i-1,j-1]是不是白色,那么f[i,j]=min(f[i-1,j],f[i-1,j-2])+1。(最小的那个才连的起来)不需要f[i-1,j],f[i,j-2]是否是白色区域,刚开始预处理白色为1,黑色为0。因为正倒三角形都有可能,所以正反都搜一次。f[i,j]:=min(f[i+1,j],f[i+1,j+2])+1.
代码就不贴啦。

三角形xjoi 8.14的更多相关文章

  1. 三角网格(Triangle Mesh)的理解

    最简单的情形,多边形网格不过是一个多边形列表:三角网格就是全部由三角形组成的多边形网格.多边形和三角网格在图形学和建模中广泛使用,用来模拟复杂物体的表面,如建筑.车辆.人体,当然还有茶壶等.图14.1 ...

  2. 3D math primer for graphics and game development

    三角网格(Triangle Mesh) 最简单的情形,多边形网格不过是一个多边形列表:三角网格就是全部由三角形组成的多边形网格.多边形和三角网格在图形学和建模中广泛使用,用来模拟复杂物体的表面,如建筑 ...

  3. 你未必知道的49个CSS知识点

    作者:老姚,<JS正则迷你书>的作者 https://github.com/qdlaoyao/css-gif 本文的每一条,都是我曾经发过的掘金沸点,其中有很多条超过了百赞(窃喜).鉴于时 ...

  4. C++基础练习1

    1 /* 2 //读入一个双精度浮点数,保留12位小数输出这个浮点数. 3 #include<iostream> 4 #include <iomanip> 5 using na ...

  5. 图像数据到网格数据-2——改进的SMC算法的实现

    概要 本篇接上一篇继续介绍网格生成算法,同时不少内容继承自上篇.上篇介绍了经典的三维图像网格生成算法MarchingCubes,并且基于其思想和三角形表实现了对样例数据的网格构建.本篇继续探讨网格生成 ...

  6. 9.14[XJOI] NOIP训练33

    今日9.14 洛谷打卡:大凶!!!(换个字体玩玩qwq) -------------------------------------------------------- 一个超颓的上午 今天又是fl ...

  7. XJOI夏令营501-511NOIP训练14——好朋友

    传送门:QAQQAQ 题意:noip2011就要来了,W校的同学们不仅看重这次比赛,更看重noip2011和谁住在同一个房间.同学之间的关系好坏可以用一个亲密值表示,亲密值越大,两个同学关系越好.小A ...

  8. XJOI 夏令营501-511NOIP训练14 砍树(2)

    小A是小B家的园丁.小B的家里有n棵树,第i棵树的横坐标为i.一天,小B交给小A一个任务,让他降低自己家中的某些树木的高度.这个任务对小A来说十分简单,因为他有一把极其锋利的斧头和一门独门砍树秘籍,能 ...

  9. CSharpGL(14)用geometry shader渲染模型的法线(normal)

    +BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(14)用geometry shader渲染模型的法线(normal) +BIT祝威+悄悄在此留下版了个权的信息说: 2016-08-13 ...

随机推荐

  1. March 22 2017 Week 12 Wednesday

    Satisfaction doesn't come from the outside, but from the inside. 满足感并非来自外界,而是来自内心. Everything that e ...

  2. 保存Google、Bing翻译的语音

    以Chrome浏览器+google翻译为例,bing的下载步骤也类似 1.打开google翻译页面(translate.google.com),输入一段文本,如下图 2.可以看到,右侧已经翻译好了,这 ...

  3. Fiori Launchpad Tile点击后跳转的调试技巧

    在SAP Fiori launchpad 里点击某个tile之后,后台会计算出跳转的目标url返回给前台. 下图中一个个白色的方框就成为tile.每个tile点击之后,会打开一个对应的Fiori应用. ...

  4. 数字(int)转字符串和字符串转数字(int)

    室友去面试,问了一个字符串转成数字的算法题,室友没搞出来,我心想,这个不是很简单的吗?于是动手在纸上画了画代码.画完后,总感觉哪里不对,最后一个个挖掘,才发现,尼玛,这到处都是坑啊---特此记录一下中 ...

  5. HDU 5723 最小生成树上的期望

    题意:求最小生成树,和任意两个点之间距离的期望 官方题解: 最后求两遍点的积的时候,还是要判断父子关系. 注意 long long #include <bits/stdc++.h> usi ...

  6. 将psd格式批量转换成jpg或png格式(C#自制软件)

    此项目基于.net framework 4.0 将psd格式批量转换成jpg或png格式. 链接:https://pan.baidu.com/s/16IEjX0sHaY9H3Ah7mv6IPQ 提取码 ...

  7. asp.net 过滤器

    asp.net 制作过滤器原理:重写ASP.net管道事件 1.通过HttpApplicationFactory创建一个HttpApplication对象,负责处理整个请求. 2.调用ProcessR ...

  8. 【题解】洛谷P1495 曹冲养猪 (中国剩余定理)

    洛谷P1495:https://www.luogu.org/problemnew/show/P1495 思路 建立了a个猪圈 有b头猪没有去处 即x≡b(mod a) x即是ans 把所有的关系全部列 ...

  9. 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)(Finchley版本)

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f4-hystrix/ 本文出自方志朋的博客 在微服务架构中, ...

  10. Spring-Day03-注解注入&AOP入门-作业

    IOC(DI) —— 注解 注解入门: 在applicationContext.xml中引入context约束 打开spring-framework-4.2.4.RELEASE\docs\spring ...