小 a 想搭乙個體積不超過 m 的塔, 他有各種大小的立方積木, 比—這道題只有那麼神奇了,寶寶看了n久n久都沒懂,最後細細分析了一下樣例,哦…..如邊長為 a 的積木, 體積為 a^3, 現在小 a 需要你給乙個 x, 每次小
a 會用乙個體積不超過 x 的最大積木, 依次到搭好為止, 現在他想最
大化積木的個數, 同時在積木個數最大的情況下使 x 最大。
—然後兩種方法冒出來了:1.列舉(30分) 2.dp(100分)
dp:
–假設我們現在可以用的體積是left,那麼我們有兩種選擇方式
1.放一塊體積最大(a),但不超過left的積木
—這時剩下的體積是:left-a^3
2.直接把剩下的體積強行變成a^3
—這時剩下的體積是:a^3−1−(a−1)^3
具體證明如下:
因為a^3-1-(a-1)^3恆大於(a-1)^3-1-(a-2)^3,我們又要保證積木最多,及要使left盡量大,所以用選前者,但是,我們並不能知道m-a^3與其的大小關係,所以也要計算
pow(x,1.0/y)可以求x的根號下y次方
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn=1;
long
long m;
long
long x,ans;
long
long cf(long
long a)
void dp(long
long left,long
long now,long
long sum)
return ;
}long
long a=(long
long)pow(left,1.0/3);
dp(left-cf(a),now+1,sum+cf(a));
dp(cf(a)-1-cf(a-1),now+1,sum+cf(a-1));
}int main()
NOIP2018 模擬測試 day1 弓箭手
題目 弓箭手弓箭手 smallr 和 zanoes 在進行一場比賽。他們輪流射擊,smallr 先射。每次射擊,smallr 都有 a b 的概率命中靶心,而 zanoes 有 c d 的概率命中靶心。先命中靶心的贏得比賽。求 smallr 贏得比賽的概率。思路 似乎,只用在 0,1 區間操作好多好...
鋪設道路(NOIP2018提高組day1)
春春是一名道路工程師,負責鋪設一條長度為 n 的道路。鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 n 塊首尾相連的區 域,一開始,第 i 塊區域下陷的深度為 d id i di。春春每天可以選擇一段連續區間 l,r l,r l,r 填充這段區間中的每塊區域,讓其下陷深 度減少 1。在選擇...
NOIP2018模擬賽2018 10 18 輕功
description 題目背景 尊者神高達進入了基三的世界,作為乙個 mmorpg 做任務是必不可少的,然而跑地圖卻令人十分不爽。好在基三可以使用輕功,但是尊者神高達有些手殘,他決定用梅花樁練習輕功。題目描述 一共有 n 個木樁,要求從起點 0 開始,經過所有梅花樁,恰好到達終點 n,尊者神高達一...