<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[成都妹儿闯北京。]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/MooDer90</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MooDer90]]></copyright><item><title><![CDATA[Poj 2352 Stars]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5876084</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5876084</guid><author>MooDer90</author><pubDate>Fri, 10 Sep 2010 16:31:00 +0800</pubDate><description><![CDATA[<br />#include<cstdio>
#include<cstring>
#define N 32010
using namespace std;
int C[2*N],ans[N],n;
int lowbit(int pos)
{
    return pos&(-pos);
}
int Sum(int pos)
{
    int sum=0;
    while (pos>0){
        sum+=C[pos];
        pos-=lowbit(po]]></description><category></category></item><item><title><![CDATA[Poj 树状数组]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5876053</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5876053</guid><author>MooDer90</author><pubDate>Fri, 10 Sep 2010 16:20:00 +0800</pubDate><description><![CDATA[树状数组查询和修改复杂度都为log(n)，假设数组a[1..n]，那么查询a[1]+...+a[n]的时间是log(n)，而且是一个在线的数据结构，随时修改某个元素的值，复杂度也为log(n)。C1 = A1C2 = A1 + A2C3 = A3C4 = A1 + A2 + A3 + A4C5 = A5C6 = A5 + A6C7 = A7C8 = A1 + A2 + A3 + A4 + A5 + A6 + A7 + A8...C16 = A1 + A2 + A3 + A4 + A5 + A6 + A7 +]]></description><category></category></item><item><title><![CDATA[Poj 1363 Rails]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5875086</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5875086</guid><author>MooDer90</author><pubDate>Fri, 10 Sep 2010 10:13:00 +0800</pubDate><description><![CDATA[<br />#include<cstdio>
#include<cstring>
#include<stack>
using namespace std;
const int maxn=1005;
stack <int> S;
int x[maxn];
int main()
{
	int n,y,i,j;
	bool yes;
	while (scanf("%d",&n)&&n){
		while (scanf("%d",&x[0])&&x[0]){
			for (i=1;i<n]]></description><category></category></item><item><title><![CDATA[Poj 栈]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5875079</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5875079</guid><author>MooDer90</author><pubDate>Fri, 10 Sep 2010 10:11:00 +0800</pubDate><description><![CDATA[<br />真正的单纯栈的题感觉不多，一般都是在一道题里面处理一些数据的时候会用到，队列什么的也是。<br /> <br /> <br /><br />特别理解栈的性质，先进后出FILO。<br />由这个性质可以解决很多先进后出的问题，在模拟题里面也很多用到的。<br />最典型最基本的应用是计算运算表达式和括号匹配。<br />理解这个之后要扩展也就变得容易了，凡是类似括号匹配的都可以用栈来处理了。<br />比如昨天哈尔滨热身赛的1006。<br /> <br /> <br />Poj 1363 问一]]></description><category></category></item><item><title><![CDATA[并查集]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5875057</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5875057</guid><author>MooDer90</author><pubDate>Fri, 10 Sep 2010 10:03:00 +0800</pubDate><description><![CDATA[<br />#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=100;
int n;
void init()
{
	for (i=1;i<=n;i++)
		fa[i]=i;
}
int find(int i)//查询所属集合 
{
	if (fa[i]!=i)
		return fa[i]=find(fa[i]);//路径压缩 
	return i;
}
void Union(int]]></description><category></category></item><item><title><![CDATA[poj 1988 Cube Stacking]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5871098</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5871098</guid><author>MooDer90</author><pubDate>Wed, 08 Sep 2010 15:31:00 +0800</pubDate><description><![CDATA[<br />很久没写并查集了，发现这道没写过，早上交的现在还在waiting~<br /> <br />只有再交一次咯~<br /> <br />#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=30005;
int fa[maxn],root[maxn],dis[maxn];//父节点，作为根时树的节点数，距树根的距离 
int p;
int find(int i)
{
	int tmp;
	if]]></description><category></category></item><item><title><![CDATA[Poj 并查集]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5867906</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5867906</guid><author>MooDer90</author><pubDate>Tue, 07 Sep 2010 10:22:00 +0800</pubDate><description><![CDATA[写了两三天的模拟，过段时间再写吧，今天开始数据结构。既然数据结构分成集合，线性表，树，图四种，今天就从集合开始看。另外关于图的我就不写了，后面再专门写图论的东东。并查集：简单说来，对于元素有合并和查询两种操作，合并O(n)，查询O(1)。并查集学的有点久了，第一次接触是学kruskal的时候，后来有专门系统写过并查集的题。单独并查集的题其实不多，一半都是中间对数据做一些处理。个人感觉加了压缩路径之后按秩合并的效率并不会提高太多，北大PPT上也把按秩合并叉掉了。我写的并查集都是只有路径压缩的，都是些以前写过的]]></description><category></category></item><item><title><![CDATA[Poj 2632 Crashing Robots]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5867111</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5867111</guid><author>MooDer90</author><pubDate>Mon, 06 Sep 2010 21:12:00 +0800</pubDate><description><![CDATA[<br />A是列数，东西走向，B是行数，南北走向。<br /> <br />1.一个B*A的棋盘，n个机器人，m个操作<br /> <br />2.n个机器人给出最初的位置和方向<br /> <br />3.m个操作，操作的机器人的号，左转右转前进，该操作重复的次数。<br /> <br />4.一个机器人的操作完毕之后下一个机器人才启动。<br /> <br />5.3种结果，撞墙，和另一相撞，无冲突OK。<br /> <br />#include<cstdio>
#include<cstring>]]></description><category></category></item><item><title><![CDATA[Poj 3768 Repeater]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5866092</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5866092</guid><author>MooDer90</author><pubDate>Mon, 06 Sep 2010 13:22:00 +0800</pubDate><description><![CDATA[<br />2083的升级版。<br /> <br />最开始用的布尔矩阵确定是否是空格，递归，一个一个打印，但是TLE了。<br /> <br />看了discuss，改成存入一个字符串数组，整行打印，依然TLE。<br /> <br />去掉布尔矩阵，直接写入字符串，900+ms，AC，寒。<br /> <br />0ms是怎么做出来的。<br /> <br />#include<cstdio>
#include<cstring>
using namespace std;
char str[6][]]></description><category></category></item><item><title><![CDATA[Poj 2083 Fractal]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5866088</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5866088</guid><author>MooDer90</author><pubDate>Mon, 06 Sep 2010 13:18:00 +0800</pubDate><description><![CDATA[<br />一道关于分形的题目。<br /> <br />就是按比例把图形放大。<br /> <br />第一次写这种类型，自己想了几种写法，这个写得是循环的，比较难懂，比较挫。<br /> <br />后面的3768是用的比较标准的分形。<br /> <br />#include<cstdio>
#include<cstring>
using namespace std;
const bool is[3][3]={1,0,1,0,1,0,1,0,1};
int cur[15][2]; 
int ]]></description><category></category></item><item><title><![CDATA[Poj 1676 What time is it?]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5865008</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5865008</guid><author>MooDer90</author><pubDate>Sun, 05 Sep 2010 20:43:00 +0800</pubDate><description><![CDATA[一道关于LED灯的模拟。1.有两个LED灯，左边是现在的时间，右边慢了15min。2.四位表示一个时间，0000~2359。3.LED的有些管坏掉了不亮，问能否根据剩下的灯管确定当前的时间。它的description有点抽象，多了两行。  _      _  _       _  _  _   _  _ |  |  | _| _||_||_ |_    ||_||_||_|  ||_  _|   | _||_|   ||_| _|我是给每个灯管一个权值，所以一个二进制数表示0~9的数字。按照2^i ，i 如]]></description><category></category></item><item><title><![CDATA[Poj 1489 Egyptian Multiplication]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5864719</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5864719</guid><author>MooDer90</author><pubDate>Sun, 05 Sep 2010 16:00:00 +0800</pubDate><description><![CDATA[<br />大概意思是计算a*b，把b转换成二进制计算。<br /> <br />1. 数值系统无零，用|代表一，用n代表十，用9代表百，用8代表千，用r代表万，不考虑大于99，999的数。<br /> <br />2.一个数被写成它们的组合，每组后面有一个空格，包括最后一组，如4023=>||| nn 8888 <br /> <br />3.做乘法，将|写在左边，a写在右边，不断将左右的数增倍直到左边的数大于b，将能组合成b的数后面加*。<br />   其实就是把b换成二进制，为1的位后面带*。<br ]]></description><category></category></item><item><title><![CDATA[Poj 1786 Bridge Hands]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5864707</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5864707</guid><author>MooDer90</author><pubDate>Sun, 05 Sep 2010 15:50:00 +0800</pubDate><description><![CDATA[<br />1.将52张牌发给4个人，每人13张。<br /> <br />2.排序输出，按suit的优先级大于rank。<br /> <br />3.suit的优先级为C<D<S<H。代表(club) < (diamond) < (spade) < (heart)。<br /> <br />4.rank的优先级为2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < T < J < Q < K < A 。<br /> <br />5.玩家的名称为东南西北，每次一个发牌者，从他左手开始发，顺时针直到]]></description><category></category></item><item><title><![CDATA[Poj 2993 Emag eht htiw Em Pleh]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5863197</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5863197</guid><author>MooDer90</author><pubDate>Sat, 04 Sep 2010 14:24:00 +0800</pubDate><description><![CDATA[<br />它自己都说了跟2996相反，题目很奇怪，仔细看就是2996的reverse……汗<br />跟之前去北大校赛的时候那道模拟就很像，当时就是直接把格子贴上了，所以我还是贴了……<br /> <br />#include<cstdio>
#include<cstring>
using namespace std;
char chess[55][55]={
"+---+---+---+---+---+---+---+---+",
"|...|:::|...|:::|...|:::|...|:]]></description><category></category></item><item><title><![CDATA[Poj 2996 Help Me with the Game]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5863196</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5863196</guid><author>MooDer90</author><pubDate>Sat, 04 Sep 2010 14:22:00 +0800</pubDate><description><![CDATA[<br />注意下规则<br />白色大写，黑色小写。<br />棋盘编号从下到上是1~8，从左到右是a~h<br />输出的时候类型都是大写，黑白棋的排序规则不一样。<br />1.按KQRBNP的优先顺序排。<br />2.相同类型白棋按行号小的排前面，黑棋按行号大的排前面。<br />3.相同列号按小排前面。<br /> <br />#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char ]]></description><category></category></item><item><title><![CDATA[Poj 1573 Robot Motion]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5863173</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5863173</guid><author>MooDer90</author><pubDate>Sat, 04 Sep 2010 14:14:00 +0800</pubDate><description><![CDATA[<br />顺着搜就行了。<br /> <br />#include<cstdio>
#include<cstring>
using namespace std;
int r,c,sta;
char gra[15][15];
int s[15][15];
bool check(int x,int y)
{
	if (x>=0&&x<r&&y>=0&&y<c)
		return 1;
	return 0;
}
bool Search(int &step,int &loop)
{
	]]></description><category></category></item><item><title><![CDATA[Poj 1472 Instant Complexity]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5863170</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5863170</guid><author>MooDer90</author><pubDate>Sat, 04 Sep 2010 14:10:00 +0800</pubDate><description><![CDATA[<br />最开始自己写了一个栈，后来发现悲剧了。<br />并列的情况处理不当，改起来很麻烦，突然想起那天多校比较大小的那道模拟。<br />改成了递归，就过了。<br />#include<cstdio>
#include<cstring>
#include<stack>
using namespace std;
struct opera{
	char op;
	int num;
};
stack <opera> S;
char op[10],num[10];
int ans[12]]]></description><category></category></item><item><title><![CDATA[Poj 模拟题]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5863164</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5863164</guid><author>MooDer90</author><pubDate>Sat, 04 Sep 2010 14:08:00 +0800</pubDate><description><![CDATA[最近都在写模拟，之前一个学姐超级擅长模拟。做模拟题不外乎题长，代码长，为的就是要把你打倒，所以再做的时候必须抱着比过的决心。听从了学姐的建议，读题的时候拿一张白纸，把所有的细节都写上，就像作文的框架一样。然后先在纸上写大概要怎么做，有些模拟题太长，做着做着就忘了。当所有的都考虑好了才开始敲题，这样通过率又高又不会浪费队友的时间。最开始就一个人默默地在纸上写吧~~~Poj 1472 1573 2993 2996剩下的以后做了再跟新吧]]></description><category></category></item><item><title><![CDATA[凸包]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5850710</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5850710</guid><author>MooDer90</author><pubDate>Mon, 30 Aug 2010 21:33:00 +0800</pubDate><description><![CDATA[<br />找了挺多题验的，一个小小的细节不注意就会WA掉。<br />boj 1673  boj 1251<br /> <br />#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define MAXN 50005
#define pi acos(-1.0)
#define eps 1e-8
#define inf 200000000
using namespace std;
struct p]]></description><category></category></item><item><title><![CDATA[求多边形重心]]></title><link>https://blog.youkuaiyun.com/MooDer90/article/details/5849331</link><guid>https://blog.youkuaiyun.com/MooDer90/article/details/5849331</guid><author>MooDer90</author><pubDate>Mon, 30 Aug 2010 11:40:00 +0800</pubDate><description><![CDATA[<br />好久又没来了，最近都忙啥自己都不知道，今天正式开学了但是三周都没课。<br />还有，最近电脑出了点状况，重装win7之后各种没对，开学人多网速慢。<br />昨天开始整理模板，但是SAP封装不成功…只有再接再厉了，今天又看计算几何了，北大上不去，抑郁。<br />从最简单的开始咯~<br /> <br /> <br /> <br />x=∑si*xi/∑si  y=∑si*yi/∑si<br />si是每个小三角形的面积<br />zoj 2015 <br />boj 1476<br />  ]]></description><category></category></item></channel></rss>