四校聯考 立方體

2022-06-03 07:54:10 字數 1049 閱讀 2353

【題目描述】

你有乙個揹包,你要往裡面塞一些立方體。每次,在保證揹包裡所有立方體的體積和不超過揹包容量的前提下,你會選擇乙個邊長為整數且盡可能大的立方體塞進揹包裡。

揹包的容量為[1,n]中的整數,你想知道你最多能拿到多少個立方體,以及在此前提下,揹包容量的最小值和最大值。

【輸入資料】

一行乙個整數n。

【輸出資料】

三行,每行乙個整數,分別表示最多立方體個數,容量最小值和容量最大值。

【樣例輸入】

14【樣例輸出】77

14【資料範圍】

對於20%的資料,n<=1000。

對於40%的資料,n<=100000。

對於100%的資料,1<=n<=10^15

【題解】

ysy題解搬運

考慮最終取到的立方體,從小到大排序後要滿足x1^3+x2^3+…+xi^3<(xi+1)^3。

考慮前兩問,從x1開始逐步確定每個數,顯然xi越小,後面的限制也越寬鬆,所以貪心取最小的即可。

考慮第三問。首先我們發現,由於取立方體時是從大到小取的,因此對於兩種方案,如果x[i+1]=y[i+1],x[i+2]=y[i+2],..,x[m]=y[m],並且xi>yi,那麼x一定比y大

#include#include

#include

#include

#define il inline

using

namespace

std;

typedef

long

long

ll;ll n,p,q,t,tot,x[

1000001

];ll s(ll a)

il void

init()

cout

q=p;t=n-p;

for(int i=tot;i>0;i--)

p+=s(x[i]);

t=min(t,s(x[i]+1)-s(x[i])-q-1

); }

cout

}int

main()

資料立方體

總體介紹 首先模擬乙個資料分析場景,某企業積累了如下 所示的銷售資料 中每一行表示某個時間段內某種商品在某個地區的銷售情況。很明顯,這些資料涉及到了時間 地區 產品三個業務角度。在對這樣的資料進行分析時,不同的角色都會基於自己所感興趣的業務角度提出問題 銷售經理關心各個地區的銷售情況,希望找出銷售增...

建立立方體

imanualobject cube cube scenemgr.createmanualobject cube cube.begin examples anchor operationtype.ot list 頂點 cube.position 100,100,100 0 cube.position...

資料立方體 解密

資料立方體和傳統資料庫的差別在於資料立方體即cube把很多原來要用資料庫的group by操作來達到的效果通過其獨有的儲存形式予以加速,使用者可以方便地下鑽,切面 看到各種聚合的資料的結果。試想一下,如果乙個cube擁有3個維度,為了計算在各個維度上的聚合,就要進行2 3次計算,如果有10個維度就要...