<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[maybeevil的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/maybeevil</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; maybeevil]]></copyright><item><title><![CDATA[C++ 大数操作类]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6413740</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6413740</guid><author>maybeevil</author><pubDate>Thu, 12 May 2011 09:59:00 +0800</pubDate><description><![CDATA[<br />class BigNum;
istream& operator>>(istream&,  BigNum&);
ostream& operator<<(ostream&,  BigNum&);
#define MAXN 9999
#define MAXSIZE 1000
#define DLEN 4
class BigNum
{
public:
	int a[MAXSIZE];
	int len;
public:
	BigNum(){len = 1;memset(a,0,s]]></description><category></category></item><item><title><![CDATA[KMP算法模板+POJ3461实现]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6411373</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6411373</guid><author>maybeevil</author><pubDate>Wed, 11 May 2011 11:19:00 +0800</pubDate><description><![CDATA[<br />void preKmp(char *src, int m, int *rule){
  int i=0,j=-1;
  rule[0]=j;
  while(i<m){
	  while(j!=-1 && src[j] != src[i])
		  j=rule[j];
	  i++,j++;
	  if(j>=m)
		  rule[i]=rule[j-1];
	  else
		  rule[i]=j;
  }
}
void kmp(char *src, int m]]></description><category></category></item><item><title><![CDATA[STL map的使用 POJ2503]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6366246</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6366246</guid><author>maybeevil</author><pubDate>Wed, 27 Apr 2011 11:11:00 +0800</pubDate><description><![CDATA[<br />BabelfishTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 18487 Accepted: 7978<br />DescriptionYou have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have a ]]></description><category></category></item><item><title><![CDATA[求组合个数 POJ2249 以及一种组合的输出方法]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6365973</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6365973</guid><author>maybeevil</author><pubDate>Wed, 27 Apr 2011 09:42:00 +0800</pubDate><description><![CDATA[DescriptionIn how many ways can you choose k elements out of n elements, not taking order into account? Write a program to compute this number.InputThe input will contain one or more test cases. Each test case consists of one line containing two integers n]]></description><category></category></item><item><title><![CDATA[快速输出指定范围所有素数]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6365872</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6365872</guid><author>maybeevil</author><pubDate>Wed, 27 Apr 2011 09:05:00 +0800</pubDate><description><![CDATA[<br /> #include<stdio.h>
#include<string.h>

bool flag[2000000];

int main()
{
	int N;
	//freopen("E://input.txt","r",stdin);
	for(int i=2;i<=1415;i++)
		if(!flag[i])
			for(int j=i<<1;j<=2000000;j+=i)
				flag[j]=true;
	while(true)
	{
		sca]]></description><category></category></item><item><title><![CDATA[POJ1611 The Suspects 并查集求解]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6360909</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6360909</guid><author>maybeevil</author><pubDate>Mon, 25 Apr 2011 10:40:00 +0800</pubDate><description><![CDATA[<br />The SuspectsTime Limit: 1000MS Memory Limit: 20000KTotal Submissions: 10780 Accepted: 5110<br />DescriptionSevere acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To m]]></description><category></category></item><item><title><![CDATA[整数划分问题的解决-POJ1664]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6360609</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6360609</guid><author>maybeevil</author><pubDate>Mon, 25 Apr 2011 09:07:00 +0800</pubDate><description><![CDATA[<br /> 放苹果Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 17189 Accepted: 10849<br />Description把M个同样的苹果放在N个同样的盘子里，允许有的盘子空着不放，问共有多少种不同的分法？（用K表示）5，1，1和1，5，1 是同一种分法。<br />Input第一行是测试数据的数目t（0 <= t <= 20）。以下每行均包含二个整数M和N，以空格分开。1<=M，N<=10。<br />Output对]]></description><category></category></item><item><title><![CDATA[求大数阶乘位数方法]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6341953</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6341953</guid><author>maybeevil</author><pubDate>Fri, 22 Apr 2011 15:52:00 +0800</pubDate><description><![CDATA[<br />//斯特林公式<br /> <br />#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
#include <math.h>
using namespace std;
#define PI 3.1415926
double e=2.7182818284;
int main()
{	
	int t,n;
	freopen("E://input.txt","r",stdi]]></description><category></category></item><item><title><![CDATA[使用一维数组的LCS解法]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6340616</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6340616</guid><author>maybeevil</author><pubDate>Fri, 22 Apr 2011 09:56:00 +0800</pubDate><description><![CDATA[<br />回文字符串时间限制：3000 ms  |  内存限制：65535 KB难度：4描述所谓回文字符串，就是一个字符串，从左到右读和从右到左读是完全一样的，比如"aba"。当然，我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你，给你一个字符串，可在任意位置添加字符，最少再添加几个字符，可以使这个字符串成为回文字符串。输入第一行给出整数N（0<N<100）<br />接下来的N行，每行一个字符串，每个字符串长度不超过1000.输出每行输出所需添加的最少字符数样例输入1
Ab3bd样]]></description><category></category></item><item><title><![CDATA[Dijkstra/Floyd-Warshall 最短路径算法]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6327248</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6327248</guid><author>maybeevil</author><pubDate>Sat, 16 Apr 2011 10:54:00 +0800</pubDate><description><![CDATA[描述南将军统领着N个部队，这N个部队分别驻扎在N个不同的城市。他在用这N个部队维护着M个城市的治安，这M个城市分别编号从1到M。现在，小工军师告诉南将军，第K号城市发生了暴乱，南将军从各个部队都派遣了一个分队沿最近路去往暴乱城市平乱。现在已知在任意两个城市之间的路行军所需的时间，你作为南将军麾下最厉害的程序员，请你编写一个程序来告诉南将军第一个分队到达叛乱城市所需的时间。注意，两个城市之间可能不只一条路。 输入第一行输入一个整数T，表示测试数据的组数。(T每组测试数据的第一行是四个整数N,M,P,Q(1随后]]></description><category></category></item><item><title><![CDATA[求大数余数方法]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6327154</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6327154</guid><author>maybeevil</author><pubDate>Sat, 16 Apr 2011 09:59:00 +0800</pubDate><description><![CDATA[<br />例:  除数为10003<br /> <br /> 
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>

using namespace std;

char matrix[1000001];

int main()
{
	int t,i,ssave,len;
	//freopen("E://input.txt","r",stdin);
	cin>>t;
	w]]></description><category></category></item><item><title><![CDATA[矩形嵌套的单调递增子序列解决]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6327145</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6327145</guid><author>maybeevil</author><pubDate>Sat, 16 Apr 2011 09:54:00 +0800</pubDate><description><![CDATA[<br />矩形嵌套时间限制：3000 ms  |  内存限制：65535 KB难度：5描述有n个矩形，每个矩形可以用a,b来描述，表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d（相当于旋转X90度）。例如（1,5）可以嵌套在（6,2）内，但不能嵌套在（3,4）中。你的任务是选出尽可能多的矩形排成一行，使得除最后一个外，每一个矩形都可以嵌套在下一个矩形内。输入第一行是一个正正数N(0<N<10)，表示测试数据组数，<br />每组测试数据的第一行是一个正正数]]></description><category></category></item><item><title><![CDATA[康托展开及其逆运算]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6327135</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6327135</guid><author>maybeevil</author><pubDate>Sat, 16 Apr 2011 09:46:00 +0800</pubDate><description><![CDATA[<br />一、康托展开<br /><br />(1)找出45231在这个排列中的顺序<br />比4小的数有3个<br />比5小的数有4个但4已经在之前出现过了所以是3个<br />比2小的数有1个<br />比3小的数有两个但2已经在之前出现过了所以是1个<br />比1小的数有0个<br />二、康托展开的逆运算<br /><br />(1)找出第96个数<br />首先用96-1得到95<br />用95去除4! 得到3余23<br />用23去除3! 得到3余5<br />用5去除2!得到2余1]]></description><category></category></item><item><title><![CDATA[Bitset简单应用]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6327124</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6327124</guid><author>maybeevil</author><pubDate>Sat, 16 Apr 2011 09:42:00 +0800</pubDate><description><![CDATA[<br />找球号(二）时间限制：1000 ms  |  内存限制：65535 KB难度：5描述在某一国度里流行着一种游戏。游戏规则为：现有一堆球中，每个球上都有一个整数编号i(0<=i<=100000000),编号可重复，还有一个空箱子，现在有两种动作：一种是"ADD"，表示向空箱子里放m(0<m<=100)个球，另一种是"QUERY”，表示说出M(0<M<=100)个随机整数ki(0<=ki<=100000100),分别判断编号为ki 的球是否在这个空箱子中（存在为"YES",否则为"NO"），先答出者]]></description><category></category></item><item><title><![CDATA[方程整数解条件]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6327119</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6327119</guid><author>maybeevil</author><pubDate>Sat, 16 Apr 2011 09:40:00 +0800</pubDate><description><![CDATA[<br />二元一次不定方程的一般形式为ax＋by＝c。其中 a，b，c 是整数，ab ≠ 0。此方程有整数解的充分必要条件是a、b的最大公约数整除c]]></description><category></category></item><item><title><![CDATA[求大数对9余数方法]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6327112</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6327112</guid><author>maybeevil</author><pubDate>Sat, 16 Apr 2011 09:36:00 +0800</pubDate><description><![CDATA[<br />一个自然数除以9的余数，等于这个自然数各个数位上数字和除以9的余数。]]></description><category></category></item><item><title><![CDATA[RMQ算法求最大最小差值]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6327101</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6327101</guid><author>maybeevil</author><pubDate>Sat, 16 Apr 2011 09:30:00 +0800</pubDate><description><![CDATA[<br />士兵杀敌（三）时间限制：2000 ms  |  内存限制：65535 KB难度：5描述<br />南将军统率着N个士兵，士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较，计算出两个人的杀敌数差值，用这种方法一方面能鼓舞杀敌数高的人，另一方面也算是批评杀敌数低的人，起到了很好的效果。<br />所以，南将军经常问军师小工第i号士兵到第j号士兵中，杀敌数最高的人与杀敌数最低的人之间军功差值是多少。<br />现在，请你写一个程序，帮小工回答南将军每次的询问吧。<]]></description><category></category></item><item><title><![CDATA[树状数组运用]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6327095</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6327095</guid><author>maybeevil</author><pubDate>Sat, 16 Apr 2011 09:28:00 +0800</pubDate><description><![CDATA[<br />士兵杀敌（二）时间限制：1000 ms  |  内存限制：65535 KB难度：5描述<br />南将军手下有N个士兵，分别编号1到N，这些士兵的杀敌数都是已知的。<br />小工是南将军手下的军师，南将军经常想知道第m号到第n号士兵的总杀敌数，请你帮助小工来回答南将军吧。<br />南将军的某次询问之后士兵i可能又杀敌q人，之后南将军再询问的时候，需要考虑到新增的杀敌数。<br /> 输入只有一组测试数据<br />第一行是两个整数N,M，其中N表示士兵的个数(1<N<1000000)，M表示]]></description><category></category></item><item><title><![CDATA[判定两线顺时针方向/逆时针]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6327091</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6327091</guid><author>maybeevil</author><pubDate>Sat, 16 Apr 2011 09:27:00 +0800</pubDate><description><![CDATA[<br />两线向量叉乘，小于零为顺时针]]></description><category></category></item><item><title><![CDATA[过桥问题求解]]></title><link>https://blog.youkuaiyun.com/maybeevil/article/details/6317455</link><guid>https://blog.youkuaiyun.com/maybeevil/article/details/6317455</guid><author>maybeevil</author><pubDate>Tue, 12 Apr 2011 10:53:00 +0800</pubDate><description><![CDATA[<br />　　如果给定N个（速度不同）的旅行者，根据结论九我们知道有一个最佳方案，在最初的4步里用模式一或模式二把最慢的两个旅行者移动到彼岸，于是问题被约化成N-2个旅行者的形式。问题在于应该选择哪一种模式。继续假设A、B为走得最快和次快的旅行者，过桥所需时间分别为a、b；而Z、Y为走得最慢和次慢的旅行者，过桥所需时间分别为z、y。<br />　　在第六节中我们发现使用模式一移动Z和Y到彼岸所需的时间为：<br />　　　　z + a + y + a<br />使用模式二移动Z和Y到彼岸所需的时间为：<b]]></description><category></category></item></channel></rss>