<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bryant03的专栏]]></title><description><![CDATA[以现在的努力程度，谈狗屁的成功，屎的未来！新博客 izihan.cf]]></description><link>https://blog.youkuaiyun.com/bryant03</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bryant03]]></copyright><item><title><![CDATA[最大权闭合图小结]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/52235207</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/52235207</guid><author>bryant03</author><pubDate>Thu, 18 Aug 2016 11:59:50 +0800</pubDate><description><![CDATA[最大权闭合图

昨天在做多校联赛的时候偶然碰上的，学习了下这个，首先推荐胡伯涛的《最小割模型在信息学竞赛中的应用》。



定义 

一个有向图 的闭合图（closure）G=(V,E)G= (V , E)是该有向图的一个点集，且该点集的所有出边都还指向该点集。即闭合图内的任意点的任意后继也一定在闭合图中。更形式化地说，闭合图是这样的一个点集V′∈V{V}'\in {V} ，满足对于 ∀u∈V\f]]></description><category></category></item><item><title><![CDATA[zoj1245]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/51332206</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/51332206</guid><author>bryant03</author><pubDate>Fri, 06 May 2016 15:45:26 +0800</pubDate><description><![CDATA[一开始用的是暴力的方法，但是老是WA，后来看了看竟然是简单DP
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <map>
#include <cmath>
#include <vector>
using nam]]></description><category></category></item><item><title><![CDATA[zoj1144]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/51331494</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/51331494</guid><author>bryant03</author><pubDate>Fri, 06 May 2016 14:39:28 +0800</pubDate><description><![CDATA[#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <map>
#include <cmath>
#include <vector>
using namespace std;
#define N 500010
#de]]></description><category></category></item><item><title><![CDATA[Hdu_5153_容斥原理]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/51204822</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/51204822</guid><author>bryant03</author><pubDate>Wed, 20 Apr 2016 23:11:01 +0800</pubDate><description><![CDATA[挺忙的，改天回来再写题解#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <map>
#include <cmath>
#include <vector>
using namespace std;
#define]]></description><category></category></item><item><title><![CDATA[ZOJ1827博弈水题]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/51095934</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/51095934</guid><author>bryant03</author><pubDate>Fri, 08 Apr 2016 13:43:02 +0800</pubDate><description><![CDATA[都怪我太菜，这么水的题我竟然没做出来，亏我之前还特意看过博弈论/*
ID: CaoLei
PROG: a.cpp
LANG: C++一个状态是必败态当且仅当所有的后记状态都是必胜态
一个状态是必胜态当且仅当他至少有一个后继状态是必败态
没有后继状态的是必败态
*/#include <cstdio>
#include <iostream>
#include <cstring>
#include <al]]></description><category></category></item><item><title><![CDATA[codeforces 629C]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/50757536</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/50757536</guid><author>bryant03</author><pubDate>Sat, 27 Feb 2016 23:21:19 +0800</pubDate><description><![CDATA[//我们将题意修改一下，如果出现左括号，则对平衡值加一，如果出现右括号则把平衡值建议。
//那么我们的条件就变成时刻保持平衡值为非负，并且保证最后平衡值为零
//假设dp[i][j]表示长度为i的字符串平衡值为j的时候的情况个数，并且满足中间过程中不会出现
//平衡值小于零的情况。那么我们的解法就是先计算dp[i][j]，然后枚举左边字符串的i,j，如果满足
//if(j+minn>=0&&j+tm]]></description><category></category></item><item><title><![CDATA[hdu_5634]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/50722516</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/50722516</guid><author>bryant03</author><pubDate>Tue, 23 Feb 2016 13:42:24 +0800</pubDate><description><![CDATA[直接用线段树就可以做，#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <map>
#include <cmath>
#include <vector>
using namespace std;
#define N]]></description><category></category></item><item><title><![CDATA[机器学习笔记（一）——环境安装]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/50645126</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/50645126</guid><author>bryant03</author><pubDate>Mon, 08 Feb 2016 22:26:25 +0800</pubDate><description><![CDATA[最近一直在坑人工神经网络与人脸年龄估计，本来我是基于python3.5.1自己一点一点搭的环境，中间缺少了什么就坑什么，最后发现这个版本实在太不成熟了，很多配套的模块文件都没更新，所以换成2.7.x，但是发现在配置theano实在恶心的不行，所以选择了科学计算环境Anaconda，这里面自带了python，同时还已经配置好了很多模块，所以我是按照这个配置使用的。 
Anaconda下载地址 http]]></description><category></category></item><item><title><![CDATA[HDU_5617Jam's maze]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/50614911</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/50614911</guid><author>bryant03</author><pubDate>Sun, 31 Jan 2016 15:46:20 +0800</pubDate><description><![CDATA[这道题一开始看起来确实有点蒙，首先想到的就是DP，这个矩阵太明显了，但是不是很清楚状态转移方程应该怎么搞，而且数据量有点大。 
其实可以这么理解，让（1，1）和（n，n）同时向中间走，在中间汇合，定义f[x1][y1][y1][y2]为从初始点到（x1，y1）（x2，y2）两点时，构成的子串相同的方案数，例如在题目样例中，f[1][2][3][4]就应该等于1，因为同时构成”AB”这个子串，好的那么]]></description><category></category></item><item><title><![CDATA[2015CCPC题目总结（小菜持续更新）]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/49890721</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/49890721</guid><author>bryant03</author><pubDate>Tue, 17 Nov 2015 17:36:10 +0800</pubDate><description><![CDATA[现场赛教练嫌弃我们渣，没让我们去，没办法，小菜只能赛后开了场，DP略虚，也只能拿个铜。 
hdu5540 
给你两个2X2矩阵，可以旋转，判断是否相等，水之
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <ma]]></description><category></category></item><item><title><![CDATA[次小生成树]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/48057813</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/48057813</guid><author>bryant03</author><pubDate>Fri, 28 Aug 2015 20:48:20 +0800</pubDate><description><![CDATA[顾名思义，次小生成树就是第二小的生成树，当然，若果这个树的最小生成树不唯一的话，次小生成树和最小生成树是一样大的。 
结论：次小生成树可以由最小生成树换一条边得到（重点）。 
        首先我们知道，一棵生成树可以通过更换一条边得到另外一棵生成树。假设任意一棵树T0变为最小生成树Tn，过程为T0–>T1–>T2–>–>Tn-1–>Tn。 
        1.在Ti中选取任意一条不在Tn中的边]]></description><category></category></item><item><title><![CDATA[hdu_3547]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/48009045</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/48009045</guid><author>bryant03</author><pubDate>Wed, 26 Aug 2015 19:54:16 +0800</pubDate><description><![CDATA[发现最近题目老是看不下去呀，英语要加强了，六级还是抓紧考过吧，丢人了。这道题目的意思是，给你一个正方体，然后让你正方形的八个顶点涂色，看看有多少种经过翻转后也不相同的情况。 
解析：肯定还是要用到polya定理了，这里的关键在与分析有多少种置换的状态： 
1.绕着相互对立的两个面旋转，有90度，180度，270度，所以总共有3*3=9种情况。 
2.绕着相互对立的两个边旋转，有180度这样，所以总共]]></description><category></category></item><item><title><![CDATA[poj_2154]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/48003047</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/48003047</guid><author>bryant03</author><pubDate>Wed, 26 Aug 2015 14:32:06 +0800</pubDate><description><![CDATA[polya+euler+素数优化=1200ms+/*
ID: CaoLei
PROG: poj_2154.cpp
LANG: C++
*/#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <map>
#includ]]></description><category></category></item><item><title><![CDATA[组合数重点整理]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/47963163</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/47963163</guid><author>bryant03</author><pubDate>Tue, 25 Aug 2015 00:20:47 +0800</pubDate><description><![CDATA[总结下最近刷过的关于组合数的题目，以供以后复习参考。 
首先要介绍的就是lucas定理，这也是组合数中重点中的重点。 
 
 
同时，因为我们也经常要遇到关于取模的运算，所以关于逆元的概念也必不可少。 
 
 
好了，接下来就是通过解决实际问题，来实践了。 
1.hdu3037 
解析：通过隔板法，求C(n+m , m )% p即可，这里我们就需要用到lucas定理了，注意，我们一般会预处理一些所需]]></description><category></category></item><item><title><![CDATA[hdu_5551_多校联赛5_1009]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/47283673</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/47283673</guid><author>bryant03</author><pubDate>Tue, 04 Aug 2015 22:06:56 +0800</pubDate><description><![CDATA[把表打出来一部分，轻松找到规律即可。 
import java.util.Scanner;
import java.math.BigInteger;
import java.math.BigDecimal;
public class Main{
    public static void main(String []args){
        Scanner cin=new Scanner(Sy]]></description><category></category></item><item><title><![CDATA[poj_2773]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/47221951</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/47221951</guid><author>bryant03</author><pubDate>Mon, 03 Aug 2015 00:20:02 +0800</pubDate><description><![CDATA[题目的愿意很简单，给你一个n，求在升序排列的情况下，第k个与之相互素的数。 
解法：首先我们要知道gcd（b×t+a，b）=gcd（a，b），那么接下来就很简单了，所有与之互素的数都是以phi（n）,为周期的，所以暴力求解即可。#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include]]></description><category></category></item><item><title><![CDATA[hdu_2817_快速幂]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/47194455</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/47194455</guid><author>bryant03</author><pubDate>Sun, 02 Aug 2015 00:37:50 +0800</pubDate><description><![CDATA[水~#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <map>
using namespace std;
#define MAX(x,y) (((x)>(y))?(x):(y))
#define MIN(x,y)]]></description><category></category></item><item><title><![CDATA[poj_3090_欧拉函数]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/47185791</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/47185791</guid><author>bryant03</author><pubDate>Sat, 01 Aug 2015 13:50:56 +0800</pubDate><description><![CDATA[水，只需要知道(X,Y)点为端点对应的线上的点的个数是gcd(x,y)+1（这里包含了两个端点），知道之后就欧拉函数走起#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <map>
using namespace]]></description><category></category></item><item><title><![CDATA[poj_2478_欧拉函数]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/47185323</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/47185323</guid><author>bryant03</author><pubDate>Sat, 01 Aug 2015 12:32:43 +0800</pubDate><description><![CDATA[裸，欧拉打表水过#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <map>
#include <cmath>
using namespace std;
#define MAX(x,y) (((x)>(y))?(x]]></description><category></category></item><item><title><![CDATA[poj_2407_欧拉函数]]></title><link>https://blog.youkuaiyun.com/bryant03/article/details/47185231</link><guid>https://blog.youkuaiyun.com/bryant03/article/details/47185231</guid><author>bryant03</author><pubDate>Sat, 01 Aug 2015 12:14:57 +0800</pubDate><description><![CDATA[水，裸欧拉函数。#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>
#include <queue>
#include <cmath>
#include <map>
using namespace std;
#define MAX(x,y) (((x)>(y))?(x]]></description><category></category></item></channel></rss>