H Binary Median(思維,二進位制)

2021-10-06 11:37:15 字數 1862 閱讀 6373

題意:有一堆二進位制數(01串,按字典序排序),從0到2m-1 ,我們刪除其中n(n<=100)個數,再輸出這些數的中位數。

思路:二進位制的字典序排序其實和轉化成十進位制之後的順序是一樣的。我們先把刪除了的數轉化十進位制,然後sort一下,因為最多刪除100個數,我們把這一百個數當做分界,每次加乙個分界,如果現在的總數大於我們找的中位數了,那中位數就在這個區間裡。

**:

#include

#define endl '\n'

#define null null

#define ls p<<1

#define rs p<<1|1

#define fi first

#define se second

#define mp make_pair

#define pb push_back

#define ll long long

#define int long long

#define pii pair

#define ull unsigned long long

#define all(x) x.begin(),x.end()

#define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);

#define ct cerr<<"time elapsed:"<<1.0*clock()/clocks_per_sec<<"s.\n";

char

*fs,

*ft,buf[

1<<20]

;#define gc() (fs==ft&&(ft=(fs=buf)+fread(buf,1,1<<20,stdin),fs==ft))?0:*fs++;

inline

intread()

while

(ch>=

'0'&&ch<=

'9')

return x*f;

}using

namespace std;

const

int n=

1e5+5;

const

int inf=

0x7fffffff

;const

int mod=

998244353

;const

double eps=

1e-6

;const

double pi=

acos(-

1);string s[

105]

;int num[

105]

;ll qpow

(ll a,ll b)

return res;

}signed

main()

} num[0]

=-1;

sort

(num+

1,num+n+1)

;int pos=

(qpow(2

,m)-n-1)

/2; pos++

;int tot=

0,res=-1

;for

(int i=

1;i<=n;i++)}

if(res==-1

) stack<

int>q;

while

(res)

while

(q.size()

while

(!q.

empty()

) cout<}}

理性思維與感性思維

我對藝術的定義簡單地說就是 藝術是用來表達我們的感性存在的媒介。而對思想,我的定義是 思想是人思考的過程和結果的總稱。過程包括對外在世界 包括人自身 的觀察,綜合,邏輯推理等等,結果就是觀點,觀念等等。總的來說,藝術和思想是人類精神活動的兩大類,乙個涵蓋 感性思維 乙個代表 理性思維 乙個傳達感情,...

數學思維和程式設計思維

1 程式設計沒有數學基礎不行 2 但懂數學不等於懂程式設計 舉乙個例子 求1 2 3 4 99 100的和。數學解法通常是 1 1 100 100 2 5500 2 小學生的解法 1 2 3 3 3 6 這樣累算下去。程式設計解法呢?跟數學解法2相同,如下 static void main stri...

程式設計的誤區,思維啊思維

自從會了ajax js還有ext這些東西後,做web開發總會不自覺的全部使用這些東西,做查詢 介面布局等等,重點倒不是寫 了,一堆堆的js佔了大量的工作。剛開始沒發現什麼,現在覺著這個問題很嚴重啊。發現這個問題還是得從剛剛完成的通用查詢,寫了幾百kb的純js 來控制頁面,頁面布局劃分 條件組合等控制...