n個物品有deadline,拿物品需要花費時間,問取得最大價值的方案。
本質是個01揹包,先按時間排序,然後把花費的時間作為揹包就行了。
主要就是找方案,倒過來找發生轉移的就行了。
太菜了真的不會打cf,每次都要掉分
/** @date : 2017-09-25 22:28:30* @filename: e.cpp
* @platform: windows
* @author : lweleth ([email protected])
* @link :
* @version : $id$
*/#include #define ll long long
#define pii pair#define mp(x, y) make_pair((x),(y))
#define fi first
#define se second
#define pb(x) push_back((x))
#define mmg(x) memset((x), -1,sizeof(x))
#define mmf(x) memset((x),0,sizeof(x))
#define mmi(x) memset((x), inf, sizeof(x))
using namespace std;
const int inf = 0x3f3f3f3f;
const int n = 2e5+20;
const double eps = 1e-8;
int n;
int dp[110][3000];
struct yuu
a[200];
int cmp(yuu a, yuu b)
int main()
sort(a + 1, a + n + 1, cmp);
mmf(dp);
int ma = 0;
int pos = 0;
for(int i = 1; i <= n; i++) }
vectorq;
for(int i = n; i >= 1; i--)
reverse(q.begin(), q.end());
printf("%d\n", ma);
printf("%d\n", q.size());
for(auto i : q)
printf("%d ", a[i].idx);
printf("\n");
return 0;
}
迷宮輸出路徑
定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從起點到終點的最短路線。input m和n,表示乙個m n 的二維陣列,表示乙個迷宮。sx,sy,p,q分別表示起點和終點的座標資料保證有唯一解。outp...
迷宮問題(輸出路徑)
迷宮問題 time limit 1000 ms memory limit 65536 kb 64bit io format i64d i64u description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求...
修改靜態庫輸出路徑
一.首先介紹xcode build settings一些重要配置引數。valid architectures 有效的arm指令集,arm是微處理器行業的一家知名企業,arm處理器以體積小和高效能的優勢在嵌入式裝置中廣泛使用,幾乎所有手機都是使用它的。現有的指令集有i386,x86 64,armv7,...