曠野大計算

2022-02-02 06:34:17 字數 2968 閱讀 2071

這垃圾語言連個不扣分的乘法都沒有...

任務怎麼這麼鬼畜啊...乙個乙個點來

第乙個點

-2a-2b?-((a+b)*2)即可。

i

i+ 1 2

+ 3 3

- 4o 5

第二個點這不就是s(-17a)嗎...

s(-(a+(a<<4))即可。

i

< 1 4

+ 1 2

- 3s 4o 5

現在我們有一些操作...是不是感覺手輸這些奇怪的指令很不順手呢

於是我們就寫乙個c++**輔助生成一下...

int cnt=0

;#define op(s) (cout

int mul2(int p,int cm=1

)int div2(int p,int cm=1

)int cpy(int

p)int add(int a,int

b)int fu(int

a)int addv(int a,int

v)int gs(int

a)int jian(int a,int

b)int

out(int

x)int gp(int

x)

第二個函式p會返回平移前的結果0/0.5/1。

第四個點

計算|x|。

這...我們看看扣分操作...

比較、max和乘法...

sgn(x)*x?要用乘法

max(x,-x)?要用max

這就很尷尬了...看來還是要從這個奇怪的s入手?

我們考慮導數!

當x趨近於0時,$\frac=s'(0)=\frac$

一棵賽艇!

這樣當|x|充分小時s(x)就≈1/4x+0.5啦。

那我們考慮p(x)(定義在上面第三個點)這個東西當x<0時會返回0...

那麼我們就直接帶入s(x>>150+p(x)<<2333),這樣x>=0時應該s裡面會趨近於inf,所以就會變成1,否則就會≈0.5+x>>152。(注意1/4)

那麼我們把這玩意兒取負,加上0.5,左移153位,對於x<0顯然會變成-2x。x+(-2x)=-x。對於x>=0,帶入會變成-0.5<<153,加上這個數就行啦!

啥,怎麼加?加上(p(x)/2)<<153=p(x)<<152即可。

咦?你說x=0?x+=1e-30即可。

咦...p(x)<<152...那上面p(x)<<2333我就改成p(x)<<152吧...還可以順便卡卡常數...

還是再定義乙個函式~

int abs(int

r)

第五個點進製轉換?模擬即可~強行送分

int

main()

out(s);

}

第六個點又是進製轉換,把十進位制轉回二進位制?

好主意!

int

main()

}

然而只有8分?或許可以卡卡常?

前兩個點先拿個函式存起來好了...

typedef vectorvi;

vi cv(

ints)

return

ans;

}int

cv(vi x)

return

s;}

第七個點計算異或?

那我們只要算00、01、10、11的異或值就行了。

我構不出來...但是出題人構出來了...

int xor01(int a,int

b)int

main()

還是8分...算了就這樣先棄療好了。

第八個點

計算a/10?

我們可以對1/10進行二進位制分解...

這時候第二題的高精度庫就可以派上用場了233

用高精度打個表:

decimal s=1,cur=0,tar=0.1

;int

main()

}

然後就可以直接肛了

int list=;

int ln=31

;int d10(int

x)

那個ln引數是人工調出來的...

並沒有看懂這個點的題解啊qaq

第九個點

排序?我們寫乙個氣泡排序!

接下來我們考慮如何求出min(a,b)...

其實只要a+min(b-a,0)即可!

那麼我們就可以這樣求出a和b兩個數的較小值,從而將a和b放好位置(因為和不變)

所以我們寫乙個氣泡排序就可以了。min0參見第四個點。

int min0(int

r)int aid[23

];void relax(int a,int

b)int

main()

for(int i=1;i<=16;i++) out

(aid[i]);

}

最後乙個點太難寫啦!看心情可能會再更

成功得到85分~

身在樊籠,心在曠野

到目前為止,我已經在學校呆了乙個半月了。我學習了很多的演算法,也許也不是那麼多。但是在我看來這些東西很多都是我沒有見過的,我很興奮,也很快樂,雖然熱,雖然累,雖然感覺自己很弱,但是我還在努力。我不知道這有什麼用,我也不知道我就究竟要走哪一步,但是還好這段感覺還不錯。但是在我的學習中確實有不盡如人意的...

高效能計算應用走入新時代 大計算來臨

很多人也許覺得高效能計算離我們很遠,在高效能計算上的技術發展只能代表純粹計算技術上的進步。但實際上,隨著高效能計算的應用領域越來越廣,高效能計算已經走入了乙個全新的時代。以前高效能計算主要集中在傳統行業領域的研究,如石油 氣象 材料 物理和地球科學計算等領域。而近幾年隨著高效能計算技術快速發展 網際...

北大計算所詞性標註集簡表

名稱 幫助記憶的詮釋 ag 形語素 形容詞性語素。形容詞 為a,語素 前面置以a。a 形容詞 取英語形容詞adjective的第1個字母。ad 副形詞 直接作狀語的形容詞。形容詞 a和副詞 d並在一起。an 名形詞 具有名詞功能的形容詞。形容詞 a和名詞 n並在一起。b 區別詞 取漢字 別 的聲母。...