Time of Update: 2018-08-20
huffman.h #ifndef __HUFFMAN_H_FE #define __HUFFMAN_H_FE // 哈夫曼樹的節點結構 typedef struct _huff_node ...
Time of Update: 2018-08-20
Kmeans算是是聚類中的經典演算法,過程如下:選擇K個點作為初始質心repeat將每個點指派到最近的質心,形成K個簇重新計算每個簇的質心until 簇不發生變化或達到最大迭代次數 演算法中的K需要人為的指定。確定K的做法有很多,比如多次進行試探,計算誤差,得出最好的K。這樣需要比較長的時間。我們可以根據Canopy演算法來粗略確定K值(可以認為相等)。看一下Canopy演算法的過程:
Time of Update: 2018-08-20
題意 棋盤的大小是 n×m,每一個格子的權值都是 1或者−1 。 這個棋盤左上方格子的上方是入口,下邊界和右邊界是出口。 當 Picks 博士從左上方上方放入一個小球的時候,這個小球在這個棋盤中會以如下的方式運行: 如果當前小球所在的格子的權值是 1,那麼小球將會從這個格子的右邊界出去,否則它會從這個格子的下邊界出去。在小球離開這個格子之後,這個格子的權值會變成原來的相反數,即 1 變成 −1,−1 變成 1。 Picks
Time of Update: 2018-08-20
題目網址: http://pat.zju.edu.cn/contests/pat-a-practise/1066 An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by
Time of Update: 2018-08-20
我們一個一個接上,應該是 res=res∗10t(i)+i res=res*10^{t(i)}+i 這樣的形式,其中 t(i) t(i) 表示 i i 的位元。 怎麼樣快速算呢,看成遞推式: f(i)=f(i−1)∗10t(i)+i f(i)=f(i-1)*10^{t(i)}+i 。顯然可以用矩乘加速。位元相同的一起搞就行了。
Time of Update: 2018-08-20
轉載請註明:http://blog.csdn.net/l1028386804/article/details/78374836 一、Zookeeper叢集搭建 Kafka叢集是把狀態儲存在Zookeeper中的,首先要搭建Zookeeper叢集。 1、軟體環境 (3台伺服器-我的測試) 192.168.7.100 server1 192.168.7.101 server2 192.168.7.107 server3
Time of Update: 2018-08-20
什麼是FWT。 我們知道普通的卷積是這樣的: Ci=∑j+k=iAj∗Bk C_i=\sum_{j+k=i}A_j*B_k 我們用FFT可以加速這一過程。 現在我們把 + + 改成某位元運算,成了位元運算的卷積: Ci=∑j⊕k=iAj∗Bk C_i=\sum_{j⊕k=i}A_j*B_k
Time of Update: 2018-08-20
上一篇《秒殺多線程第三篇原子操作 Interlocked系列函數》中介紹了原子操作在多進程中的作用,現在來個複雜點的。這個問題涉及到線程的同步和互斥,是一道非常有代表性的多線程同步問題,如果能將這個問題搞清楚,那麼對多線程同步也就打下了良好的基礎。 程式描述: 主線程啟動10個子線程並將表示子線程式號的變數地址作為參數傳遞給子線程。子線程接收參數 -> sleep(50) -> 全域變數++ -> sleep(0) -> 輸出參數和全域變數。 要求: 1.
Time of Update: 2018-08-20
不匹配度就是異或後數1的個數。可以壓位最佳化一下,需要對於任意為開始,每 16 16 壓一起。預先處理 216 2^{16} 以內的數中1的個數。 這樣可以最佳化到 O(n∗Q/16) O(n*Q/16),是可以過的。 對於最後1分的包,考慮答案為 ∑(S1i−S2j)2=∑S12i+∑S22i−2∑S1i∗S2j \sum (S1_i-S2_j)^2=\sum
Time of Update: 2018-08-20
首先,準備好三個檔案:file1.h,file1.cpp,file2.cpp。 file1.h代碼: #ifndef FILE1_H_#define FILE1_H_#ifdef __cplusplus extern "C" { #endif void File1Print(); #ifdef __cplusplus } #endif#endif file1.cpp代碼: #include
Time of Update: 2018-08-20
1150: [CTSC2007]資料備份Backup Time Limit: 10 Sec Memory Limit: 162 MB Submit: 797 Solved: 333 [ Submit][ Status] Description Input 輸入的第一行包含整數n和k,其中n(2
Time of Update: 2018-08-20
對於支援向量機,其是一個二類分類器,但是對於多分類,SVM也可以實現。主要方法就是訓練多個二類分類器。 一、多分類方式 1、一對所有(One-Versus-All OVA) 給定m個類,需要訓練m個二類分類器。其中的分類器 i 是將 i 類資料設定為類1(正類),其它所有m-1個i類以外的類共同設定為類2(負類),這樣,針對每一個類都需要訓練一個二類分類器,最後,我們一共有 m 個分類器。對於一個需要分類的資料 x,將使用投票的方式來確定x的類別。比如分類器 i 對資料 x
Time of Update: 2018-08-20
題意 給定n, 求 ∑ni=1ϕ(i) \sum_{i=1}^n \phi(i)和 ∑ni=1μ(i) \sum_{i=1}^n \mu(i) n≤231−1 n \le 2^{31-1} 題解 假裝做了一道新題 這道題=這題+這題 水啊水
Time of Update: 2018-08-20
初學Spring,在Spring中整合Hibernate時,遇到如下異常: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'BookDAO' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested
Time of Update: 2018-08-20
題意 題解 我們設 g(i)=i2−3i+2 g(i)=i^2-3i+2,題目告訴我們的就是 g=f∗1 g=f*1。然後就可以根據杜教篩的思路搞了: ∑i=1ng(i)=∑i=1n∑d|if(d)=∑i=1n∑d⌊ni⌋f(d)=∑i=1nS(⌊ni⌋) \sum_{i=1}^ng(i)=\sum_{i=1}^n \sum_{d|i}f(d)=\sum_{i=1}^n\
Time of Update: 2018-08-20
數實值型別應用一元加,無任何影響; 非數實值型別應用一元加,首先轉化為數值,再應用一元加; 一元減同理; 如果相加的兩個操作符都是數值,則按照常規的加法計算; 如果相加的兩個操作符有一個是字串,則: 1 一個數值,一個字串,將數值轉換為字串在進行拼接; 2 兩個字串,將兩個字串進行拼接; 3 有一個是對象,布爾值,調用toString()方法轉換為字串,然後在進行拼接; 4 遇到 undefined
Time of Update: 2018-08-20
對於靜態方法調用,靜態變數賦值。Spring 提供了一個類: org.springframework.beans.factory.config.MethodInvokingFactoryBean 使用方法詳解: 在Spring設定檔中配置: <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property
Time of Update: 2018-08-20
基於旋轉的Treap。 複雜度O( log2n log_2n) #include<cstdio>#include<cstdlib>int max(int x,int y){ return x>y?x:y; }int min(int x,int y){ return x<y?x:y; }struct node{ node* ch[2]; int key,fix,size,cnt; node(){}
Time of Update: 2018-08-20
與上一篇《秒殺多線程第十篇 生產者消費者問題》的生產者消費者問題一樣,讀者寫者也是一個非常著名的同步問題。讀者寫者問題描述非常簡單,有一個寫者很多讀者,多個讀者可以同時讀檔案,但寫者在寫檔案時不允許有讀者在讀檔案,同樣有讀者在讀檔案時寫者也不去能寫檔案。 上面是讀者寫者問題示意圖,類似於生產者消費者問題的分析過程,首先來找找哪些是屬於“等待”情況。 第一.寫者要等到沒有讀者時才能去寫檔案。 第二.所有讀者要等待寫者完成寫檔案後才能去讀檔案。
Time of Update: 2018-08-20
問題描述: 對於一個位元組(8bit)的無符號整型變數,求其二進位表示中”1”的個數,要求演算法的執行效率儘可能的高。 問題求解: #include <iostream>using namespace std;#define BYTE unsigned char/*解法1:利用整型資料除法特點,通過相除和判斷餘數的值來分析.每次除二,看是否為奇數,是的話就累計加一,最後這個結果就是二進位表示中1的個數.*/int Count1(BYTE v){ int sum=0;