ac challenge
給出n個任務,每個任務花費乙個單位時間,現在求每個任務完成時,會獲得a[
i]∗t
+b[i
] a[i
]∗t+
b[i]
的價值,但是每個任務都有必須要在之前完成的任務,就是前置任務。
資料範圍:
n<20,
−109i],b
[i]<109
n
<20,
−10
for j:0->n //代表的是第幾件物品
for k:0->(1
<1
//所有狀態
判斷能否到達,判斷是否達成前置條件,判斷是否計算過
進行dp選擇
#include
using
namespace
std;
#define rep(i,j,k) for(int i = (int)j;i <= (int)k;i ++)
#define per(i,j,k) for(int i = (int)j;i >= (int)k;i --)
#define debug(x) cerr<<#x<<" = "<<(x)<#define mmm(a,b) memset(a,b,sizeof(a))
#define pb push_back
typedef
double db;
typedef
long
long ll;
const
int maxn = (int)40+7;
const
int inf = (int)0x3f3f3f3f;
int a[maxn];
int b[maxn];
int pre[1
<<21];
ll dp[1
<<21];
int cnt[1
<<21];
int main()
}ll res = 0;
rep(i,1,n) }}
}res = max_element(dp,dp+(1
<<20))-dp;
cout
<< dp[res] << endl;
}
ICPC 南京賽區網路賽 A
題目大意就是,給你乙個數n 然後給你乙個公式求s,讓你輸出s n 這個題目不用想,直接用用題目中的公式暴力寫肯定超時 可以先手算簡化一下公式 n 1 n 1 n n 1 n 1 n!n 1 所以可得 s 1 1!n 1 n 1 2!1!3!2!n!n 1 n 1 所以s n n 1 n n 是n的倍...
2018 icpc 南京網路賽
題目 鏈結 a.an olympian math problem 輸出n 1即可 女朋友猜的 includeusing namespace std define ll long long ll fac 103 int main for int i 1 i m i ll ans 0 for int i...
2019南京ICPC網路賽A題
二維偏序,利用二維字首和的思想,乙個矩陣 x1,y1,x2,y2 可以由 0,0,x2,y2 0,0,x1 1,x2 1 0,0,x1 1,y2 0,0,x2,y1 1 得出,所以按x軸排序,用樹狀陣列記錄y軸的 0,y 的值,然後就ok了。此題有乙個nc坑點,就是他讓你計算的乙個點的權值不是這個值...