Poj百练 2810:完美立方 (分类:枚举)
发布日期:2021-06-29 15:52:01 浏览次数:3 分类:技术文章

本文共 794 字,大约阅读时间需要 2 分钟。

这是一道经典的枚举优化问题,体现了前缀和预处理思想。

经过总结,枚举的优惠大致有以下几点:

1.通过数学知识,自然判断等人为的缩小某些一定不会发生的范围

2.找出题中的自然联系,如生理周期问题每找到一个周期后迭代周期之积即可

3.前缀和预处理,对于枚举中多次使用的数据提前计算出来,如完美立方问题对立方的预处理

//poj2180完美立方#include 
#include
using namespace std;//这是一道经典的枚举问题,体现了前缀和的预处理思想int main(){ int n; scanf("%d",&n); int cube[n+1]; //前缀和预处理 for(int i = 1; i <= n; i++) cube[i] = i*i*i; for(int i = 6; i <= n; i++){ //通过简单数学知识可以缩小范围 /*1.a最小为6 2.1不会被使用 3.b, c, d的小于a*/ for(int j = 2; j < i; j++) for(int k = j; k < i; k++) for(int l = k; l < i; l++) if(cube[j]+cube[k]+cube[l] == cube[i]){ printf("Cube = %d, Triple = (%d,%d,%d)\n", i, j, k, l); } a: ; } return 0;}

 

转载地址:https://suprit.blog.csdn.net/article/details/81480761 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:彻底解决tomcat控制台乱码问题(windows控制台+idea控制台)
下一篇:jdbc连接数据库两个常见问题及解决方法

发表评论

最新留言

很好
[***.229.124.182]2024年04月26日 21时06分36秒