有n個物品,一周有7天,然後呢,要對應的每個物品都要達到各自的需求數量
很明顯的,這是線性關係的,我們可以用二分答案來解決這個問題,然後呢怎麼知道是否滿足條件也就是
記得開long long。
#include #include #include #include #include #include #include #include #include #include #include #include #include //#include //#include #define lowbit(x) ( x&(-x) )
#define pi 3.141592653589793
#define e 2.718281828459045
#define inf 0x3f3f3f3f
#define big_inf 0x3f3f3f3f3f3f3f3f
#define eps 1e-8
#define half (l + r)>>1
#define lsn rt<<1
#define rsn rt<<1|1
#define lson lsn, l, mid
#define rson rsn, mid+1, r
#define ql lson, ql, qr
#define qr rson, ql, qr
#define myself rt, l, r
#define mp(a, b) make_pair(a, b)
using namespace std;
typedef unsigned long long ull;
typedef unsigned int uit;
typedef long long ll;
const int maxn = 1e3 + 10, maxm = 2e4 + 7;
int n, e, s, t, head[maxn], cnt, cur[maxn];
ll need;
struct eddge
}edge[maxm];
inline void addeddge(int u, int v, ll w)
inline void _add(int u, int v, ll w)
struct max_flow
++gap[d[t] = 1];
que[ql = qr = 1] = t;
while(ql <= qr)}}
}inline ll aug(int x, ll flow)
}if(!(--gap[d[x]])) d[s] = node + 1;
++gap[++d[x]]; cur[x] = head[x];
return flow;
}inline ll max_flow()
} mf;
struct node
} t[maxn];
inline void init()
inline bool check(ll lim)
for(int i=1; i<=n; i++)
}return mf.max_flow() == need;
}int main()
ll l = 1, r = 7e8, mid, ans = 0;
while(l <= r)
else l = mid + 1;
}printf("%lld\n", ans);
return 0;
}
科大訊飛杯題目
蛇形矩陣 include main for i 0 i include main else break if i 10 i 10 10 i 100 10 10 s 10 printf d n i no9 資料序列 15分 問題描述 乙個正整數有可能可以被表示為n n 2 個連續正整數之和,如 15 ...
科大訊飛杯 日期小助手
作為乙個關心父母的孩子,compute 會在每年的母親節和父親節為父母準備禮物。可是粗心的他卻不記得它們的具體日期了。已知 母親節在每年 5 月的第 2 個週日 父親節在每年 6 月的第 3 個週日。現在你需要告訴他,下乙個 不包括當天 母親節或父親節是在什麼時候。第一行包含乙個整數 t t leq...
科大訊飛杯 日期小助手(補)
思路 找規律發現母親節出現的日期在8 14之間,若x 8則x x 7 15,父親節出現的日期在15 21之間,若x 15則x x 7 22,賽時忘記掉2100年不是閏年了真的找bug找吐了 include include typedef long long ll using namespace st...