c摺紙問題急c摺紙問題急!!!

2021-03-05 12:28:00 字數 1685 閱讀 7185

1樓:匿名使用者

這是一道二維的最大字串和問題 。

一維的最大連續字串和 應該會求吧, 畢竟是經典的dp。

二維的話, 例如乙個 4 * 4 的矩陣

0 -2 -7 0

9 2 -6 2

-4 1 -4 1

-1 8 0 -2

可轉化成下面的1維序列:

(1) 0,-2,-7 ,0 (1行)(2)9, 2,-6, 2 (2行)(3)-4, 1, -4, 1 (3行)(4) -1, 8, 0, -2 (4行)(5) 9, 0,-13, 2 (1+2)(6) 5, 3,-10, 3 (2+3)(7)-5,9,-4, -1 (3+4)(8) 5, 1, -17, 3 (1+2+3)(9)4, 11, -10, 1 (2+3+4)(10) 4, 9, -17, 1 (1+2+3+4)然後求這些字串的最大和 。 複雜度為(n^3)#define _crt_secure_no_warnings#include

#include

#include

using namespace std;

const int maxn = 502;

int arr[maxn];

int mat[maxn][maxn];

int n, m;

int sum[maxn][maxn];

int dp()

return sum;

}int main()

n = n > m ? n : m;

memset( sum, 0, sizeof( sum ) );

for ( j = 1; j < n; j++ )for ( i = 1; i <= n; i++ )sum[i][j] = sum[i - 1][j] + mat[i][j];

max = 0;

int temp;

for ( i = 1; i <= n; i++ )for ( j = i; j <= n; j++ )cout << max << endl;}}這是我曾經寫的**, 你提交試試,|x| <= 10^4,這個範圍有的尷尬。 如果最後幾組錯了, 應該是資料溢位, 把int 改為 long long 就可以了

2樓:匿名使用者

/* 模擬摺紙過程的遞迴求解演算法 */

#include

#define max_n 20

#define max_m 500

struct _grid***** ;

typedef struct _grid***** grid*****;

int symmetry(int pos, int foldpos)int fold(const grid***** *origin, int x, int y, grid***** *borne)

}if (x < 1)

}} else }}

for (i = 0; i < n; i++) }}return mx;

}int mxgd(grid***** *gp)for (i = 1; i < gp->m; i++)return mx;

}int main()

}maxgrid = mxgd(&gp);

printf("%d\n", maxgrid);

return 0;}

C語言程式設計問題。急

這裡有詳細的演算法分析和源 本人就偷懶不寫了 補充一點 總體思路 試商,最多只要試到n的平方根就可以了 找到乙個質因數後,再用n除以質因數後的結果繼續分解 核心 從2開始,用sqrt n 以內的數去試商,不斷重複即可得到所有的質因數 從2 sqrt n 一旦有可以整除的數,除數即為乙個質因數,n 商...

高分急求!C語言程式設計問題,求高手解答

倆程式一樣的啊。1 max裡的x,y是外部傳入的兩個整數,作為待比較的引數,比較後可以返回兩者間的較大值 2 x,y是函式max的形式引數,所以已有定義,不需要max裡面再重新宣告 3 根據函式max的功能來看,最終是要返回較大值,而z是xy兩者中的較大值,故肯定返回z。除非xy乙個為負數乙個為0或...

急求!!C 高手來,關於排序綜合的問題

visual studio 2005中編譯通過 include include include using namespace std void qsort int a,int b,int e 快速排序 void insertsort int a,int n 插入排序 a j 1 k void qu...