這個**很簡單,就是簡單模擬一下,使用兩個陣列,分別儲存兩個向量,最後再遍歷一下就ok ,但是只有60分,因為該儲存方式是將稀疏向量恢復為不稀疏的向量儲存的,導致在測試最大的幾個資料項的時候記憶體不夠用
#include
using
namespace std;
intmain()
;int varr[n+1]
=;for(
int i=
0;i)for
(int i=
0;i)//get the mutiple of u and v
long
long res=0;
for(
int i=
1;i1;i++)}
printf
("%lld"
,res)
;}
解決了之前記憶體不夠的問題,但是執行時間超時,還是只有60分,原因是//get the mutiple of u and v
(遍歷)處的時間花費過多。
#include
#include
using
namespace std;
intmain()
for(
int i=
0;i)//get the mutiple of u and v
long
long res=0;
for(
int k=
0;k1;k++)}
printf
("%lld"
,res)
;}
省去遍歷的操作,在輸入第二個向量的時候就得出結果,成功100分
#include
#include
using
namespace std;
intmain()
//get the mutiple of u and v
long
long res=0;
for(
int i=
0;iprintf
("%lld"
,res)
;//must be %lld
}
省去每次都要建立乙個新pair
#include
#include
using
namespace std;
intmain()
//get the mutiple of u and v
long
long res=0;
for(
int i=
0;iprintf
("%lld"
,res)
;return0;
}
1、map可以用來建立鍵值對,結構體也可以,但是結構體不提供對鍵的隨機訪問,map可以通過這點來提公升速度。
2、map一般通過insert(pair)來插入值
,但直接使用鍵值對也可以
3、在需要對兩個陣列進行操作時,我們可以在儲存第乙個陣列後,在輸入第二個陣列的時候進行對結果的操作。以減少執行時間
抽稀 Douglas Peucker演算法
douglas peucker演算法 在數位化過程中,需要對曲線進行取樣簡化,即在曲線上取有限個點,將其變為折線,並且能夠在一定程度 上保持原有的形狀。經典的douglas peucker演算法描述如下 1 在曲線首尾兩點a,b之間連線一條直線ab,該直線為曲線的弦 2 得到曲線上離該直線段距離最大...
Linux巧解 PATH奧秘
枯燥但精闢安裝linux虛擬機器時設定的 path,當使用putty去執行命令時,系統會自動到 path設定的目錄下去找到這條命令執行 而我們在普通使用者的主目錄或其他目錄下去建立乙個指令碼,賦予指令碼可執行許可權後,按理來說指令碼的名稱就可以作為一條命令執行了,比如說建立了名為greet.sh指令...
GRE數學題巧解
解決gre數學難題兩大巧辦法 最小值代入檢驗法 這是數學部分最重要的解題技巧 顧名思義,這種方法通過代入某乙個值求解,將複雜的問題轉化成簡單易懂的代數式。我們前面說過,gre考試所測試的數學知識不超過初中水平,但ets卻輕而易舉地就能把這些題變難,慣用的手段不是屢設陷阱,就是用晦澀複雜的語言來表達乙...