挑戰dp
題意:
被組合數只能是2的整數冪,然後給出乙個數問有多少種組合(mod1e10);
思路:
完全揹包做啊…還是蠻簡單的…(這裡取膜要改成加法,省時間…)
dp[i]代表對於j的方案數
貼一發吧…
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define ll long long
#define inf 0x3f3f3f3f
const
double pi = acos(-1.0);
const
int mod = 1e9;
const
int n =1e6+10;
int dp[n];
void init()
}}int main()
然後看了discuss的那個blog(我還是很少點這種推送的blog,看完還是蠻搞笑的。。。)
具體也就不講了…能這樣玩也是厲害呀…)乙個數乘2的情況和那個數的情況相同,誰說不是呢。弱太菜玩不出…
挫code…………
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define ll long long
#define inf 0x3f3f3f3f
const
double pi = acos(-1.0);
const ll mod = 1e9;
const
int n =1e6+10;
ll dp[n];
int main()
int n;
while(~scanf("%d",&n))
printf("%d\n",dp[n]);
return
0;}
POJ 2229 Sumsets(遞推,找規律)
構造,遞推,因為劃分是合併的逆過程,考慮怎麼合併。先把n展開成全部為n個1 然後合併,因為和順序無關,所以只和出現次數有關 情況有點多並且為了避免重複,分類,c i 表示序列中最大的數為2 i時的方案數 樹形表示合併 uva 10562 undraw the trees的表示方法。7 2 0 7表示...
POJ 1384 完全揹包
題意 給定乙個重量,和各種錢幣的重量,求可以滿足給定重量的錢幣組合中的最小組合。如果存在組合就求出最小值。轉移方程 1 f j 和 f j w i 都可達 則 f j min 2 f j 不可達 但 f j w i 可達 則 f j f j w i p i 3 其餘情況 則不作處理 程式 inclu...
poj 1384完全揹包
題意 給出豬罐子的空質量和滿質量,和n個硬幣的價值和質量,求豬罐子剛好塞滿的的最小價值。思路 選擇硬幣,完全揹包問題,塞滿 初始化為無窮,求最小價值,min。include include includeusing namespace std define inf 10000000 int n,su...