動物森友會 科大訊飛杯L題 二分答案 最大流

2021-10-05 05:44:30 字數 1756 閱讀 4482

有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...