为什么二维的过不了?

P2871 [USACO07DEC] Charm Bracelet S

过得了!
by Alextokc @ 2016-12-12 13:48:55


```cpp #include <algorithm> #include <bitset> #include <iostream> #include <iomanip> #include <cstdio> #include <cstdlib> #include <cmath> #include <cctype> #include <cstring> #include <string> #include <vector> #include <stack> #include <queue> #include <deque> #include <set> #include <map> #include <list> #include <iterator> #define n1 1000 #define n2 2000 #define n3 3000 #define n4 4000 #define n5 5000 #define n10 10000 #define n20 20000 #define SIZE(X) ((int64)(X.size())) #define LENGTH(X) ((int64)(X.length())) using namespace std; typedef long long int64; typedef unsigned long long uint64; int64 gcd(int64 a,int64 b){ if (!b) return a;return gcd(b , a%b);} int64 lcm(int64 a,int64 b){ return a/gcd(a , b)*b; } int64 binary_pow(int64 x,int64 n,int64 mod){ if (!n) return true; else if (!(n&1)) return binary_pow(x * x % mod, n / 2 , mod); else if (n&1) return binary_pow(x * x % mod, n / 2 , mod) * x % mod; } inline int64 max_int(int64 a,int64 b){ if (a>b) return a;else return b; } inline double max_double(double a,double b){ if (a>b) return a;else return b; } inline float max_float(float a,float b){ if (a>b) return a;else return b; } inline int64 min_int(int64 a,int64 b){ if (a<b) return a;else return b; } inline double min_double(double a,double b){ if (a<b) return a;else return b; } inline float min_int(float a,float b){ if (a<b) return a;else return b; } inline void swap_int(int64 &a,int64 &b){ int64 temp = a;a = b;b = temp; } inline void swap_double(double &a,double &b){ double temp = a;a = b;b = temp; } inline void swap_float(float &a,float &b){ float temp = a;a = b;b = temp; } inline bool is_prime(int64 n){ if (n<=1) return false;int64 m=(int)floor(sqrt(n)+0.5); for (int64 i=2;i<=m;++i) if (n%i==0) return false;return true; } inline bool is_odd(int64 n){ if (n&1) return true;else return false; } inline bool is_even(int64 n){if (!(n&1)) return true;else return false;} inline bool compare(int64 a,int64 b){ return a>b; } inline int64 stoi(string n){ int64 s = 0;if (n[0]=='-'){for ( int64 i=1;i<n.size();++i)s = s * 10 + (n[i]-'0'); s = -s;return s; }else { for (int64 i=0;i<n.size();++i)s = s * 10 + (n[i]-'0');return s; } } inline string numtostr(int64 x){char s[199];sprintf(s,"%lld",x);string ans=s;return ans;} inline bool is_upper(char c){ return c>='A' && c<='Z'; } inline bool is_lower(char c){ return c>='a' && c<='z'; } inline bool is_letter(char c){ return c>='A' && c<='Z' || c>='a' && c<='z'; } inline bool is_digit(char c){ return c>='0' && c<='9'; } inline char tolower(char c){ return (is_upper(c))?(c+32):c; } inline char toupper(char c){ return (is_lower(c))?(c-32):c; } inline int64 sqr(int64 x){ return x*x;} inline bool str_empty(string n){ if (n.length()==0) return true;else return false; } inline bool vec_empty(vector<int64> n){ if (n.size()==0) return true;else return false; } inline bool deq_empty(deque<int64> n){ if (n.size()==0) return true;else return false; } inline bool sta_empty(stack<int64> n){ if (n.size()==0) return true;else return false; } inline bool que_empty(queue<int64> n) { if (n.size()==0) return true;else return false; } inline bool str_emptyx(string n){ if (n.length()==0) return true;else return false; } inline bool vec_emptyx(vector<int> n){ if (n.size()==0) return true;else return false; } inline bool deq_emptyx(deque<int> n){ if (n.size()==0) return true;else return false; } inline bool sta_emptyx(stack<int> n){ if (n.size()==0) return true;else return false; } inline bool que_emptyx(queue<int> n) { if (n.size()==0) return true;else return false; } int C[n20] , W[n20]; int dp[n20]; int main(){ int V , cishu; cin >> cishu >> V; for (int i=1;i<=cishu;++i) cin >> C[i] >> W[i]; for (int i=1;i<=cishu;++i){ for (int v=V;v>=C[i];--v){ dp[v] = max(dp[v] , dp[v-C[i]]+W[i]); } } cout << dp[V] << endl; return 0; } //正解 ```
by Alextokc @ 2016-12-16 16:28:27


这是一维的
by M_seа @ 2017-01-30 22:23:12


太坏了666
by Lance1ot @ 2017-04-08 20:11:34


二维的话空间会爆炸……但是二楼什么鬼啊2333333333
by 暮影灰狼 @ 2017-06-28 21:31:21


int改short能过
by ykkz000 @ 2018-08-23 11:28:33


|