牛課每日練習 鎖,取數遊戲2,慄醬的不等式

2021-10-05 11:16:48 字數 1586 閱讀 9516

106號房間共有n名居民, 他們每人有乙個重要度。房間的門上可以裝若干把鎖。假設共有k把鎖,命名為1到k。每把鎖有一種對應的鑰匙,也用1到k表示。鑰匙可以複製並發給任意多個居民。每個106房間的居民持有若干鑰匙,也就是1到k的乙個子集。如果幾名居民的鑰匙的並集是1到k,即他們擁有全部鎖的對應鑰匙,他們都在場時就能開啟房門。新的陸戰協定規定,一組居民都在場時能開啟房門當且僅當他們的重要度加起來至少為m。問至少需要給106號房間裝多少把鎖。即,求最小的k,使得可以適當地給居民們每人若干鑰匙(即乙個1到k的子集),使得任意重要度之和小於m的居民集合持有的鑰匙的並集不是1到k,而任意重要度之和大於等於m的居民集合持有的鑰匙的並集是1到k。

第一行兩個整數n和m,0示例1

複製4 3

1 1 1 1

複製

6
106號房共有4名居民,只有3人在場時才能開啟門。這時共需6把鎖。
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 0x7ffffff

#define p pairtypedef long long ll;

using namespace std;

const ll mod=1e9+7;

int ans;

ll n,m,a[25];

int main()

return 0;

}

有不等式y⋅x3≤ n,已知y為正整數,x為大於1的正整數,問當x和y的解數量剛好為m的時候n的最小值,如果不存在輸出 -1。

多組資料讀入。

每組資料乙個數字m,如題所示。

每組資料輸出一行,輸出答案。
示例1

複製

1
複製

8
當方案恰好只有一種的時候,n的最小值為8,此時y=1,x=2。
1 ≤ m ≤ 1016

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 0x7ffffff

#define p pairtypedef long long ll;

using namespace std;

const ll mod=1e9+7;

ll n, m;

ll check(ll num)

int main()

else

l=mid+1;

}if(check(ans)==m)

cout

cout<<"-1"<}

return 0;

}

牛客每日練習 比賽,完全平方數,裝進肚子

你在打比賽,這場比賽總共有12個題 對於第i個題,你的隊伍有a i 的機率解決她 如果解決不了她呢?由於所有人討論的都很大聲 所以你有b i 的概率從左邊那個隊那裡聽會這個題的做法 有c i 的概率從右邊那個隊那裡聽會這個題的做法 請問最終你們隊伍解出0 12題的概率分別是多少 第一行12個數表示a...

基礎練習 回形取數

問題描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出格式 輸出只有一行,共mn個數,為輸入矩陣回形取數得到的結果。數之間用...

基礎練習 回形取數

基礎練習 回形取數 時間限制 1.0s 記憶體限制 512.0mb 提交此題 錦囊1 錦囊2 問題描述 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個...