15天學習總結(上)

2021-08-20 09:20:34 字數 2582 閱讀 2789

2018.5.22

第一天就考試,整個人**得不要不要的,第一次被陣列範圍坑得這麼慘,爆掉了一半的分數。

以後再也不看見個單詞就直接打上去了,impossible打成impossible這種事情太坑爹了,而且居然有好幾組的資料處來的答案是impossible,被這兩個小得不能再小的錯誤坑了好幾十分,rating又降了(有點好奇調到0會怎樣)。

這導致我拿了張餐巾紙(草率得我自己也看不下去了)在上面寫上這兩個錯誤來提醒自己。

還要記得每次考試開始時提醒自己,第1題真的沒有那麼難,不用想得那麼複雜(被數學題坑習慣了,總感覺題目裡有坑等著你去跳)。

2018.5.23

學了點初等數論,這東西學數學時有學過一點,不過還是搞不怎麼懂,還有一大堆定理。

威爾遜定理:當且僅當p為素數時,(p-1)!恆等於-1(mod p) (後面還看到一句其結論對於實際操作完全沒有益處(¬_¬))

費馬小定律:由一堆剩餘系定理和同餘定理證出來的   若p為質數,a^(p-1)≡1(modp)

尤拉定理:在數論中也被叫做費馬—尤拉定理,這是乙個關於同餘的性質(這完全就是用來湊字數的 ̄▽ ̄)

若n,a為正整數,且n,a互質,則:

證明什麼的就不寫了,太麻煩了。

還有埃式篩法和尤拉篩法(線性篩法),最大公約數和最小公倍數,素數判定,素數和合數……這些我覺得按我的能力沒法好好寫出來的東西,所以這裡提一下就好了。

2018.5.24

早上把昨天講的三個定理重新證明了一下,然後好像就沒講什麼了。

2018.5.25

在上海浪得站著都快睡著了。

2018.5.26(請假中)

2018.5.27

昨天應該講了一些有關位運算的什麼實用技巧,課件簡單地介紹了下什麼是位運算。

程式中的所有數在計算機記憶體中都是以二進位制的形式儲存的。說穿了,就是直接對整數在記憶體中的二進位制位進行操作。

還有 ↓

xor運算的性質

1、交換律

2、結合律(即(a^b)^c == a^(b^c))

3、對於任何數x,都有x^x=0,x^0=x

4、自反性 a xor b xor b = a xor  0 = a

又稍微講了些樹的dfs,lca,rmq等。

樹的dfs ↓

intpos;//記錄重心的編號

void dfs(intx,int father)

}//forend

maxp=max(maxp,n-size[x]);

if(maxp2018.5.28

講了些樹狀陣列,線段樹和左偏樹。

樹狀陣列一看上去就是個很神奇的東西 ↓

樹狀陣列跟線段樹很像,能用樹狀陣列解決的問題,基本上都能用線段樹解決,而線段樹能解決的問題樹狀陣列不一定能解決,但樹狀陣列的效率要高很多。

//返回i的二進位制最右邊1的值

int lowbit(int i)

//返回a[1]+...a[i]的和  

int sum(int i)

return res;

}

//令a[i] += val  

void add(int i,int val)

}

2018.5.29

acm歡樂賽,這是個看隊友的比賽,它讓我歡樂得悲傷不已。隊友一直在水也就算了,居然還想把粉紅色的氣球留給我(粉紅色!!!(ꏿ᷄౪ ꏿ᷄ ̨ )͞ 當時我就驚呆了),

這場比賽,我又犯了剛開始提到的錯誤,一直和第一題死坑,明明排序好就可以直接輸出了,我居然腦子犯抽一定要按題目來你去乙個我去乙個,好好的乙個幾行就可以解決的問題弄出個幾十行來,感覺自己棒棒噠(才怪呢!!!壁|( ̄д  ̄)ノ)

複製貼上這是乙個灰常灰常神奇的東西,因為它,我花了半個多小時去找乙個壓根就不存在的錯誤(不行這太悲傷了讓我去緩緩(〒︿〒))。

細節決定成敗,自從學資訊後,我第一次發現,原來錯誤(犯蠢)這東西可以無處不在。

補充:還有些不知道是什麼時候學的了,就一起放在最後。

1.kmp(由d.e.knuth,j.h.morris和v.r.pratt三位大神同時發現)

簡單說就是通過將模式串移動,利用匹配失敗後的資訊,減少匹配次數,來達到快速匹配的目的

int kmpsearch(char* s, char* p)  

else

} if (j == plen)

return i - j;

else

return -1;

}

void getnextval(char* p, int next)  

else

} }

說實在的,上面那是什麼東西,我不知道。

2.manacher

和kmp一樣,這也是關於字串的一種演算法,主要處理的是回文串。

大概,就這樣草率地結束了吧……

Android Service學習總結(上)

service 基本用法 啟動 在activity中通過 startservice new intent this,myservice.class 來進行啟動,首次啟動會呼叫myservice的oncreate 和onstartcommand 方法,非首次啟動,只會不斷的呼叫onstartcomma...

排序演算法總結(上)

實現 public static void insertsort int a a j 1 temp 把待排序的元素temp插入騰出位置的 j 1 system.out.println system.out.println 1.直接排序之後 for int i 0 i a.length i 解釋 實現...

css基礎總結(上)

1.css 規則由兩個主要的部分構成 選擇器 以及一條或多條宣告。例如 2.如果值為若干單詞,則要給值加引號 p 3.多重宣告 p 注意,乙個屬性的宣告結束後,加分號,分號進表示分割符號,而不是結束符號 好處 當你從現有的規則中增減宣告時,會盡可能地減少出錯的可能性 每行最好只有乙個屬性,增加樣式定...