題解:
本題還是沿用二分一貫的風格,二分答案。
那麼二分的條件是什麼呢?假如二分已經知道了最小值n,如何通過n求符合答案的個數m?
這裡我們可以列舉x,由於x3≤
1e
16x3
≤1e1
6,x最多列舉到215444即可,倘若列舉y就得列舉到1e16左右,很明顯列舉x是最優方法。
由於y ∗x
3≤ny∗
x3≤n
,用二分的答案n/x
3就是每
乙個x符
合不等式
的數量,
求和即可
求所有符
合答案的
個數
。就是每乙個x符合不等式的數量,求和即可求所有符合答案的個數。
n/x3就是
每乙個x
符合不等
式的數量
,求和即
可求所有
符合答案
的個數。
每一次二分求得的m』>m,說明n過大,修改右邊界;如果m』
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
//extern "c"
typedef
long
long ll;
typedef
unsigned
long
long ull;
typedef
long
double ld;
#define fi first
#define se second
#define pb push_back
#define pii pair
const
int n=
1e4+10;
const
int inf=
0x3f3f3f3f
;const
double eps=
1e-6
;int
main()
else l=mid+1;
} cout << ans << endl;
}}
牛課每日練習 鎖,取數遊戲2,慄醬的不等式
106號房間共有n名居民,他們每人有乙個重要度。房間的門上可以裝若干把鎖。假設共有k把鎖,命名為1到k。每把鎖有一種對應的鑰匙,也用1到k表示。鑰匙可以複製並發給任意多個居民。每個106房間的居民持有若干鑰匙,也就是1到k的乙個子集。如果幾名居民的鑰匙的並集是1到k,即他們擁有全部鎖的對應鑰匙,他們...
牛客 慄醬的數列
慄醬有乙個長度為n的數列a,乙個長度為m的數列b,現在詢問a中有多少個長度為m的連續子串行a 滿足 a 1 b1 k a 2 b2 k a m bm k。第一行乙個數t,表示有t組資料。對於每組資料,第一行三個整數,n,m,k。第一行輸入n個數,a1,a2,an,表示a數列中的數,第二行輸入m個數,...
牛客網 14673 慄醬數數
題目描述 慄醬在酒桌上玩乙個小遊戲,第乙個人從1開始數數,如果遇到數字中含4或者數字是4的倍數則跳過報下乙個,誰數錯了就要罰酒一杯。所以慄醬想讓你寫個程式把所有數生成出來,這樣她就可以作弊直接讀了。你一定能解決的吧?輸入描述 只有一組資料,乙個數n代表從1開始數到n。n 100000 輸出描述 按順...