<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Peipei]]></title><description><![CDATA[In me the tiger sniffs the rose.]]></description><link>https://blog.youkuaiyun.com/pretend_fal</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pretend_fal]]></copyright><item><title><![CDATA[p游戏]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78481678</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78481678</guid><author>pretend_fal</author><pubDate>Wed, 08 Nov 2017 18:18:53 +0800</pubDate><description><![CDATA[program xiyou(input,output);
var
q,w,e,r,t,y,u,i,o,p,a,lv,s,d,f,djingyan,jingyan,g,h,j,k,l,money,rwjingyan,zwq,fwq,zhiye,gong,fang,bisha,
xsheng,dsheng,qian,shangyao,bigshangyao:longint;
z,x,c,v,b,n,m:]]></description><category></category></item><item><title><![CDATA[luogu P3202 [HNOI2009]通往城堡之路]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78431056</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78431056</guid><author>pretend_fal</author><pubDate>Fri, 03 Nov 2017 07:20:04 +0800</pubDate><description><![CDATA[就是把所有的都先设为最差值； 
然后一点点的往上调； 
然后就是贪心；
  定义 ： 
  low : 从n到现在i b[i]<=a[i] 的个数； 
  up : 从n到现在i b[i]>a[i] 的个数；
我们找一个 low-up 最大的后缀； 
先上调； 
调的距离是 min ( a[i]-b[i] ) |a[i]>b[i]; 
因为这样我们 up 增加的值可以用 low 增加的值来抵消；]]></description><category></category></item><item><title><![CDATA[luogu P1484 种树]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78431053</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78431053</guid><author>pretend_fal</author><pubDate>Fri, 03 Nov 2017 07:18:45 +0800</pubDate><description><![CDATA[这个题的解法我是在河南听过的； 但是尴尬； 没好好听，所以忘了； 大致意思就是：
  选k个数，要求选的任意两个数不能相邻； 
  大致是一种抵消的反悔方式；
假设我们当前选了a[i]，那么如果我们下次选了a[i-1] and a[i+1]， 那么他们的代价差是：a[i-1]+a[i+1]-a[i]; 所以我们把 a[i] = a[i-1]+a[i+1]-a[i]; then a[i-1] and]]></description><category></category></item><item><title><![CDATA[luogu P3119 [USACO15JAN]草鉴定Grass Cownoisseur]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78431052</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78431052</guid><author>pretend_fal</author><pubDate>Fri, 03 Nov 2017 07:17:28 +0800</pubDate><description><![CDATA[这道题显然要先 Tarjan 缩点预处理； 
这里就不多说了； 
之后的点都是缩点之后点集；我们考虑两种点：
  <1> 以 1 为起点可以直接到达的； 我们这里叫它一类点； 
  <2> 以该点为起点，可以直接到达 1 的； 我们这里叫它二类点；
所以我们先用 spfa 处理出来从 1 到这两种点的点权值； 
统计 ans 用； 
然后枚举每一个一类点； 
由于我们只能走一次反边； 
所以我们所要]]></description><category></category></item><item><title><![CDATA[luogu P1155 双栈排序]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78431050</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78431050</guid><author>pretend_fal</author><pubDate>Fri, 03 Nov 2017 07:15:53 +0800</pubDate><description><![CDATA[我们可以考虑在什么情况下会需要双栈；
  middle big small ;
这样的情况需要双栈； 
因为我们 middle 入栈后； 
不能直接弹出； 
而是需要等待 small 进入； 
所以这时候需要把 big 压入另一个栈中； 
所以我们找这样的三个点； 
将 middle and big 连边； 
然后染色； 
如果有相邻的两个点的颜色一样； 
证明不合法； 
否则，模拟；#includ]]></description><category></category></item><item><title><![CDATA[luogu P2375 动物园]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78431049</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78431049</guid><author>pretend_fal</author><pubDate>Fri, 03 Nov 2017 07:14:25 +0800</pubDate><description><![CDATA[这个题是KMP； 
然后比较坑； 
我们记录当前这个位置的 sum[] 是从那个位置转移过来的； 
然后我们在求 next 的时候； 
顺便把这个数组更新； 
显然它会顺着位置前移； 
最多一位；#include "iostream"
#include "stdio.h"
#include "algorithm"
#include "cstring"
#define II int
#define C]]></description><category></category></item><item><title><![CDATA[嫁给幸福      ——汪国真]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78296717</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78296717</guid><author>pretend_fal</author><pubDate>Fri, 20 Oct 2017 16:17:28 +0800</pubDate><description><![CDATA[嫁给幸福    ——汪国真
有一个未来的目标总能让我们欢欣鼓舞就像飞向火光的灰蛾摆动着的是你不停的脚步在一往情深的日子里什么是甜 什么是苦只知道 确定了就义无返顾要输就输给追求要嫁就嫁给幸福]]></description><category></category></item><item><title><![CDATA[ST表]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78261921</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78261921</guid><author>pretend_fal</author><pubDate>Tue, 17 Oct 2017 16:25:56 +0800</pubDate><description><![CDATA[求最大值#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<cmath>
#define II int
#define R register
#define I 123456
using namespace std;
II f[I][30];II n,q;
int main()
{
    scanf("%d%d",&n]]></description><category></category></item><item><title><![CDATA[对拍]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78253704</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78253704</guid><author>pretend_fal</author><pubDate>Mon, 16 Oct 2017 20:16:38 +0800</pubDate><description><![CDATA[首先我们有三个程序，bao_li.cpp，zheng_jie.cpp，data.cpp全部运行后有三个exe然后写一个bat————————————-~~~————————————:again // 开始
data.exe > input.txt // 从data中产生数据，放到input.txt中
bao_li.exe < input.txt > bao_li.txt // 把input.txt中]]></description><category></category></item><item><title><![CDATA[手工开栈]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78249058</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78249058</guid><author>pretend_fal</author><pubDate>Mon, 16 Oct 2017 14:03:36 +0800</pubDate><description><![CDATA[int size = 256 << 20; // 256MB  
char *p = (char*)malloc(size) + size;  
__asm__("movl %0, %%esp\n" :: "r"(p));]]></description><category></category></item><item><title><![CDATA[网络流24题 圆桌聚餐]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78135866</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78135866</guid><author>pretend_fal</author><pubDate>Fri, 29 Sep 2017 17:21:46 +0800</pubDate><description><![CDATA[原题位置： http://cogs.sxysxy.org:8080/cogs/problem/problem.php?pid=729（这个有SPJ）这个题是一个裸的网络流板子题，都说网络流难在建图，我只能说+1；这个题的建图方式有两种，但大同小异；<1> 超级源，超级汇，拆点，拆出的两个点之间为代表数（桌子数），代表和桌子之间的边是1，超级源（汇）与代表（桌子）之间是正无穷； 
<2> 超级源，超级]]></description><category></category></item><item><title><![CDATA[51nod P1096 距离之和最小]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78125475</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78125475</guid><author>pretend_fal</author><pubDate>Thu, 28 Sep 2017 16:48:06 +0800</pubDate><description><![CDATA[原题位置：https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1096这道题还好吧，首先看到这道题的时候，也是懵逼了一会，然后我们知道有一个数学常识：两个点之间的点距离两个点的距离之和不变且最小；根据这个小常识，我们就可以想到所选的点一定在所给的线段上，所以我们进一步分析，发现两点之间的距离和是不变的，所以说，如果我在线段AB]]></description><category></category></item><item><title><![CDATA[luogu P2709 小B的询问]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78081575</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78081575</guid><author>pretend_fal</author><pubDate>Mon, 25 Sep 2017 08:41:08 +0800</pubDate><description><![CDATA[这道题是莫队，据说在离线区间查询上，莫队无敌，但是感觉还好吧；首先这道题是一个用来练手的好题，因为这是板子题；所以主要就是排序，然后while查询；至于排序方式 ：首先 ，应用分块思想，以查询左端点所在块为第一关键字， 以右端点为第二关键字 ，均从小到大排序；然后就没有然后了；———————–分割线啊——————————–#include<iostream>
#include<cstdio>
#in]]></description><category></category></item><item><title><![CDATA[gcd&exgcd]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78077837</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78077837</guid><author>pretend_fal</author><pubDate>Sun, 24 Sep 2017 16:50:40 +0800</pubDate><description><![CDATA[其实这个东西可以背板子的；所以我打算直接上板子：———————————–begin———————————–gcdII gcd(R II a,R II b)
{
    while (b) {
        R II c=b;
        b=a%b; a=c;
    }
    return a;
}——————————–fen a~ fen a~ fen ge xian——————————]]></description><category></category></item><item><title><![CDATA[博弈论]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78077173</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78077173</guid><author>pretend_fal</author><pubDate>Sun, 24 Sep 2017 15:34:54 +0800</pubDate><description><![CDATA[一．巴什博奕（Bash Game）： 
首先我们来玩一个比较古老的报数游戏。A和B一起报数，每个人每次最少报一个,最多报4个。轮流报数,看谁先报到30. 
如果不知道巴什博弈的可能会觉得这个是个有运气成分的问题，但是如果知道的人一定知道怎样一定可以赢。 
比如A先报数的话,那么B一定可以赢(这里假定B知道怎么正确的报数) 
B可以这样报数,每次报5-k(A)个数,其中k(A)是A报数的个数这样的话没]]></description><category></category></item><item><title><![CDATA[素数筛]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78074834</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78074834</guid><author>pretend_fal</author><pubDate>Sun, 24 Sep 2017 07:46:26 +0800</pubDate><description><![CDATA[好像有叫做线性素数筛的东西，而且我不知道我的是不是；至于为怎么写这篇文章，其实就是背不过，然后以后复习用；鉴于以上目的，我就直接上代码了，挺好背的，背过就好了；———————————biu biu biu————————————-#include<iostream>
#include<cstdio>
#include<algorithm>
#define II int
#define R regis]]></description><category></category></item><item><title><![CDATA[51nod P1183 编辑距离]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78074818</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78074818</guid><author>pretend_fal</author><pubDate>Sun, 24 Sep 2017 07:26:12 +0800</pubDate><description><![CDATA[原题位置： https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1183这是一道经典的DP，所以我还是忘了转移方程，然后推的；令两个串为a串和b串；这道题的状态是f[i][j]代表a串前i个和b串前j个的最小编辑距离；然后就可以推了；首先，当a[i]==a[j]时，等价于f[i-1][j-1]，所以直接赋值就好了；当a[i]!]]></description><category></category></item><item><title><![CDATA[vijos P1571 笨笨的导弹攻击]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78070917</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78070917</guid><author>pretend_fal</author><pubDate>Sat, 23 Sep 2017 15:04:03 +0800</pubDate><description><![CDATA[原题位置： https://vijos.org/p/1571这道题说是个经典DP，但是感觉还好吧，一开始感觉和NOIP花匠是一样的，但是发现自己找不到状态，因为我们要知道当前这个导弹在抽出的序列中的奇偶位置，所以自然而然把原来的状态定义改了，但是还是b[1][i]和b[2][i]，但是定义为b[1][i]是i这个位置是基数位置时的最长序列，b[2][i]是i这个位置是偶数位置时的最长序列，那么就有转]]></description><category></category></item><item><title><![CDATA[一个在网上找到的用C++写的游戏]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78060572</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78060572</guid><author>pretend_fal</author><pubDate>Fri, 22 Sep 2017 10:54:37 +0800</pubDate><description><![CDATA[#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int sc[10],j=1,hp=100,jq=200,m4,m4d,ak,akd,us,usd,de,ded,ka,fi,pk,pkd,mi,mid,ly,lyd,l1,l1d;
bool b=true;
string s;
void SHOP]]></description><category></category></item><item><title><![CDATA[luogu P2401 不等数列]]></title><link>https://blog.youkuaiyun.com/pretend_fal/article/details/78052557</link><guid>https://blog.youkuaiyun.com/pretend_fal/article/details/78052557</guid><author>pretend_fal</author><pubDate>Thu, 21 Sep 2017 15:30:15 +0800</pubDate><description><![CDATA[原题位置: https://www.luogu.org/problem/show?pid=2401这个题说是个DP,但是感觉想一个递推式;先把式子摆出来: f[i][j] = f[i-1][j-1] * (i-j) + f[i-1][j] * (j+1) ;那我们就要说一下这是为什么了；首先我们要明确f[i][j]代表前i个人j个小于号；所以我们可以假设我们有一种情况是： @<@>@<@<@>@<@]]></description><category></category></item></channel></rss>