POJ1948 DP 三角形
2016-02-15 20:45
246 查看
题目大意:用所有的木块来堆成最大的三角形面积。
思路:最大值是1600的边长,但是不能超过1/2,所以就是dp[800 + 5][800 + 5],然后枚举边长,当dp[j][k]存在的时候就说明可以取到j和k这两个边长,然后第三条边长就用sum - k - j就可以了。
疑问:
可以正推吗,为什么我正推没有写出来TAT
个人的想法:
如果说是按照原来代码的意思正推的话,那么当选择一条边的时候,从0推导sum/2。但是,在a[i]~sum/2的范围内是不可能存在有true的长度的,所以正推for从0~sum/2的话,会加入很多的true数据,所以会WA。
具体的可以看这个人的
http://blog.csdn.net/shuangde800/article/details/8962945这个代码是AC了,但是貌似3 4 5输出了-1,测试数据可能有点弱吧
或者这个人的
http://blog.csdn.net/sssogs/article/details/8496523
思路:最大值是1600的边长,但是不能超过1/2,所以就是dp[800 + 5][800 + 5],然后枚举边长,当dp[j][k]存在的时候就说明可以取到j和k这两个边长,然后第三条边长就用sum - k - j就可以了。
疑问:
可以正推吗,为什么我正推没有写出来TAT
个人的想法:
如果说是按照原来代码的意思正推的话,那么当选择一条边的时候,从0推导sum/2。但是,在a[i]~sum/2的范围内是不可能存在有true的长度的,所以正推for从0~sum/2的话,会加入很多的true数据,所以会WA。
具体的可以看这个人的
http://blog.csdn.net/shuangde800/article/details/8962945这个代码是AC了,但是貌似3 4 5输出了-1,测试数据可能有点弱吧
或者这个人的
http://blog.csdn.net/sssogs/article/details/8496523
相关文章推荐
- Sipdroid源码初探(一):用户注册(RegisterAgent)
- POI2012 (持续更新中)
- RabbitMQ消息应答------ack机制
- Android资源文件详解
- 160cracked-1
- 概率论与数理统计(随机变量及概率分布)
- javascript-页面跳转-(咋个办呢-zgbn)
- windows 远程桌面连接 RPi 2B
- 2.2 常用工具类 网络 支撑 JSON
- Java的构造器
- 戴尔N5110装WIN10的体验
- AndroidManifest.xml
- Android入门小示例_一键SOS
- Asp.net MVC 视图之公用代码
- 【鬼脸原创】谷歌插件--知乎快捷翻页(2016/2/17更新)
- 程序结构&&程序设计(二)
- ORACLE系统表总结
- 转载 前端基础知识体系 一个新手的学习之路
- c语言:输入两个正整数m和n,求其最大公约数和最小公倍数
- 实现两个变量的互换(不借助第三个变量)