<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[大风车]]></title><description><![CDATA[渣渣]]></description><link>https://blog.youkuaiyun.com/cqsh3vj2</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cqsh3vj2]]></copyright><item><title><![CDATA[CERC 2012 B Who wants to live forever 分治]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/44156297</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/44156297</guid><author>cqsh3vj2</author><pubDate>Mon, 09 Mar 2015 17:16:24 +0800</pubDate><description><![CDATA[题目大意：
给一个20W长的01序列，序列转化规则为a[i]=a[i-1]^a[i+1]。
如果最终序列转化为全0，输出dies否则输出lives。
分析：
对于奇数个，化为0的前一步应该为10101类型。
而对于偶数个，找不到可以化为全0的序列，所以只要是偶数个并且存在1则结果一定为lives。


对于奇数个：
初始：a1        a2         a3      ]]></description><category></category></item><item><title><![CDATA[求逆元模板]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/44055723</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/44055723</guid><author>cqsh3vj2</author><pubDate>Wed, 04 Mar 2015 09:30:02 +0800</pubDate><description><![CDATA[一、正常求逆元(扩栈欧几里得)
//a对b求逆元
ll exgcd(ll a,ll b,ll &x,ll &y)
{
    ll t,gcd;
    if(b==0)
    {
        x=1,y=0;
        return a;
    }
    gcd=exgcd(b,a%b,x,y);
    t=x,x=y,y=t-a/b*y;
    return gcd;
}]]></description><category></category></item><item><title><![CDATA[map在竞赛中的应用]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/44025077</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/44025077</guid><author>cqsh3vj2</author><pubDate>Mon, 02 Mar 2015 22:15:07 +0800</pubDate><description><![CDATA[一、定义
map中的key值和value取值种类很多，但是key必须是可比较的，例如自定义的结构需要加上比较函数：
struct Dian
{
	int x;
	int y;
	bool operator < (const struct Dian &a) const {
		if(x==a.x)return y>a.y;
        return x>a.x;//最小值优先
    }
}]]></description><category></category></item><item><title><![CDATA[优先队列stl在竞赛中的应用]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/44024801</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/44024801</guid><author>cqsh3vj2</author><pubDate>Mon, 02 Mar 2015 21:47:54 +0800</pubDate><description><![CDATA[一、定义
定义主要有两种方式：
方式一：把比较函数定义在结构中：
struct Dian{  
    int x;  
    bool operator < (const Dian &a) const {  
        return x>a.x;//最小值优先  
    }  
};
priority_queuepq;  方式二：定义比较结构，尤其适用于对同一结构有多种不同的优先]]></description><category></category></item><item><title><![CDATA[CERC 2014 K题 The Imp 博弈 dp]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/43985293</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/43985293</guid><author>cqsh3vj2</author><pubDate>Sat, 28 Feb 2015 14:28:41 +0800</pubDate><description><![CDATA[题目大意：
商家有n个物品，每个价值vi,花费ci 
        商家有一个技能，就是把买家所买的物品变消失，技能可以使用k次
        买家只需要购买一个物品或者不买，求最大收益


直接取的可能性太多无法表示，如果取得顺序变为a1,a2,...an就可以简化
通过反证可以发现，最优的序列一定是价值递增的


由于店家比较的是当前和之后，与之前无关，所以是倒着进行d]]></description><category></category></item><item><title><![CDATA[CERC 2014 L题 区间dp 思维]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/43981859</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/43981859</guid><author>cqsh3vj2</author><pubDate>Sat, 28 Feb 2015 08:53:17 +0800</pubDate><description><![CDATA[对于每一个区间，完全包含在之内的，最高的那个一定要被选。
选择之后，枚举切割点分成两部分，而跨越切割点的就自然默认为已经被选中淘汰。
By cqsh3vj2, contest: 2014-2015 ACM-ICPC, Central Europe Regional Contest (CERC 14), problem: (L) Outer space invaders, Accepted, #]]></description><category></category></item><item><title><![CDATA[bzoj 1798 段乘段加线段树 双懒标记]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/43938457</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/43938457</guid><author>cqsh3vj2</author><pubDate>Wed, 25 Feb 2015 16:40:12 +0800</pubDate><description><![CDATA[要求的值时刻保持正确
懒标记为子节点所需的操作
http://www.lydsy.com/JudgeOnline/problem.php?id=1798

#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll long ]]></description><category></category></item><item><title><![CDATA[hdu 4578 线段树模板]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/43935759</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/43935759</guid><author>cqsh3vj2</author><pubDate>Wed, 25 Feb 2015 11:19:41 +0800</pubDate><description><![CDATA[lazy不为-1表示统一段为一个值
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll __int64
#define inf 0x3f3f3f3f
#define maxNode 100010
#define mod 10]]></description><category></category></item><item><title><![CDATA[无向图的桥 双连通分量]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/40087743</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/40087743</guid><author>cqsh3vj2</author><pubDate>Tue, 14 Oct 2014 22:47:50 +0800</pubDate><description><![CDATA[/*
 *无向图的桥及边的双连通分量，Tarjan算法O(E)
 */
#include 
#include 
using namespace std;
#define MAXN 10000
#define MAXM 1000000

struct node {
    int v, w, pre;  //id：边的编号（处理重边情况）
} edge[MAXM];
int pos[MAXN], n]]></description><category></category></item><item><title><![CDATA[求无向图的割点（重边不重边神马的无所谓）]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/40087109</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/40087109</guid><author>cqsh3vj2</author><pubDate>Tue, 14 Oct 2014 22:36:48 +0800</pubDate><description><![CDATA[#include
#include
#include
#include
using namespace std;

#define N 103
vector g[N];
int n, low[N], dfn[N], f[N];
bool vis[N];

void dfs(int u, int depth, const int &root) { //root为连通图的树根
    dfn[u] =]]></description><category></category></item><item><title><![CDATA[acdream 1401 Lempel-Ziv Compression]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39739773</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39739773</guid><author>cqsh3vj2</author><pubDate>Thu, 02 Oct 2014 21:27:37 +0800</pubDate><description><![CDATA[首先用sa+rmq预处理一下
比较巧妙的是一个贪心，一个点要么我们选]]></description><category></category></item><item><title><![CDATA[zoj 3229 有源汇上下界最大流]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39721755</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39721755</guid><author>cqsh3vj2</author><pubDate>Wed, 01 Oct 2014 21:45:13 +0800</pubDate><description><![CDATA[题意：

一个屌丝给m个女神拍照，计划拍照n天，每一天屌丝给给定的C个女神拍照，每天拍照数不能超过D张，而且给每个女神i拍照有数量限制[Li，Ri]，对于每个女神n天的拍照总和不能少于Gi，如果有解求屌丝最多能拍多少张照，并求每天给对应女神拍多少张照；否则输出-1。

分析：

增设一源点st，汇点sd，st到第i天连一条上界为Di下界为0的边，每个女神到汇点连一条下界为Gi上界为oo]]></description><category></category></item><item><title><![CDATA[zoj 2314 Reactor Cooling 无源汇网络流]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39720417</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39720417</guid><author>cqsh3vj2</author><pubDate>Wed, 01 Oct 2014 20:17:19 +0800</pubDate><description><![CDATA[终于知道什么是无源汇网络流的题了。。。
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
int dir[4][2]={0,1,0,]]></description><category></category></item><item><title><![CDATA[hdu 5046 重复覆盖问题 搜索+剪枝]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39717111</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39717111</guid><author>cqsh3vj2</author><pubDate>Wed, 01 Oct 2014 10:44:27 +0800</pubDate><description><![CDATA[//首先在每次二分之后有两个比较强的剪枝：如果a包含了b，去掉b；如果必须选a，选上a；
//之后在搜索的过程中再加一下剪枝

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
#define ll __int64

int n,k;
ll x[100],y[100];
ll map[1]]></description><category></category></item><item><title><![CDATA[hdu 5030 Rabbit's String sa+rmq+二分]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39674395</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39674395</guid><author>cqsh3vj2</author><pubDate>Mon, 29 Sep 2014 19:42:15 +0800</pubDate><description><![CDATA[首先二分最后的结果是它所有子串中的第几]]></description><category></category></item><item><title><![CDATA[素数打表与素数单个判断]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39670373</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39670373</guid><author>cqsh3vj2</author><pubDate>Mon, 29 Sep 2014 15:13:56 +0800</pubDate><description><![CDATA[bool primeVis[10100000];  //i是不是素数，从primeVis[2]开始有效
int prime[1000000];  //prime[1]=2,prime[2]=3...
int primeNum = 0; //N以内素数个数（1.2...primeNum）
void init_prim(int N)  
{  
    memset(primeVis, true, s]]></description><category></category></item><item><title><![CDATA[poj 1703 种类并查集]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39643925</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39643925</guid><author>cqsh3vj2</author><pubDate>Sun, 28 Sep 2014 17:05:14 +0800</pubDate><description><![CDATA[切点
#include 
#include 
#include 
int n,m;
char ts[10];
int parent[200020];
int root(int p){
	if(parent[p]==-1) return p;
	else return parent[p]=root(parent[p]);
}
void merge(int a,int b){
	a=root(a);]]></description><category></category></item><item><title><![CDATA[hdu 5050 java大数进制转换]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39638609</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39638609</guid><author>cqsh3vj2</author><pubDate>Sun, 28 Sep 2014 11:01:50 +0800</pubDate><description><![CDATA[import java.io.*;
import java.math.BigInteger;
import java.util.StringTokenizer;

class Scan {

    BufferedReader buffer;
    StringTokenizer tok;

    Scan() {
        buffer = new BufferedReader(ne]]></description><category></category></item><item><title><![CDATA[hdu 5047 java快速输入输出]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39637781</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39637781</guid><author>cqsh3vj2</author><pubDate>Sun, 28 Sep 2014 10:10:47 +0800</pubDate><description><![CDATA[import java.io.*;
import java.math.BigInteger;
import java.util.StringTokenizer;

class Scan {

    BufferedReader buffer;
    StringTokenizer tok;

    Scan() {
        buffer = new BufferedReader(ne]]></description><category></category></item><item><title><![CDATA[hdu5008 西安赛区网络赛 B题]]></title><link>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39274269</link><guid>https://blog.youkuaiyun.com/cqsh3vj2/article/details/39274269</guid><author>cqsh3vj2</author><pubDate>Sun, 14 Sep 2014 21:59:57 +0800</pubDate><description><![CDATA[先搞一下后缀数组，然后根据后缀数组可以求出]]></description><category></category></item></channel></rss>