本文共 1249 字,大约阅读时间需要 4 分钟。
给自己写个头文件用,随时更新
#ifndef MYHEADER_H_INCLUDED#define MYHEADER_H_INCLUDED//_Pragma("once")#include#include #include #include using namespace std;#define IN freopen("in.txt","r",stdin)#define OUT freopen("out.txt","w",stdout)void help_name(){ printf("bag 阶乘 prime||Prime 序列 "); printf("0000");}void help(string s){ string factorial="阶乘",subsequence="序列"; for(int i=0; i =weight; i--) { dp[i]=dp[i]>(dp[i-weight]+value)?dp[i]:dp[i-weight]+value; }}int MultiplePack(int n,int bag,int *weight,int *value,int *number){ int dp[bag+1]= { 0}; for(int i=0; i =bag) { for(int j=weight[i]; j<=bag; j++) { dp[j]=dp[j]>(dp[j-weight[i]]+value[i])?dp[j]:dp[j-weight[i]]+value[i]; } } else { int k=1; while(k<=number[i]) { ZeroOnePack(bag,dp,k*weight[i],k*value[i]); number[i]-=k; k=k*2;//这里采用二进制思想 } ZeroOnePack(bag,dp,number[i]*weight[i],number[i]*value[i]); } } return dp[bag];}int Factorial(int maxn,char *ans,int n){ ans[0]='1'; int cnt=0,x=1; for(int i=1; i<=n; i++) { for(int j=0; j
转载地址:http://omqbi.baihongyu.com/