【DP】 HDOJ 5185 Equation
2015-03-08 16:47
357 查看
先枚举最大的数。。。然后对剩下的数做一次完全背包就可以了。。。
#include <iostream> #include <queue> #include <stack> #include <map> #include <set> #include <bitset> #include <cstdio> #include <algorithm> #include <cstring> #include <climits> #include <cstdlib> #include <cmath> #include <time.h> #define maxn 100005 #define maxm 100005 #define eps 1e-7 //#define mod 1000000007 #define INF 0x3f3f3f3f #define PI (acos(-1.0)) #define lowbit(x) (x&(-x)) #define mp make_pair #define ls o<<1 #define rs o<<1 | 1 #define lson o<<1, L, mid #define rson o<<1 | 1, mid+1, R #define pii pair<int, int> #pragma comment(linker, "/STACK:16777216") typedef long long LL; typedef unsigned long long ULL; //typedef int LL; using namespace std; LL qpow(LL a, LL b){LL res=1,base=a;while(b){if(b%2)res=res*base;base=base*base;b/=2;}return res;} //LL powmod(LL a, LL b){LL res=1,base=a;while(b){if(b%2)res=res*base%mod;base=base*base%mod;b/=2;}return res;} //head LL dp[maxn]; int n; LL mod; void read() { scanf("%d%lld", &n, &mod); memset(dp, 0, sizeof dp); } void work() { dp[0] = 1; LL ans = 0; for(int i = 1; i * (i + 1) / 2 <= n; i++) { int sum = n - i * (i + 1) / 2; for(int j = i; j <= n; j++) dp[j] = (dp[j] + dp[j-i]) % mod; ans = (ans + dp[sum]) % mod; } printf("%lld\n", ans); } int main() { int _, __ = 0; while(scanf("%d", &_)!=EOF) { while(_--) { read(); printf("Case #%d: ", ++__); work(); } } return 0; }
相关文章推荐
- hdoj 5185 Equation (线性dp 完全背包)
- hdu 5185 Equation(分析+DP)
- HDOJ 4249 A Famous Equation DP
- HDU 5185 Equation (线性dp 完全背包)
- HDU 5185 Equation (DP)
- HDOJ 4249 A Famous Equation DP
- hdu 5185 Equation(DP,思路)
- HDU 5185 Equation (DP)
- hdu 5185 Equation(dp题)
- hdoj1087 Super Jumping! Jumping! Jumping! ( dp )
- [HDOJ - 5282] Senior's String 【DP】
- hdoj Flying to the Mars 1800 (DP)
- HDOJ 1300 DP
- hdoj 2955 Robberies 【dp&&01背包】
- HDOJ 1029 Ignatius and the Princess IV(数位dp)
- [HDOJ 4804][Vjudge 48310] Campus Design [插头DP]
- HDU 4249 A Famous Equation(数位DP)
- HDOJ 1501 Zipper 【简单DP】
- HDOJ 1028 Ignatius and the Princess III(DP)
- HDOJ1069 猴子和香蕉【DP】