didi暑期訓練賽補題1

2021-09-25 09:29:27 字數 2379 閱讀 5351

b : cf 371c

題意:能組成最多的漢堡,條件是:輸入字串b,s,c的個數

思路:二分查詢值能夠使總值==n的答案,推出總和公式

(ll) max((ll) 0, m * ans1 - nb) * pb + (ll) max((ll) 0, m * ans2 - ns) * ps +

(ll) max((ll) 0, m * ans3 - nc) * pc

**:

#include#define ll long long

using namespace std;

const ll max = 1e13;

const int mod = 1e9 + 7;

//int a[max];

//int sum[max];

ll nb, ns, nc;

ll pb, ps, pc;

ll n;

ll ans1, ans2, ans3;

//ll check(int li, int ri,int mid)

ll sum(ll m)

int main()

cin >> nb >> ns >> nc;

cin >> pb >> ps >> pc;

cin >> n;

ll l = 0, r = max;

//int mid=max/2;

ll ans = 0, flag = 0;

while (l <= r)

if (sum(mid) < n) else

}if (!flag) cout << ans << endl;

//else cout << 0 << endl;

}return 0;

}

e: hdu - 1876

題意:每個人可以取1~m個石子,先取光的為勝。

思路:如果n是m+1的倍數,一定是先手贏。

**:

#include#define ll long long

using namespace std;

const int maxn = 1005;

const int mod = 1e9 + 7;

int a[maxn];

int sum[maxn];

int main()

return 0;

}

f :lightoj-1387

題意:donate是加,report輸出當前的值

思路:直接寫

**:

#include#define ll long long

using namespace std;

const ll max = 1e5 + 5;

const int mod = 1e9 + 7;

int a[max];

//int sum[max];

//ll check(int li, int ri,int mid)

int main() else

}if (flag)

}return 0;

}

補:h : hdu-5867

題意:計算1~n的英文本母和

思路:分段打表

注:百有and情況,只有1~1000個英文[1-20,整數,百位數+3]

**:

#include using namespace std;

using ll=long long;

int main() ;

a[1] = 3,a[2] = 3,a[3] = 5,a[4] = 4,a[5] = 4,a[6] = 3,a[7] = 5,a[8] = 5,a[9] = 4,a[10] = 3;

a[11] = 6,a[12] = 6,a[13] = 8,a[14] = 8,a[15] = 7,a[16] = 7,a[17] = 9,a[18] = 8,a[19] = 8,a[20] = 6;

a[30] = 6,a[40] = 5,a[50] = 5,a[60] = 5,a[70] = 7,a[80] = 6,a[90] = 6,a[100] = 3 + 7;

/*for (int i = 20; i < 100; i += 10) */

/* for (int i = 20; i < 100; i += 10) */

for (int i = 100; i < 1000; i += 100)

}a[1000] = 3 + 8;

for (int i = 2; i <= 1000; i++)

a[i] += a[i - 1];

int t;

scanf("%d", &t);

while (t--)

}

訓練賽補題

codeforces 1041b 思考 1 求最大公約數的時候除法比減法要快,以後能用除法去處理大數就不要用劍法去處理大數 codeforces 1041c 題意 其實就是給定了n個數,問間隔最少d,那麼這樣最少是幾組,並且哪個是哪一組的 思路 就是直接進行比較,先進行按照數值進行從小到大排序,如果...

山師訓練賽1 21補題

乙個機場有若干架飛機,從t 1時刻開始起飛,但現在由於一些原因,必須從k 1開始重新安排飛機班次,每架飛機延誤都有乙個損失值,要使得每架飛機的損失值乘以延遲時間的和最小。一道貪心的題目,貪心策略是k 1之後的航班全部都按原時間起飛,k 1時刻損失最大的起飛,然後按除開按原時間起飛的航班,其他按從大到...

HDU 2017 多校訓練賽1 補題

acm模版 比賽不是特別順利,第一次打多校,感覺還是英語問題很大,雖然編碼水平也很渣 比賽時做了四道,有些心痛了。賽後補補題吧,先將賽中的四道題寫一下,佔佔流量,然後慢慢新增補的題吧!水題,就是乙個公式。include include using namespace std int m int ma...