Time of Update: 2018-12-03
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define MAX 1000000000#define N 10010#define M 5010#define lch(i) ((i)<<1)#define rch(i) ((i)<<1|1)#define min(a,b) a<b?a:b#define max(a,b) a&
Time of Update: 2018-12-03
題意是求一堆點中的兩個點,其串連的直線線要能等分所有點。#include <queue>#include <stack>#include <math.h>#include <stdio.h>#include <stdlib.h>#include <iostream>#include <limits.h>#include <string.h>#include
Time of Update: 2018-12-03
題意:定義這樣一種數:Threeprime,指對於它的任意連續3位上的數字,都構成一個3位的質數。求對於一個n位元,存在多少個Threeprime數。讀入一行,一個整數n(3<=n<=10000)。輸出一行,即總數mod 10^9+9。解法:記錄[100, 1000)範圍內的所有的素數(是素數的每一位)。然後從n = 4往後,定義dp[i][x2][x3], i表示到第i位時,第i-1位為x2, 第i為為x3,此時所包含的情況數。所以有:dp[i][x2][x3] = (dp[i][
Time of Update: 2018-12-03
貪心, 數矩形的個數.可以先把(x,y)為終點往左的矩形數記錄下來, 這裡可以應用DP的方法然後O(n^3)迴圈, 說不清楚, 看代碼吧./******************************************************************************* # Author : Neo Fung # Email : neosfung@gmail.com # Last modified: 2012-02-29 20:24 # Filename: ZOJ20
Time of Update: 2018-12-03
時隔2月多,老闆又布置新任務,將Infocom會議的文章用latex排版,時間比較緊,所以也就加個班,現在總算是改完了,做過2次排版,只能算是瞭解的階段吧,上一篇文章latex初學者入門已經基本介紹了使用環境以及其他的一些基本內容,現在把這次排版遇到的問題拿來與大家分享:1.
Time of Update: 2018-12-03
樹DP經典問題,公司聚會,下屬和直屬上司不能共存,給出每個人的快樂值,再給出每個人的編號和他的上司,選出一些人蔘加聚會使快樂值最大/*從葉子開始選擇,每個節點只有選不和不選兩種可能,dp[rt][0],dp[rt][1]分別表示選和不選該節點dp[rt][1]=sum{ dp[son][0] }+val[rt] , 因為跟選了它的兒子就全部不能選dp[rt][0]=sum{ max{dp[son][0] , dp[son][1]}
Time of Update: 2018-12-03
做JNA的時候遇到了unsigned int如何映射的問題,因為java中沒有unsigned 類型,還在想要不要就用普通的int型,然後最後取abs一下嘗試了一下,發現最後返回的值不對。DLL中的代碼如下:unsigned int add(unsigned int first,unsigned int second) {printf("(c) test jna : %u + %u = %u\n", first, second, first + second);return first +
Time of Update: 2018-12-03
chrome視窗和標籤頁快速鍵: Ctrl+N 開啟新視窗 Ctrl+T 開啟新標籤頁 Ctrl+Shift+N 在隱藏模式下開啟新視窗 Ctrl+O,然後選擇檔案 在Google瀏覽器中開啟電腦上的檔案 按住 Ctrl 鍵,然後點選連結 從後台在新標籤頁中開啟連結,但您仍停留在當前標籤頁中 按住 Ctrl+Shift 鍵,然後點選連結 在新標籤頁中開啟連結,同時切換到新開啟的標籤頁 按住 Shift 鍵,然後點選連結 在新視窗中開啟連結 Alt+F4 關閉當前視窗
Time of Update: 2018-12-03
int sprintf( char *buffer, const char *format [, argument] ... );<stdio.h>例如:int ss;char temp[64];string str;ss = 1000;sprintf(temp, "%d", ss);string s(temp);//調用string的方法cout<<s.c_str()<<endl;//1000cout<<s.size()<<endl;
Time of Update: 2018-12-03
//轉自:http://www.cnblogs.com/a180285/archive/2012/01/15/2290290.html//------------------------------------------------------------------------------------------------------------------------------------------------------------我在網上到處找了一些與演算法相關的網站,也包括一些
Time of Update: 2018-12-03
照著九講的公式,也只記得這些了。。#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;int p[105],h[105],c[105];int dp[105];int n;void CompletePack(int p,int h){for(int i=p;i<=n;i++)dp[i]=max(dp[i],dp[i-p]+h);}void ZeroOnePack(
Time of Update: 2018-12-03
給出x軸上的線段的端點座標,一個線段能覆蓋另一個線段(端點不能相同),求出最多的線段覆蓋並且從短到長給出路徑。#include <cstdio>#include <cstring>using namespace std;int N,A[500],B[500],memo[500],choice[500];int solve(int last){ int &ret = memo[last]; if(ret==-1){ ret = 0;
Time of Update: 2018-12-03
0RA-00905:missing keyword兩張表進行資料的拷貝,最常用的拷貝語句是:insert into select和select into from但是請絕對的注意: 在Oracle中select into from不可以使用!原因很簡單:select into是PL/SQL language 的指派陳述式!如果使用則Oracle會拋出0RA-00905:missing keyword的異常!但是可以用create table select代替該功能!但是在Sql
Time of Update: 2018-12-03
樹狀數組的wiki頁面:http://zh.wikipedia.org/wiki/%E6%A0%91%E7%8A%B6%E6%95%B0%E7%BB%84題意:給出士兵的身高站位求逆序數,本題中是求某人前面比他矮的人的個數和。#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 10007;int c[N], n;int
Time of Update: 2018-12-03
STL函數對象 STL不但使我們能夠更輕鬆、更快捷地編寫複雜的代碼,而且使編寫的代碼既標準又高度最佳化。std::vector<std::string> names;//
Time of Update: 2018-12-03
這一題很容易抽象成最長上升子序列問題:最長上升子序列問題:給出一個由n個數組成的序列x[1..n],找出它的最長單調上升子序列。即求最大的m和a1,a2……,am,使得a1<a2<……<am且x[a1]<x[a2]<……<x[am]。 動態規劃求解思路分析:(O(n^2))經典的O(n^2)的動態規划算法,設A[i]表示序列中的第i個數,F[i]表示從1到i這一段中以i結尾的最長上升子序列的長度,初始時設F[i] = 0(i = 1, 2, ..., len(
Time of Update: 2018-12-03
這題目是經典的DP題目,也可叫作LIS(Longest Increasing Subsequence)最長上升子序列 或者 最長不下降子序列。很基礎的題目,有兩種演算法,複雜度分別為O(n*logn)和O(n^2) 。A.O(n^2)演算法分析如下: (a[1]...a[n] 存的都是輸入的數) 1、對於a[n]來說,由於它是最後一個數,所以當從a[n]開始尋找時,只存在長度為1的不下降子序列; 2、若從a[n-1]開始尋找,則存在下面的兩種可能性: (1)若a[n-1] < a[n]
Time of Update: 2018-12-03
每個版本的 ubuntu 都有好幾種 iso ,常用的兩種就是所謂的 Desktop CD(其 iso 檔案名稱中含有 -desktop-字樣)和 Alternate install CD(其 iso 檔案名稱中含有 -alternate- 字樣)。 Desktop CD 是一個live cd ,可以不經安裝直接啟動到 ubuntu 案頭環境,再點擊案頭上的 install(安裝)表徵圖就可以將系統安裝到硬碟。有時也稱之為 圖形介面安裝方式 。而 Alternate install CD
Time of Update: 2018-12-03
函數指標和函數對象函數指標:指向函數的指標變數。本身首先應是指標變數,只不過該指標變數指向函數。這正如用指標變數可指向整型變數、字元型、數組一樣,這裡是指向函數。如前所述,C在編譯時間,每一個函數都有一個入口地址,該入口地址就是函數指標所指向的地址。有了指向函數的指標變數後,可用該指標變數調用函數,就如同用指標變數可引用其他類型變數一樣,在這些概念上是一致的。函數指標有兩個用途:調用函數和做函數的參數。函數指標的聲明方法為: 資料類型標誌符 (指標變數名) (形參列表); 注1:“函數類型”
Time of Update: 2018-12-03
DFS好題。首先因為最多隻有16種元素,所以我們可以用一個INT表示一個組合,每一位對應一個元素,1表示這個元素在這個組合中出現。最主要的剪枝是資料的預先處理。如果存在三種組合11, 21, 2, 3我們只需要保留第一種組合就行了,這裡有點貪心的成分。因為組合中的元素越少,能夠同時存在的組合越多。/******************************************************************************* # Author : Neo Fung