原创 LEETCODE刷題 69. x 的平方根

就是使用二分法不斷縮減low和high的範圍,注意在high - low <=1時候終止,然後從high開始檢查是不是x的平方根就可以了,判斷條件是,high^2<=x,代碼如下: class Solution { public:

原创 Leetcode刷題 70. 爬樓梯

這道題稍微有點難度,首先第一個想法就是,使用遞歸算法,遞歸函數是f(n)= f(n-1)+f(n-2),遞歸終止條件是,f(0)=0,f(1)=1,f(2)=2,但是,會爆複雜度,因爲有一個n=45的時候,複雜度就爆炸了。那麼就需要思考一

原创 小工具:找出下一層的子節點

queue<TreeNode*> find_level(queue<TreeNode*>q){ queue<TreeNode*>res; while(!q.empty()) { TreeNode* top

原创 小工具-合併兩個有序的數組-

void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int p1=0,p2=0; vector<int>temp;

原创 一個挺多源的網址GMP,GNU

像是什麼清華源之類的,這裏有一個找GMP的好網址 https://mirror.bjtu.edu.cn/gnu/gmp/,我就是記錄一下給自己用的

原创 百度網盤 網頁 倍速播放

輸入在console裏面得內容是 videojs.getPlayers("video-player").html5player.tech_.setPlaybackRate(1.3) 末尾得1.3就是調成1.3倍速得意思,當然也可以

原创 CUDA--只讀緩存

使用CUDA只讀緩存有兩個辦法 1.你可以使用內部函數__ldg來通過只讀緩存直接對數組進行讀取訪問: 但是我的彙報錯,說__ldg未定義,非常玄奇,不知道有沒有老鐵看了知道的告訴我一下 __global__ void copyKer

原创 CUDA 優化的方法-規約,循環展開,模板

大概就是,我們可以通過一些方法對相加等滿足交換律和結合律的運算做加速程序執行,在CUDA裏面有 1.規約,包括 -------->相鄰配對 和 交叉配對 兩種方法 2.循環展開 --------->2,4,8展開,甚至全部展開 3.模板

原创 CUDA-多核第一次作業-計算高斯函數

話不多說,直接上代碼,其實也是比較容易的 只能在Linux下面跑,考慮到有windows的小夥伴,其實把與時間有關的內容刪除就可以了,寫在更下面的了。 #include<math.h> #include<time.h> #inclu

原创 線程束洗牌指令

對一個給定線程計算其線程束-束內索引和線程束索引的公式如下 laneID = threadIdx.x % 32 warpID = threadIdx.x / 32 有兩組洗牌指令,分爲整數型和浮點型,每組有4種形式的洗牌指令 1.

原创 -計算非終結符的FIRST集合-First集合-可以過和不能過的代碼

1000. 計算非終結符的FIRST集合     Total: 665 Accepted: 0                 Time Limit: 1sec    Memory Limit:256MB Description

原创 關於-github-速度緩慢的

藉助碼雲 需要下載的內容github內容: 然後到碼雲中創建一個倉庫 創建倉庫後在自己的倉庫裏面下載就可以了。因爲是用碼雲的下載器,所以速度起飛!!!

原创 一個簡單的小工具-計算組合數-C++/C

計算C(n,m) int c(int m,int n){ if(n<=m) return 1; if(m>=n/2){m = n-m;} double t_m = m,t_n = n; doubl

原创 hw的幾道題目

  #include <stdio.h> int func(int n){ int total = 0;//記錄換到的汽水數量 while(n>2){ total += n/3; n = n-(n/3)*3+n/3;

原创 CentOS搭建jdk,filezilla,tomcat,mysql服務

自己搞一個CentOS6.8下來,安裝什麼的不用想太多,照做就可以了 下載jdk,給個網址如下:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-d