hdu 3641 神二分 有木有

2021-06-08 22:09:25 字數 640 閱讀 2828

題意,告訴你乙個數m,求最小的x!滿足x!%m== 0;

解:將m的所有質數因子和質數因子的個數存起來。二分x,對於每個m的質因子p,x!的p的個數都大於等於m的質因子個數就行了。對於二分的上限還是得注意的。就因為這個wa了乙個。二分的下限也得注意,從0開始。

二分真是好神!記得對於大數要寫ll。

/*

pro: 0

sol:

date:

*/#include #include #include #define inf 99999999999999999999ll

using namespace std;

int prime[30],sub;

__int64 num[110];

void getprime()

__int64 getnum(__int64 x, int p)return sum;

}bool can(__int64 indx)

}return true;

}__int64 bin()

return low;

}int main()}}

printf("%i64d\n",bin());

}return 0;

}

二分查詢有個坑

內容會持續更新,有錯誤的地方歡迎指正,謝謝 例題 在序列 22,34,55,77,89,93,99,102,120,140 中,採用二分查詢,分別查詢77,34,99,所需的查詢次數分別為 答案 4,2,4 理由 假設低下標用low表示,高下標用high表示 查詢77 開始low 0,high 9 ...

二分查詢中term有重複的情況

二分查詢演算法雖然簡單,但是遇到待查詢的term有重複的時候,也會存在各種小問題。下面給出二分查詢中遇到重複term時,第乙個可插入位置和最後乙個可插入位置的 第乙個可插入位置 class solution int start 0 int end array.size 1 int mid while...

二分法學習筆記(有參考其他blog)

第一種 arr儲存數,n表示陣列長度,e表示被查詢元 0,n int bin find int arr,int n,int e return 1 第二種 1,n 可以找到元素的第乙個,不過時間稍差,演算法穩定,執行時間只與搜尋陣列長度有關,而與陣列元素分布無關 int bin find int ar...