zoukankan      html  css  js  c++  java
  • HDU2082 找单词

    问题分析

    不难想到用母函数做。

    令自变量(x)的次数就是单词价值,那么答案就是(x)(1)次到(50)次的系数之和。由于我们只需要处理前(51)项,所以暴力多项式相乘即可。

    举个例子,第一组样例的母函数就是:

    [G(x)=(1+x)(1+x^2)(1+x^3)=1+x+x^2+2x^3+x^4+x^5+x^6 ]

    出去(x)(0)次项系数的和就是(7)

    参考程序

    #include <bits/stdc++.h>
    using namespace std;
    
    void Work();
    
    int main() {
    	int TestCases = 0;
    	scanf( "%d", &TestCases );
    	for( ; TestCases--; ) Work();
    	return 0;
    }
    
    int A[ 110 ], B[ 110 ], C[ 110 ];
    
    void Work() {
    	memset( A, 0, sizeof( A ) );
    	A[ 0 ] = 1;
    	for( int i = 1; i <= 26; ++i ) {
    		memset( B, 0, sizeof( B ) );
    		int k; scanf( "%d", &k );
    		B[ 0 ] = 1;
    		for( int j = 1; j * i <= 50 && j <= k; ++j )
    			B[ j * i ] = 1;
    		memset( C, 0, sizeof( C ) );
    		for( int j = 0; j <= 50; ++j )
    			for( int k = 0; k <= 50; ++k ) 
    				if( j + k <= 50 )
    					C[ j + k ] += A[ j ] * B[ k ];
    		memcpy( A, C, sizeof( A ) );
    	}
    	int Ans = 0;
    	for( int i = 0; i <= 50; ++i ) Ans += A[ i ];
    	printf( "%d
    ", Ans - 1 );
    	return;
    }
    
    
  • 相关阅读:
    网文阅读笔记
    UUID
    各种网站
    项目
    常用正则表达式
    Struts 2.0 HelloWorld
    接口与抽象类(深入多态)
    #define的优点/volatile的好处
    基本套接口编程
    大小端判断及相互转化
  • 原文地址:https://www.cnblogs.com/chy-2003/p/11437389.html
Copyright © 2011-2022 走看看