反應就是水題,貪心。老師說,用完全揹包。確實,一題多解嘛,是我們應該有的態度。
這裏就只有一個V[]保存價值,然後F[]保存最大個數就可以了,一個小小的變換。
還有一個就是提供的money沒有範圍,就又可以練習一下vector了
#include<iostream> #include<algorithm> #include<vector> using namespace std; int n,V; int max(int a,int b) {return a>b?a:b;} bool run() { if(scanf("%d%d",&n,&V)==EOF) return false; vector<int> F(V+1); vector<int> v(n+1); fill(F.begin(),F.end(),0); int i,j; for(i=1;i<=n;i++) scanf("%d",&v[i]); for(j=1;j<=n;j++) { for(i=v[j];i<=V;i++) F[i]=max(F[i],F[i-v[j]]+1); } printf("%d/n",F[V]); return true; } int main() { while(run()); return 0; }
Magic Girl Haze T組 n個點,m條有向含權邊,可以選擇不超過k條邊,將其權值變爲0. 問點1到點n的最短距離是多少? 1≤T≤5n≤105m≤2×105k≤10wi≤109 1\leq T \leq 5 \\ n
ACM-ICPC 2018 南京賽區網絡預賽 Sum 題意不復述 對數x進行質因數分解, f(x)的求法 x=∏i=1k∏j=1cipi,jix=\prod_{i=1}^{k}\prod_{j=1}^{c_i}{p_{i,j}^i
簽到題 50的規模,隨便搞搞都能過,用stl的string的搜索直接做了 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int
簽到題 因爲一個小細節考慮不到wa了兩次 // 一開始沒這個if wa了。因爲數據中存在同一幀(frame)一個相同的值出現多次,這樣子同一個i 後面的同樣的特徵會把len重置爲1 #include <bits/stdc++.h>
注意點 我理解的這句話的時候出現了偏差。 數字表示中不能有多餘的 0,比如 0k05 是不能被當做一個十五進制數字的。 題面的描述沒有任何問題,但是注意0k05雖然不是十五進制數字,但是卻要輸出0k0,因爲0k0是十五進制數字 因
題目鏈接 很有紀念意義的一個題目,紀念,複試加油 #include <iostream> #include <vector> #include <stdio.h> #include <math.h> using namespa
題意是有幾個人分佈在不同的城市,只有在同城市的人才能交換使收支綜合等於0。因爲n在[0,10000],所以不能保存路徑然後DFS了,數組太大。用並查集,將每個人分到自己的城市,若每一個城市裏的人的money總和都等於0,則POSSIBL
PC110101/UVa100 難度1分,初學者的題目 題目: 考慮下面的算法來生成一個數字序列。開始一個整數n如果n是偶數,除以2。如果n是奇數,乘以3加1。重複此過程中,隨着新的n值,n = 1時結束。例如,下面的數字
在開始介紹盧卡斯定理之前我們先介紹下面的3個定理 1.乘法逆元 如果ax≡1 (mod p),且gcd(a,p)=1(a與p互質),則稱a關於模p的乘法逆元爲 x ax≡1 (mod p) 這個等式用中文描述就是 a乘一個數x
題意: 給出n, 和 k(< 1000000), 表示有n個位置,相鄰兩個人之間必須間隔k個位置,求在沒有位置能容納人的情況下這n個位置中人數的期望值。 題解: 用dp(n)表示有n個位置時的期望值,那麼,對於一個剛進來的人來說,他有
題意: 給出n 和 d (2<=n<=100000,1<=d=<=10000000), 定義,任意一個子串,如果滿足相鄰元素的差不大於d,則稱該子串爲一個perfect子串,問一共有多少這樣的子串,輸出ans % mod。 題解: 設d
題目鏈接 題意:有m臺機器,每臺機器有n個開關,開關有三種狀態0,1,*,號表示可以是任意狀態,即0,1都可以,你可以自己生成一些序列,當序列與機器開關所構成的序列一致時,你就可以關閉這臺機器,每個序列裏面僅包含一個號,現在問你,
//#include<bits/stdc++.h> #include<stdio.h> #include<algorithm> #include<iostream> #include<string.h> #define LL lo
//#include<bits/stdc++.h> #include<stdio.h> #include<string.h> #include<algorithm> #include<iostream> #include<queu
D - Blue and Red Balls Time Limit: 2 sec / Memory Limit: 1024 MB Score : 400 points Problem Statement There are K b