<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[A_Mango]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u013662793</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u013662793]]></copyright><item><title><![CDATA[POJ2777Count Color]]></title><link>https://blog.youkuaiyun.com/u013662793/article/details/41897941</link><guid>https://blog.youkuaiyun.com/u013662793/article/details/41897941</guid><author>u013662793</author><pubDate>Fri, 12 Dec 2014 19:32:33 +0800</pubDate><description><![CDATA[线段树+位操作
1.   题意：有一块长为L的长坂，给各个小块涂色，数据给出的要么是A到B上颜色C，要么要求输出A到B有多少种颜色.
2.   其实这道题一看就知道是线段树，而且最多30种颜色，不也难想出用位操作，不过后面一直卡在颜色的更新上，因为如果颜色要更新到叶子节点会超时，如果更新到刚好匹配的区间，对于后来更新的颜色又会有所冲突，要怎么解决呢？？？
3.   其实方法就是给每个节点加上]]></description><category></category></item><item><title><![CDATA[POJ3321 Apple Tree]]></title><link>https://blog.youkuaiyun.com/u013662793/article/details/41891087</link><guid>https://blog.youkuaiyun.com/u013662793/article/details/41891087</guid><author>u013662793</author><pubDate>Fri, 12 Dec 2014 10:53:19 +0800</pubDate><description><![CDATA[树状数组+DFS   
1.    题意：有一颗苹果树，每个每个节点都能长1个苹果，初始时，苹果是满的，每次可能读取的事件，
a)     询问在某个节点为根的子树的苹果总
b)     摘取某节点的苹果
c)     在某个某个节点长出苹果
2.    首先自己写的时候想直接用父子关系来更新每个节点的苹果，结果超时了，后来看了题解才知道还能转化为树状数组，原来树状数组的使用也是很灵活的]]></description><category></category></item><item><title><![CDATA[POJ1180Batch Scheduling]]></title><link>https://blog.youkuaiyun.com/u013662793/article/details/41889659</link><guid>https://blog.youkuaiyun.com/u013662793/article/details/41889659</guid><author>u013662793</author><pubDate>Fri, 12 Dec 2014 09:37:29 +0800</pubDate><description><![CDATA[题意：给定一些任务，每个任务都有一定执行时间和权值，把这些任务分配成组，每个组都需要s的启动时间，每组的值是到当前任务的时间*该组的权值和，保证总权值最小
 
开始拿到题的时候想了个n^3的DP方程，果断超时，看了网上题解的DP方程是n^2的，而且还会超时，还需要什么斜率优化，当场晕倒。。。。
看了好久的斜率优化，写下自己的理解
1.   本题的DP方程
dp[i]=dp[j]+a[i]]]></description><category></category></item><item><title><![CDATA[POJ2486Apple Tree]]></title><link>https://blog.youkuaiyun.com/u013662793/article/details/41889445</link><guid>https://blog.youkuaiyun.com/u013662793/article/details/41889445</guid><author>u013662793</author><pubDate>Fri, 12 Dec 2014 09:02:03 +0800</pubDate><description><![CDATA[题意：有棵n个节点的苹果树，每个节点有一定数量的苹果，从一个节点到另一个节点需要花费1步，给定最多步数K，求最多能吃到多少苹果？



1.    这道题开始稍微一看就大概知道是树形+背包的DP，但是一直在一个地方卡住，因为子树的遍历分为要不要回到原来的父节点，后来受不了看了题解才知道，他能是直接加多一维，表示是否要回来父节点
2.    DP方程：
直接遍历完直接回来父节点的情况：]]></description><category></category></item><item><title><![CDATA[POJ1177Picture]]></title><link>https://blog.youkuaiyun.com/u013662793/article/details/41847991</link><guid>https://blog.youkuaiyun.com/u013662793/article/details/41847991</guid><author>u013662793</author><pubDate>Wed, 10 Dec 2014 16:37:57 +0800</pubDate><description><![CDATA[线段树+线扫描+离散化
1.   题意：给出多个矩形坐标，求所有矩形的组合体的周长
2.   这道题的突破口是线扫描，假想一条垂直于x轴的线从左往右扫描，以矩形y轴方向的边为事件，这样只要知道当前发生事件时矩形的覆盖y轴的长度(为了计算y轴方向的边)，以及由几块孤立的区域组成(为了计算x轴方向的边)，但是问题就是如何在每次更新时间时求这两个属性
3.   这就到了线段树出场，因为如果要维护这]]></description><category></category></item><item><title><![CDATA[POJ2406Power Strings]]></title><link>https://blog.youkuaiyun.com/u013662793/article/details/41038285</link><guid>https://blog.youkuaiyun.com/u013662793/article/details/41038285</guid><author>u013662793</author><pubDate>Wed, 12 Nov 2014 08:44:31 +0800</pubDate><description><![CDATA[KMP 
1.    题意：求字符串的最大周期
 
2.    反正我是没想到用KMP做。。。。，看了题解好久都没有反应过来。。。。，继续看了不少KMP算法的资料，脑残儿童总算开窍了一点点
 
3.    其实本题是利用了KMP算法中next数组的特性来求解，因为在KMP算法中表示的是当前字符串的最长相同前后缀的长度，不过还要整个数组向右移动一位，next[0]变为-1，所以就可以用KM]]></description><category></category></item></channel></rss>