zoj 1738 - Lagrange's Four-Square Theorem
来源:互联网 发布:windows安装淘宝镜像 编辑:程序博客网 时间:2024/05/16 12:27
题目:四平方定理,输出一个数可以表示成不超过四个平方数和的表示方法数。
分析:dp,完全背包。整数拆分用背包,可用一维分步计算,也可统一写成二维。
状态:设f(i,j,k)为前i个数字,取j个数字他们的平方和是k的便是方法数;
转移:f(i,j,k)= sum(f(i-1,j-1,k-i*i));{ 其中i可以省掉不写 };
说明:打表计算,求和输出即可。(2011-09-19 11:01)
#include <stdio.h>#include <string.h>int F[ 5 ][ 32770 ];int main(){ int i,j,k; memset( F, 0, sizeof( F ) ); F[ 0 ][ 0 ] = 1; for ( i = 1 ; i <= 181 ; ++ i ) for ( j = 1 ; j <= 4 ; ++ j ) for ( k = i*i ; k <= 32768 ; ++ k ) F[ j ][ k ] += F[ j-1 ][ k-i*i ]; int n; while ( scanf("%d",&n) && n ) { int sum = 0; for ( i = 1 ; i <= 4 ; ++ i ) sum += F[ i ][ n ]; printf("%d\n",sum); } return 0;}
0 0
- zoj 1738 Lagrange's Four-Square Theorem
- zoj 1738 - Lagrange's Four-Square Theorem
- Lagrange's four-square theorem
- zoj 1738 Lagrange's Four-Square Theoremdon
- POJ2042 Lagrange's Four-Square Theorem
- poj 2042 Lagrange's Four-Square Theorem
- 搜索 HOJ 1281 Lagrange's Four-Square Theorem
- 搜索 HOJ 1281 Lagrange\'s Four-Square Theorem
- POJ 2042 Lagrange's Four-Square Theorem 笔记
- POJ-2042(最多四个数的平方和多少种方法)(Lagrange's Four-Square Theorem )
- Legendre's three-square theorem
- Richardson's Theorem
- Parseval's Theorem
- Brewer's CAP Theorem
- Danskin's theorem
- Brewer’s CAP Theorem
- <cf>Hexadecimal's theorem
- Brewer’s CAP Theorem
- JAVA基础2(代码剖析)
- 商战之电商风云
- 重启压力测试
- 关于cfg80211
- 公司的力量
- zoj 1738 - Lagrange's Four-Square Theorem
- 数字字符串转成字母串
- 【ACdream】Andrew Stankevich Contest (1)
- 20141001 【 高精度?/数论--斐波那契数列 】 hdoj 1568 Fibonacci
- Java基础-->Java中的程序流程控制与函数
- STM32 读写保护功能及设置
- ACdream Andrew Stankevich's Contest(1)
- 利用cocos2dx 3.2开发消灭星星(七)关于星星的算法
- 黑马程序员——基础加强(jdk1.5新特性)