<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[For free]]></title><description><![CDATA[邮箱whitezhangv5@gmail.com]]></description><link>https://blog.youkuaiyun.com/X_White</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; X_White]]></copyright><item><title><![CDATA[Kaggle-Data Science London-1]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/28891715</link><guid>https://blog.youkuaiyun.com/X_White/article/details/28891715</guid><author>X_White</author><pubDate>Fri, 06 Jun 2014 16:20:11 +0800</pubDate><description><![CDATA[import pylab as pl
import numpy as np
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report
from sklearn.cross_validation import train_test_split,Stratif]]></description><category></category></item><item><title><![CDATA[POJ 2752]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/23772825</link><guid>https://blog.youkuaiyun.com/X_White/article/details/23772825</guid><author>X_White</author><pubDate>Tue, 15 Apr 2014 17:13:20 +0800</pubDate><description><![CDATA[KMP
#include 
#include 
#include 

using namespace std;

char b[400005];
int next[400005];
int n, m;

void getnext()
{
    int j,k;
    j=0;
    k=-1;
    next[0]=-1;
    while(j<m)
    {
        if(]]></description><category></category></item><item><title><![CDATA[HDU 1028]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/23518729</link><guid>https://blog.youkuaiyun.com/X_White/article/details/23518729</guid><author>X_White</author><pubDate>Sat, 12 Apr 2014 10:51:21 +0800</pubDate><description><![CDATA[母函数
#include 
#include 
#include 

using namespace std;

int c1[400], c2[400];

int main() {
	int n;
	while(scanf("%d", &n) != EOF) {
		int i, j, k;
		for(i = 0; i < 400; i++) {
			c1[i] = 1;
			c2[i]]></description><category></category></item><item><title><![CDATA[HDU 1059]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/23510495</link><guid>https://blog.youkuaiyun.com/X_White/article/details/23510495</guid><author>X_White</author><pubDate>Sat, 12 Apr 2014 08:43:53 +0800</pubDate><description><![CDATA[多重背包问题：
#include 
#include 
#include 
#include 

using namespace std;

#define LLEN 60005

int main() {
	int n[7];
	int cse = 1;
	int flag = 0;
	while(scanf("%d%d%d%d%d%d", &n[1], &n[2], &n[3], &n[4]]]></description><category></category></item><item><title><![CDATA[HDU 1518]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/23361625</link><guid>https://blog.youkuaiyun.com/X_White/article/details/23361625</guid><author>X_White</author><pubDate>Thu, 10 Apr 2014 16:03:40 +0800</pubDate><description><![CDATA[和上一题一样
#include 
#include 
#include 
#include 

using namespace std;

int len[30];
int mark[30];
int ans, m;
int aim;

void dfs(int now, int finish, int k) {
	if(finish == 4) {
		ans = 1;
		return;
	]]></description><category></category></item><item><title><![CDATA[HDU 1455]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/23358571</link><guid>https://blog.youkuaiyun.com/X_White/article/details/23358571</guid><author>X_White</author><pubDate>Thu, 10 Apr 2014 15:36:04 +0800</pubDate><description><![CDATA[深搜+剪枝，比较容易超时
#include 
#include 
#include 
#include 

using namespace std;

int mark[111];
int len[111];
int ans, num, aim, flag;
int cmp(const void *a,const void *b)  
{  
    return *(int *)a-*(int]]></description><category></category></item><item><title><![CDATA[HDU 1242]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/23045373</link><guid>https://blog.youkuaiyun.com/X_White/article/details/23045373</guid><author>X_White</author><pubDate>Sun, 06 Apr 2014 21:11:20 +0800</pubDate><description><![CDATA[搜索水题：
#include 
#include 
#include 

using namespace std;

#define MMAX 999999

int n, m;
int dp[210][210];
int map[210][210];
int point[4][2] = {1, 0, -1, 0, 0, 1, 0, -1};

void dfs(int x, int y, in]]></description><category></category></item><item><title><![CDATA[POJ 2236]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/22879977</link><guid>https://blog.youkuaiyun.com/X_White/article/details/22879977</guid><author>X_White</author><pubDate>Thu, 03 Apr 2014 16:29:39 +0800</pubDate><description><![CDATA[还是并查集，只要计算一下距离，然后]]></description><category></category></item><item><title><![CDATA[POJ 1703]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/22802735</link><guid>https://blog.youkuaiyun.com/X_White/article/details/22802735</guid><author>X_White</author><pubDate>Wed, 02 Apr 2014 15:37:19 +0800</pubDate><description><![CDATA[带关系的并查集，每次都存自己和父节点的关系即可。0表示相同，1表示不同
#include 
#include 

using namespace std;

#define MMAX 100050

int p[MMAX];
int rank[MMAX];

void init() {
	for(int i = 0; i < MMAX; i++) {
		p[i] = i;
		rank[i] ]]></description><category></category></item><item><title><![CDATA[POJ 1611]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/22799417</link><guid>https://blog.youkuaiyun.com/X_White/article/details/22799417</guid><author>X_White</author><pubDate>Wed, 02 Apr 2014 14:53:36 +0800</pubDate><description><![CDATA[查找某个并查集里元素的个数
#include 
#include 

using namespace std;

#define MMAX 30005

int p[MMAX];

void init() {
	for(int i = 0; i < MMAX; i++) {
		p[i] = -1;
	}
}

int find(int x) {
	int s;
	for(s = x; p[s]]]></description><category></category></item><item><title><![CDATA[k-近邻算法]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/21980433</link><guid>https://blog.youkuaiyun.com/X_White/article/details/21980433</guid><author>X_White</author><pubDate>Tue, 25 Mar 2014 10:25:57 +0800</pubDate><description><![CDATA[函数：
tile(A,(x, y)) 重复A，x行y列
tile(A,x) 重复A x次
返回 array类型
>>> numpy.tile([1,2],(1,2))
array([1,2,1,2])


mat.sum(axis=0) 计算行和
mat.sum(axis=1) 计算列和


argsort() 返回排序后的下标
>>> a
array([3,1,2])
>]]></description><category></category></item><item><title><![CDATA[POJ 1195]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/17463633</link><guid>https://blog.youkuaiyun.com/X_White/article/details/17463633</guid><author>X_White</author><pubDate>Sat, 21 Dec 2013 10:55:27 +0800</pubDate><description><![CDATA[二维树状数组，比较简单
#include 
#include 
#include 

using namespace std;

const int llen = 1124;
int tree[llen][llen]; 
int len;

void init() {
	for(int i = 0; i <= len; i++) {
		for(int j = 0; j <= len; j++)]]></description><category></category></item><item><title><![CDATA[LA 4329]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/17454857</link><guid>https://blog.youkuaiyun.com/X_White/article/details/17454857</guid><author>X_White</author><pubDate>Fri, 20 Dec 2013 21:41:43 +0800</pubDate><description><![CDATA[树状数组，前后统计比当前位置的大小的个数，然后累乘，再相加
#include 
#include 
#include 

using namespace std;

#define LLEN 100004

int num[LLEN];
int a[LLEN];

int lowbit(int x) {
	return x & (-x);
}

void update(int pos) {
	w]]></description><category></category></item><item><title><![CDATA[POJ 1837]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/17414369</link><guid>https://blog.youkuaiyun.com/X_White/article/details/17414369</guid><author>X_White</author><pubDate>Thu, 19 Dec 2013 13:47:53 +0800</pubDate><description><![CDATA[一开始想用集合枚举的方式，后来看了别人的解题报告发现原来通过转换可以变为一个01背包问题。
dp[i][j] 表示前 i 个砝码，平衡系数为 j 的时候种类个数。其中 j 为7500为平衡状态（7500 = 15*20*20*25/2，因为不允许存在负数为数组下标，所以除以2）。
这里当在左边的时候 j 减去一个数，在右边的时候加上一个数。当左右平衡的时候即会回到7500这个平衡状态。
方程]]></description><category></category></item><item><title><![CDATA[POJ 2492]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/17392121</link><guid>https://blog.youkuaiyun.com/X_White/article/details/17392121</guid><author>X_White</author><pubDate>Wed, 18 Dec 2013 11:24:19 +0800</pubDate><description><![CDATA[和食物链类似，需要计算集合之间的关系。这里明确一点即可，就是根节点的初始值是都相同，为0。
只要在路径压缩和合并的时候注意即可。
#include 
#include 
#include 

using namespace std;

#define LLEN 2005

int c, g;
int p[LLEN], f[LLEN];

void init() {
	for(int i = 0]]></description><category></category></item><item><title><![CDATA[UVa 10891]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/17385215</link><guid>https://blog.youkuaiyun.com/X_White/article/details/17385215</guid><author>X_White</author><pubDate>Tue, 17 Dec 2013 22:37:34 +0800</pubDate><description><![CDATA[一开始以为只抽一个数，后来发现原来是从一端抽取一列数
#include 
#include 
#include 
#include 

using namespace std;

int num[104][104];
int sum[104];
/*
int dfs(int s, int e) {
	if(num[s][e]) return num[s][e];
	if(s > e) retur]]></description><category></category></item><item><title><![CDATA[UVa 10635]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/17383659</link><guid>https://blog.youkuaiyun.com/X_White/article/details/17383659</guid><author>X_White</author><pubDate>Tue, 17 Dec 2013 21:20:19 +0800</pubDate><description><![CDATA[最长公共子序列的问题，不过看了其他的代码是把该问题想最长上升子序列转换的（LIS问题可以在nlogn时间内解决，不理解为何不是n^2）
代码如下：
#include 
#include 
#include 
#include 
#include 

using namespace std;

#define LLEN 80000
#define INF 99999999

int a[LLEN]]></description><category></category></item><item><title><![CDATA[LA 3384]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/17353655</link><guid>https://blog.youkuaiyun.com/X_White/article/details/17353655</guid><author>X_White</author><pubDate>Mon, 16 Dec 2013 15:27:57 +0800</pubDate><description><![CDATA[约瑟夫问题的变种，输入n,k,m 表示有n个人，每数k个删除一次，最开始从m开始。
最原始的约瑟夫是每数两次删除一次，公式如下：
f(1) = 1
f(2n) = 2*f(n) - 1
f(2n+1) = 2*f(n) + 1
理解的时候这么想：因为是递推，当有一个人的时候不能删除，即为终止状态。之后每次计算的时候依赖于前边的值，拿偶数为例，第二圈为 x 的人即为上一圈 2x-1 位置的]]></description><category></category></item><item><title><![CDATA[HDU 1207]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/17300509</link><guid>https://blog.youkuaiyun.com/X_White/article/details/17300509</guid><author>X_White</author><pubDate>Fri, 13 Dec 2013 13:08:40 +0800</pubDate><description><![CDATA[汉诺塔问题，本来以为是个递推公式的题，f[n] = 2*f[n-2] + 3；后来发现当计算到 f[12]的时候就出错了，搜解题报告后发现原来是个动归的题
其中需要用double 类型来存储数据，
#include 
#include 
#include 

using namespace std;

double a[65];
double f[65];

int main() {
	int]]></description><category></category></item><item><title><![CDATA[HDU 4597]]></title><link>https://blog.youkuaiyun.com/X_White/article/details/17200901</link><guid>https://blog.youkuaiyun.com/X_White/article/details/17200901</guid><author>X_White</author><pubDate>Sun, 08 Dec 2013 15:23:43 +0800</pubDate><description><![CDATA[搜索题
因为是两个人选数，并且都希望得到最优，随意需要枚举搜索4中情况，从中找到最优的


#include 
#include 
#include 

using namespace std;

#define LLEN 30

int card1[LLEN], card2[LLEN];
int dp[LLEN][LLEN][LLEN][LLEN];
int sum1[LLEN], su]]></description><category></category></item></channel></rss>