<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[nyist_飘谊]]></title><description><![CDATA[博客不再更新，新博客地址：www.hipiaoyi.com]]></description><link>https://blog.youkuaiyun.com/PIAOYI0208</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; PIAOYI0208]]></copyright><item><title><![CDATA[HDU OJ 3306   The Number of set【状态压缩】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8735435</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8735435</guid><author>PIAOYI0208</author><pubDate>Fri, 29 Mar 2013 10:51:48 +0800</pubDate><description><![CDATA[题目连接：http://acm.hdu.edu.cn/showproblem.php?pid=3006
思路：二进制，位运算|，来标记状态。比如一个集合里面出现了 2  、4、 6 ，那就用二进制数101010 = (十进制) 2+8+32=42 ，来记录该集合出现过！！，由于m值 
AC代码：
#include
#include
#include
#include
#include
#in]]></description><category></category></item><item><title><![CDATA[HDU OJ 3127 WHUgirls【DP之背包】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8729766</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8729766</guid><author>PIAOYI0208</author><pubDate>Thu, 28 Mar 2013 09:38:46 +0800</pubDate><description><![CDATA[原题连接：http://acm.hdu.edu.cn/showproblem.php?pid=3127
题意：给一个矩形长xi，宽yi，给出n个小矩形的长，宽，以及这种小矩形的val，把大矩形分成若干个小矩形，求的最大的val
思路：首先是个 完全背包，然后 是个二维费用背包（长 和 宽）。。注意长宽可交换，每种长宽对应两种分割方法。





如图就是所说的两种方案。

AC]]></description><category></category></item><item><title><![CDATA[HDU 3449 Consumer【DP之背包】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8728058</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8728058</guid><author>PIAOYI0208</author><pubDate>Wed, 27 Mar 2013 19:34:24 +0800</pubDate><description><![CDATA[原题连接：http://acm.hdu.edu.cn/showproblem.php?pid=3449
题意：自己看吧~~~
思路一：先对箱子里的物品进行一次01背包，然后加上箱子价格，在进行分组背包，然后TLE ！！白写了一个下午呀！！！
超时代码：

#include
#include
#include
#include
#include

using namespace std;]]></description><category></category></item><item><title><![CDATA[HDU OJ 4501 小明系列故事——买年货【DP】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8722560</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8722560</guid><author>PIAOYI0208</author><pubDate>Tue, 26 Mar 2013 16:46:54 +0800</pubDate><description><![CDATA[原题连接：http://acm.hdu.edu.cn/showproblem.php?pid=4501
思路：三维~~~~~
AC代码：
#include
#include
#include
#include
#include

using namespace std;
const int Max = 100 +10;
const int base = 2;
const int inf =]]></description><category></category></item><item><title><![CDATA[NYOJ 613 免费馅饼【DP】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8721699</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8721699</guid><author>PIAOYI0208</author><pubDate>Tue, 26 Mar 2013 14:28:04 +0800</pubDate><description><![CDATA[原题链接：http://acm.nyist.net/JudgeOnline/problem.php?pid=613
AC代码：
#include
#include
#include
#include
#include

using namespace std;
const int Max = 100000 +10;

int dp[Max][12];
int MAX (int a ,int b]]></description><category></category></item><item><title><![CDATA[HDU OJ 2255 奔小康赚大钱【KM模版】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8705971</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8705971</guid><author>PIAOYI0208</author><pubDate>Fri, 22 Mar 2013 13:51:12 +0800</pubDate><description><![CDATA[原题连接：：http://acm.hdu.edu.cn/showproblem.php?pid=2255


代码：
#include
#include
#include
#include
using namespace std;

const int maxn = 305;
const int INF = 2147483647;
int w[maxn][maxn];
int lx[max]]></description><category></category></item><item><title><![CDATA[HDU OJ 4185 Oil Skimming【二分图之黑白染色】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8697626</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8697626</guid><author>PIAOYI0208</author><pubDate>Wed, 20 Mar 2013 17:49:07 +0800</pubDate><description><![CDATA[原题连接：http://acm.hdu.edu.cn/showproblem.php?pid=4185
题意：题目描述的很垃圾。。简化一下，看题中的图，求最多有多少对#，（相邻的两个是一对）
代码：
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
cons]]></description><category></category></item><item><title><![CDATA[HDU 2458 Kindergarten【二分图之反建边】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8695455</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8695455</guid><author>PIAOYI0208</author><pubDate>Wed, 20 Mar 2013 11:15:30 +0800</pubDate><description><![CDATA[原题连接：http://acm.hdu.edu.cn/showproblem.php?pid=2458
题意：…………
思路：反键边求最小点集覆盖key，boys+girls-key 就是答案。根据题意：反建边后，每条边代表的是该男孩和该女孩不认识，求的最小点集，把这些点去掉后即所有反建的边被去掉，则剩余的就是男女之间都相互认识。。
AC代码：
#include
#include
#inc]]></description><category></category></item><item><title><![CDATA[NYOJ 647 奋斗小蜗牛在请客【模拟】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8690408</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8690408</guid><author>PIAOYI0208</author><pubDate>Tue, 19 Mar 2013 10:18:32 +0800</pubDate><description><![CDATA[原题链接：http://acm.nyist.net/JudgeOnline/problem.php?pid=647
思路：没啥说的，本想用java写，没找到double进制转换的对应函数。。就该用c++，本想偷懒下，直接用string，然后找个string转化double的函数，最后还是失败了 用sstream，格式会变。。发现其实最简单的方法就是直接用数组模拟。。一直想偷懒下，结果绕了一个圈。]]></description><category></category></item><item><title><![CDATA[HDU OJ 1677 Nested Dolls【二分，LIS】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8684903</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8684903</guid><author>PIAOYI0208</author><pubDate>Sun, 17 Mar 2013 21:50:00 +0800</pubDate><description><![CDATA[原题连接：http://acm.hdu.edu.cn/showproblem.php?pid=1677
题意：每组测试数据给n个硬币，现在给你这n个硬币的长和高，若一硬币的长和高都小于另一个硬币，则这来个硬币可嵌套为一个硬币。。求最后剩余的最小硬币数。
思路：首先肯定能想到的是 贪心，不停遍历，不停更新。。复杂度 n*n （超时！！），然后又想到和以前做的题类似，有想到 二分图匹配之最小路径覆]]></description><category></category></item><item><title><![CDATA[C++课程设计]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8461152</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8461152</guid><author>PIAOYI0208</author><pubDate>Thu, 03 Jan 2013 14:38:59 +0800</pubDate><description><![CDATA[（一）：学生信息管理系统  一个cpp 文件。。

#include
#include
#include
#include
#include
#include
#include
using namespace std;
//基类 People
class People{
  public:
	  People(int num , string na , string se , long sco]]></description><category></category></item><item><title><![CDATA[怎么强制关闭QQ]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8440906</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8440906</guid><author>PIAOYI0208</author><pubDate>Wed, 26 Dec 2012 20:54:32 +0800</pubDate><description><![CDATA[看了下windows程序设计 ，做了个比较的垃圾的小玩意！
代码：
#include 
#include 
#include 
#include 
#include 
using namespace std;
string str_exp="explorer.exe";
string str_qq="QQ.exe";
bool TerminateProcessFromId(long Id)
{]]></description><category></category></item><item><title><![CDATA[HDU OJ 3829 Cat VS Dog 【二分图之最大独立集】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8283787</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8283787</guid><author>PIAOYI0208</author><pubDate>Tue, 11 Dec 2012 18:58:04 +0800</pubDate><description><![CDATA[原题链接：点击打开链接
题意：……
思路：根据人物喜欢和不喜欢猫狗的编号来建立二分图，若两个人的喜欢，不喜欢 矛盾，则建立边，就把问题转化为求图的最大独立集。

二分图的最大独立集数=节点数(n)-最大匹配数
代码：
#include
#include
#include
#include
#include
#include
#include
#include
using namespa]]></description><category></category></item><item><title><![CDATA[HDU 2119 Matrix【二分图之最小点集覆盖】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8280004</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8280004</guid><author>PIAOYI0208</author><pubDate>Mon, 10 Dec 2012 21:41:23 +0800</pubDate><description><![CDATA[原题连接：点击打开链接
题意：给一个矩阵，矩阵点值为0或1，每次可以将矩阵的一行或一列 全变成0 ，问最少需要多少次，可以使矩阵的点全为0.
思路：讲矩阵点值为1的点的横纵坐标问边建二分图，求二分图的最小点集覆盖。
          最小覆盖要求用最少的点（Ｘ集合或Ｙ集合的都行）让每条边都至少和其中一个点关联。可以证明：最少的点（即覆盖数）＝最大匹配数 M
简单的证明如下：
（1）M个]]></description><category></category></item><item><title><![CDATA[HDU OJ 1350 Taxi Cab Scheme 【二分图匹配之最小路径覆盖】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8279624</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8279624</guid><author>PIAOYI0208</author><pubDate>Mon, 10 Dec 2012 19:49:29 +0800</pubDate><description><![CDATA[原题连接：点击打开链接
题意：……
思路：二分匹配的最小路径覆盖；在一个有向图无环图里面，寻找最少的路径去覆盖所有的节点，每个节点仅能覆盖一次。
        用尽量少的不相交简单路径覆盖有向无环(DAG)G的所有顶点，这就是DAG图的最小路径覆盖问题。
解决此类问题可以建立一个二分图模型。把所有顶点i拆成两个：Ｘ结点集中的i和Y结点集中的i',如果有边i->j，则在二分图中引入边i->]]></description><category></category></item><item><title><![CDATA[HDU OJ 1281 棋盘游戏【二分图匹配之最大匹配重要点】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8279583</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8279583</guid><author>PIAOYI0208</author><pubDate>Mon, 10 Dec 2012 19:33:16 +0800</pubDate><description><![CDATA[原题连接：点击打开链接
题意：…………
思路：求最多能放多少个 “车”，可以转化成 二分图的最大匹配！，把能放的点的 横纵坐标 当作 二分图的一条边！最大匹配就满足了题目中任意两个“车”不会互相吃到的条件，因为匹配结果，会使得棋盘中的匹配点（也就是二分图中的匹配边），不在同一列且不再同一行。求出最大匹配后
 ，则重要点必定在最大匹配的边上！依次去掉每条便，再求最大匹配看和原匹配是否相等即可！]]></description><category></category></item><item><title><![CDATA[HDU OJ 1083 Courses 【二分图匹配之最大匹配】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8279554</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8279554</guid><author>PIAOYI0208</author><pubDate>Mon, 10 Dec 2012 19:18:54 +0800</pubDate><description><![CDATA[原题连接：点击打开链接
题意：有p门的课，每门课都有若干学生，现在要为每个课程分配一名课代表，每个学生只能担任一门课的课代表，如果每个课都能找到课代表，则输出"YES"，否则"NO"。
思路：入门的二分图最大匹配问题，求的最大匹配数ans 若 ans = p 则输出 YES，否则 NO。
代码：

#include
#include
#include
#include
#include]]></description><category></category></item><item><title><![CDATA[NYOJ 306 走迷宫 【二分+搜索】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8250098</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8250098</guid><author>PIAOYI0208</author><pubDate>Mon, 03 Dec 2012 08:28:01 +0800</pubDate><description><![CDATA[原题连接：点击打开链接
题意：从（1，1）点到（n，n）找一条路径（只能上下左右走），使路径上最大点与最小点差值最小。。


思路分析：
（1）：这题和我们以前做的迷宫题差别很大，以前做的一般就是求 最小步数或代价最小，一个dfs或bfs即可，而此题是求最大点与最小点差。
（2）：分析看出，一次dfs和bfs对我等弱菜来说显然不可（大牛或许可以）。
（3）：若直接搜索，那些点该搜，那]]></description><category></category></item><item><title><![CDATA[HDU OJ 3308 LCIS 【线段树之区间合并】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8157210</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8157210</guid><author>PIAOYI0208</author><pubDate>Wed, 07 Nov 2012 13:29:52 +0800</pubDate><description><![CDATA[原题连接：http://acm.hdu.edu.cn/showproblem.php?pid=3308
题意：……
思路：线段数的区间合并问题，和上篇类似，具体参考http://blog.youkuaiyun.com/piaoyi0208/article/details/8149804
AC代码：

#include
#include
#include
#define Mid(a,b) (a+b)>]]></description><category></category></item><item><title><![CDATA[POJ 3667 hotel  和 NYOJ 537 hotel 【线段树之区间合并】]]></title><link>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8149804</link><guid>https://blog.youkuaiyun.com/PIAOYI0208/article/details/8149804</guid><author>PIAOYI0208</author><pubDate>Mon, 05 Nov 2012 18:58:06 +0800</pubDate><description><![CDATA[原题连接：http://poj.org/problem?id=3667
题意：参考样例，第一行输入n，m ，n代表有n个房间，编号为1---n，开始都为空房，m表示以下有m行操作，以下 每行先输入一个数 i  ，表示一种操作：
若i为1，表示查询房间，再输入一个数x，表示在1--n 房间中找到长度为n的连续空房，输出连续n个房间中左端的房间号，尽量让这个房间号最小，若找不到长度为n的连续空房，]]></description><category></category></item></channel></rss>