感覺這場多校的題目不是小學數學就是初中英語,而且我都不會。。
我用二分做的,wa了很久,最後靠對拍過的。
如果用二分做的話細節太多了,很容易出錯。
看到網上大部分解法都是討論。
以後應該要給自己找乙個實現起來比較簡單的演算法。
**
#include
#include
using
namespace
std;
const
int maxn = 100010;
int n,m,l1,r1,l2,r2;
int a[maxn];
double
handle
() int k;
int m = l+((r-l)>>1)-1;
if(!((l1<=m&&m<=r1)||(l2<=m&&m<=r2))) m=min(r1,r2);
int num = min(max(0,m-l1+1),r1-l1+1)+min(max(0,m-l2+1),r2-l2+1);
if((l1<=l&&l<=r1)&&(l2<=l&&l<=r2)&&numelse k=m;
if((r1-l1+1+r2-l2+1)&1) return a[k];
else
else
return a[k];
}}void
solve()}
intmain
()
二分搜尋及其變形討論
最近刷leetcode的時候遇到了不少二分查詢的題,二分查詢是非常高效的查詢策略,但是有乙個前提就是陣列必須是有序的。1.對於標準的二分搜尋,針對的是沒有重複元素的有序陣列,每個元素只出現一次。標準的二分搜尋的 很簡潔,對於程式設計師來講最好會背 int std binary search int ...
討論1 5 分析「二分法」
目錄 1.題目 2.分析過程 3.源 4.執行結果 查詢演算法中的 二分法 是這樣定義的 給定n個從小到大排好序的整數序列list,以及某待查詢整數x,我們的目標是找到x在list中的下標。即若有list i x,則返回i 否則返回 1表示沒有找到。二分法是先找到序列的中點list m 與x進行比較...
1128 二分 二分查詢
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...