<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Hey_YoungBlood]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Mr_Poisonous</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mr_Poisonous]]></copyright><item><title><![CDATA[9.21做题整理]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/78058831</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/78058831</guid><author>Mr_Poisonous</author><pubDate>Fri, 22 Sep 2017 08:04:45 +0800</pubDate><description><![CDATA[T1  51nod 1639 系鞋带n条鞋带，进行n次正确操作后才会变成一个环。每次进行正确操作的几率是(2*i-2)/(2*i-1)，每次进行正确操作后会鞋带数量会减一，可以递归完成。T2 poj 1275本质是一个建模稍复杂的差分约束系统，加上二分，spfa判负环 
其实也没特别理解..T3 动态逆序对cdq分治。   %一发cdq大神。先按t排序，接着类似归并排序地解决..每次用左边的修改更新]]></description><category></category></item><item><title><![CDATA[洛谷 P1021 邮票面值设计-简单搜索+dp]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/78008580</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/78008580</guid><author>Mr_Poisonous</author><pubDate>Sun, 17 Sep 2017 10:04:37 +0800</pubDate><description><![CDATA[是一道很基础的搜索题啊。 
但是我对这种简单搜索的练习真的比较少，大多是图上搜索，所以写了这道题的题解。题目传送门怎么说呢，就是 从1到k  暴力枚举每种邮票的面值，到k+1时更新答案。 
唯一需要好好想想的就是 每次枚举面值的上界和下界。 
下界是 上一枚邮票的面值+1，上界是前几枚邮票能组成的MAX面值+1。因为如果这枚邮票面值为MAX+2，很明显MAX+1的总面值不能被组成。至于代码..  参]]></description><category></category></item><item><title><![CDATA[树形DP例题整理]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/77337114</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/77337114</guid><author>Mr_Poisonous</author><pubDate>Thu, 17 Aug 2017 17:40:56 +0800</pubDate><description><![CDATA[与普通dp类似，但是状态遍历不能简单的++i，而应该按由儿子到父亲的顺序完成。可以通过DFS递归完成，也可以按DFS(BFS)序从大到小完成，以保证先完成儿子再完成父亲。例题一  皇宫看守 tyvj_3384/vijos_1144 
每个节点有三个状态
f[i][0]代表i子树全都被染色的代价，由每个儿子的min(0,2)转移而来，且有一个儿子必须为2；
f[i][1]代表i子树（不包括i）全部被染]]></description><category></category></item><item><title><![CDATA[树状数组区间修改区间查询]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/77261242</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/77261242</guid><author>Mr_Poisonous</author><pubDate>Wed, 16 Aug 2017 17:59:42 +0800</pubDate><description><![CDATA[刚学的 折腾了一上午终于弄好了树状数组几种用法（不全）： 
①单点修改区间查询（基本） 
②区间修改单点查询（差分） 
③区间修改区间查询（维护贡献） 
我只特意整理了第三种用法 
下方代码#include<cstdio>
#include<iostream>
#define db delta_before
#define da delta_after
#define ll long long
us]]></description><category></category></item><item><title><![CDATA[逆元]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/76944622</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/76944622</guid><author>Mr_Poisonous</author><pubDate>Tue, 08 Aug 2017 22:07:44 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/linyujun/p/5194184.html]]></description><category></category></item><item><title><![CDATA[POJ 2406-巧用next数组]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/76149793</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/76149793</guid><author>Mr_Poisonous</author><pubDate>Wed, 26 Jul 2017 15:47:57 +0800</pubDate><description><![CDATA[原题 
这道题我还没弄懂 但是看了看题解把代码写出来并且A掉了…#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int n,next[10000010];
char s[10000010];
void get_next(const char s[],int next[]){
    next[0]=]]></description><category></category></item><item><title><![CDATA[UVA1572 Self_Assembly-拓扑排序]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/76069833</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/76069833</guid><author>Mr_Poisonous</author><pubDate>Tue, 25 Jul 2017 14:40:08 +0800</pubDate><description><![CDATA[先上一发淳朴的拓扑排序模板 
大家如果想检验自己写的拓扑排序模板对不对，可以交一下哈理工oj1631，是一道纯拓扑排序。 
这个讲拓扑排序的文章也很好。↓↓↓ 
http://blog.youkuaiyun.com/dm_vincent/article/details/7714519#include<cstdio>
#include<queue>
#include<iostream>
#include<vect]]></description><category></category></item><item><title><![CDATA[算法整理：最小生成树（mst）-Prim+Kruskal]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75929125</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75929125</guid><author>Mr_Poisonous</author><pubDate>Sun, 23 Jul 2017 16:48:16 +0800</pubDate><description><![CDATA[Kruskal大概思想：用并查集储存两点是否连通，将边按权重排序，每次取出权重最小的边，如果该边两端的点未连通，将该边的权重加入ans。最后判断是否每个点都和1（任意点）连通，若连通说明存在最小生成树，权和为ans；否则不存在最小生成树。 
时间复杂度：O(e loge) 
接下来是我的代码，在luogu通过了测试。#include<cstdio>
#include<iostream>
#inclu]]></description><category></category></item><item><title><![CDATA[POJ3461-字符串匹配（基础）]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75770521</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75770521</guid><author>Mr_Poisonous</author><pubDate>Sat, 22 Jul 2017 17:04:53 +0800</pubDate><description><![CDATA[这道题很水..很基础.. 
纯kmp就能过.. 
但这是我第一次用kmp，感觉好厉害，所以写这个博客来加深对kmp的印象。 
附上我看的kmp算法讲解 （这么好的博客居然只有25粉丝） 
http://www.cnblogs.com/c-cloud/p/3224788.html 
然后是我的蒟蒻幼稚代码    代码风格幼稚到底算是优点还是缺点呢？#include<cstdio>
#include<i]]></description><category></category></item><item><title><![CDATA[NOIP2012 Day2 借教室-二分答案+差分]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75647681</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75647681</guid><author>Mr_Poisonous</author><pubDate>Fri, 21 Jul 2017 15:50:43 +0800</pubDate><description><![CDATA[我  我  我  我怎么就想不起来二分答案呢… 
老规矩先上原题http://codevs.cn/problem/1217/ 
然后是我看的题解http://www.cnblogs.com/iwtwiioi/p/3536121.html 
真的是  相当水的二分答案啊..（虽然我没想到ORZ） 
但是题解的丧病加速还是给了我惊喜23333上我的蒟蒻代码 
因为犯懒所以全用的long long#inc]]></description><category></category></item><item><title><![CDATA[POJ1185-状态压缩dp]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75543484</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75543484</guid><author>Mr_Poisonous</author><pubDate>Thu, 20 Jul 2017 16:26:10 +0800</pubDate><description><![CDATA[有了poj3254的基础后，这道题实际上是一道很基础的状态压缩dp，听说是acm？？感觉不难啊？？？ 
大体做法和poj3254相同 
这是我写的poj3254的题解 
自认为我的代码是网上能找到的最简单（最幼稚）的。#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
using namespace st]]></description><category></category></item><item><title><![CDATA[UVA1599-字典序+BFS]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75371543</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75371543</guid><author>Mr_Poisonous</author><pubDate>Wed, 19 Jul 2017 14:15:40 +0800</pubDate><description><![CDATA[第一次写这么复杂的bfs，卡了我近一周，需要注意的细节很多，很多地方感觉跟题解差不多，但是就是不对。失之毫厘谬以千里啊。这里是原题 
这里是我当时看的一个比较好的题解（里面用的指针我不懂  但思路非常棒）大概做法先从n开始bfs，得到每个点到n的最短距离d[i]。然后从起点开始bfs，每一步保证d[v]=d[u]-1，同时储存最小字典序代码#include<cstdio>
#include<iost]]></description><category></category></item><item><title><![CDATA[poj3254-二进制状态压缩]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75304986</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/75304986</guid><author>Mr_Poisonous</author><pubDate>Tue, 18 Jul 2017 14:57:13 +0800</pubDate><description><![CDATA[第一次接触二进制状态压缩 感觉很玄学很厉害 
这里是原题 
这里是我当时看的题解 
题目大意：有n*m（1<=n,m<=12）的矩形草场 能放牛地方用1表示 不能的地方用0表示 两头牛不能挨着 求有多少种放牛方法（放0头牛也算一种方法） 
嗷我翻译的好垃圾  很明显是一道dp题   dp[i][j]  i为第几行 j为草场状态（如：100011101） 
可以将草场状态看作二进制 然后用int 表示]]></description><category></category></item><item><title><![CDATA[最长不下降子序列的o(nlogn)算法]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/74011078</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/74011078</guid><author>Mr_Poisonous</author><pubDate>Fri, 30 Jun 2017 17:40:17 +0800</pubDate><description><![CDATA[原理用数组d[k]存储 长度为k的子序列们的最小末尾值 
可知d[k]是单调不下降的  所以可以用二分查找  
可以用set+结构体实现 但是我二分查找不太好..所以手写二分查找  而且手写的跑起来也比stl快代码#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int n,a[100010],d[1]]></description><category></category></item><item><title><![CDATA[[NOIP2003]区间dp-加分二叉树]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/73850332</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/73850332</guid><author>Mr_Poisonous</author><pubDate>Wed, 28 Jun 2017 16:53:30 +0800</pubDate><description><![CDATA[题目描述见luogu 
https://www.luogu.org/problem/show?pid=1040是很明显的区间dp  我企图用平行四边形优化 未遂 
因为我区间dp不是很熟 所以把这道题摆上来 
是一道很好的模板题 其中用d[i][j]记录切点也给二叉树的遍历提供了不错的例子 
需要注意的点都在代码里注释了 
f[i][j]=f[i][k-1]*f[k+1][j]+a[k]#inclu]]></description><category></category></item><item><title><![CDATA[一个开始]]></title><link>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/73849231</link><guid>https://blog.youkuaiyun.com/Mr_Poisonous/article/details/73849231</guid><author>Mr_Poisonous</author><pubDate>Wed, 28 Jun 2017 16:02:36 +0800</pubDate><description><![CDATA[一个开始开始对自己学过的东西、做过的题做整理，以此加深印象，希望是个好的开始。对自己起的用户名总是不满意。 
附：markdown真神奇 
    2017.6.28 16:01]]></description><category></category></item></channel></rss>