一些必要的優化

2022-08-20 17:54:12 字數 664 閱讀 7283

一、求找到某個數的所有素因子:

自己的做法:使用乙個vector,在篩素數的時候,將當前素數i,放入vec[j],其中j為i的倍數。這樣如果詢問很多,則是乙個可行的方法。但是如果詢問較少,空間和時間花費都會很大。

優化做法:篩素數的時候,對於每個數,只需要記錄它的最小(或最大)的素因子就行了。查詢的時候,每次都除以當前數的最小的素因子,然後更新當前數,繼續往下找。這樣,就能找到所有的素因子了。這種方法對於詢問次數較少的題目,將會比第一種做法快上很多。

二、假如已知當前的乙個二進位制狀態sta,求其所有子狀態s1,s2使(s1&s2)==0 && (s1|s2)=sta。

自己的做法:

(1)dfs搜尋。對於狀態sta,若某一位i上為1,則枚舉子狀態s1的第i為為0或者為1。s2=sta^s1。搜出所有情況。

(2)使用lowbit找出所有sta為1的位數,然後逐位列舉,跟搜尋差不多,只是換成2進製列舉的寫法。

優化做法:直接貼**好了i為sta,j為s1。

for (int i = 1; i < (1

<< (n - 1)); i++)

}

三、對於mod運算,能不用就不用。因為它帶來的常數複雜度會有很大可能導致tle。

樹莓派一些必要的配置

1 首先,sudo raspi config 修改密碼 2 擴充套件可用空間 選擇第一項 expand filesystem 擴充套件 sd 卡上可用的空間,不然以後會有很多大軟體,不能安裝 提示空間不足,例如 mysql 擴充套件之後可以通過 df h 命令看到效果 3.root 賬號設定 如果你...

優化的一些例項

優化使用的工具,使用loadrunner做為壓力測試工具,使用jprobe進行 剖析。1 第乙個例項。原狀況 呼叫乙個api,發現執行的時間很高,用jprobe分析,發現消耗時間最長的是把快取中的乙個樹從第三個節點進行扁平化,就是把第二個節點的子樹構造為乙個列表,不知道為什麼構造這個資料的耗時比直接...

mysql的一些優化

前言 sql優化,是一種概率層面的優化。至於是否實際使用了我們的優化,需要通過explain進行推測。注意 服務層中有sql優化器,可能會影響我們的優化,同時註明 sql的優化前提是有索引 有索引 有索引 in和exists的使用場景 select from a where exists selec...