<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Ederick的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Ederick</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Ederick]]></copyright><item><title><![CDATA[Android音量控制]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/9306665</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/9306665</guid><author>Ederick</author><pubDate>Fri, 12 Jul 2013 09:42:54 +0800</pubDate><description><![CDATA[如果你在应用中使用了MediaPlayer，并且尝试在其实例化出来的一个对象中使用setVolume(vol，vol)来调节音量大小时，往往会发现并不奏效。具体的原因还不得而知，但是如果只是想调节音量大小的话，还是有解决办法的。


        而这个办法就是：通过AudioManager来调节音量。


        AudioManager使用来修改系统中的音量的，可供修改的]]></description><category></category></item><item><title><![CDATA[Android触摸事件的分发处理]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/9299727</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/9299727</guid><author>Ederick</author><pubDate>Thu, 11 Jul 2013 13:39:51 +0800</pubDate><description><![CDATA[Android中的触摸事件很常见，但是处理起来却不一定简单。
比如说，一个最简单的屏幕触摸动作：按下，滑动，抬起。这个触摸动作会触发一系列的触摸事件：ACTION_DOWN->ACTION_MOVE->...->ACTION_MOVE->ACTION_UP。而当屏幕中包含一个ViewGroup，而这个ViewGroup又包含多子view时，Android系统对触屏动作的响应是如何处理的呢？
在]]></description><category></category></item><item><title><![CDATA[Android多点触控]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/9009849</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/9009849</guid><author>Ederick</author><pubDate>Mon, 03 Jun 2013 00:47:35 +0800</pubDate><description><![CDATA[Android的多点触控，实则上就是对MotionEvent的更多处理。在Android平台上，触屏事件均使用了MotionEvent对象方式处理，比如开始触控时会触发ACTION_DOWN，而移动操作时为 ACTION_MOVE，最终放开手指时触发ACTION_UP事件，而用户无规则的操作则可能触发ACTION_CANCEL这个动作。另外需要注意的是：Android的多点触控功能需要在Andro]]></description><category></category></item><item><title><![CDATA[Android手势识别]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8971385</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8971385</guid><author>Ederick</author><pubDate>Fri, 24 May 2013 18:31:30 +0800</pubDate><description><![CDATA[Android中的手势识别，无非是系统对触屏信息的一个包装处理结果。如果要实现手势识别功能，首先需要实现OnTouchListener接口，并设置setOnTouchListener，最后在重载的函数onTouch()中，将MotionEvent交给GestureDetector去处理，典型的方式是gestureDetector.onTouchEvent(motionEvent)。]]></description><category></category></item><item><title><![CDATA[KMP算法]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8829998</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8829998</guid><author>Ederick</author><pubDate>Sun, 21 Apr 2013 00:50:44 +0800</pubDate><description><![CDATA[KMP算法，适用于寻找子串的问题，其核心思路是先将子串进行自我匹配，构建出一个next数组。当寻找子串时匹配失败，就可以回到下标为当前位置的next数组里，继续开始匹配，避免了每次都得从头再来的麻烦，以此来节省时间，达到线性时间的复杂度。
        构建next数组的核心在于自匹配。首先遍历字符串，寻找与0号等同的字符，找到就记录下当前下标到next数组内，并同步检查下一位是否一样等同，是]]></description><category></category></item><item><title><![CDATA[快速幂]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8828477</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8828477</guid><author>Ederick</author><pubDate>Sat, 20 Apr 2013 16:42:09 +0800</pubDate><description><![CDATA[快速幂，顾名思义就是快速求幂，时间复杂度可以从常规的O（n）下降到O（lgn）。
        对于a^b这样的式子，快速幂的原理就是把b转换成二进制表示，例如：若b=11，则其二进制表示为1011，解析为11 = 2^3*1 + 2^2*0 + 2^1*1 + 2^0*1，所以：
       a^11 = a^(2^0+2^1+2^3)= a^(2^0) * a^(2^1) * a^(2]]></description><category></category></item><item><title><![CDATA[Sicily 2501. 算算式]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8719695</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8719695</guid><author>Ederick</author><pubDate>Mon, 25 Mar 2013 23:48:19 +0800</pubDate><description><![CDATA[题目概述：S = n^1 + n^2 + n^3 +...... + n^k，已知n、k，求S除以9901的余数。
        根据费马小定理：假如p是质数，且(a，p)=1（即a，p互质），那么
 a^(p-1) ≡１（mod p）。可知9901是质数，所以n^9900%9901=1，即存在：
        ( n^ (9900+m)) % 9901 = ( n^9900 * n^m]]></description><category></category></item><item><title><![CDATA[XNA用户输入]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8640187</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8640187</guid><author>Ederick</author><pubDate>Tue, 05 Mar 2013 23:23:15 +0800</pubDate><description><![CDATA[XNA中支持PC上的键盘、鼠标，WP的触摸、手势和Xbox 360的手柄输入。
       键盘输入
       键盘输入是通过Microsoft.XNA.Framework.Input命名空间中的Keyboard类来处理的。Keyboard类有一个叫做GetState的静态方法，用KeyboardState结构的形式返回键盘目前的状态。KeyboardState结构中包含三个能够满足您大]]></description><category></category></item><item><title><![CDATA[XNA游戏绘图]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8633309</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8633309</guid><author>Ederick</author><pubDate>Mon, 04 Mar 2013 13:36:32 +0800</pubDate><description><![CDATA[XNA中所有的图形都要通过内容管道来加载，它能够将jpg、bmp、png等文件转换成一种XNA很容易使用的内部格式，使得不同文件类型对于XNA都是透明的，而我们不需要为图像格式而担心。
        添加图像需要在VS的解决方案资源管理器中的Content上右键点击，依次选择添加和现有项（为了便于管理可以先新建文件夹），然后在硬盘上选取你想要加载的图像。



        然后要将]]></description><category></category></item><item><title><![CDATA[XNA入门介绍]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8633116</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8633116</guid><author>Ederick</author><pubDate>Mon, 04 Mar 2013 12:18:06 +0800</pubDate><description><![CDATA[打开初始化的项目后，可以明显看到一大堆文件，游戏的真正核心在于Game1.cs文件。这个文件里面有好几个初始定义函数，下面开始介绍。
        文件的主要内容为：

namespace Game1
{
    /// 
    /// 这是游戏的主类型
    /// 
    public class Game1 : Microsoft.Xna.Framework.Game]]></description><category></category></item><item><title><![CDATA[XNA安装指导]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8628433</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8628433</guid><author>Ederick</author><pubDate>Sat, 02 Mar 2013 11:12:54 +0800</pubDate><description><![CDATA[XNA中的X表示能够在WindowsXbox和合作伙伴之间达到跨平台的强大的软件工具。N表示“下一代（Next-generation）”，A表示“架构（Architecture）”。XNA是基于DirectX的游戏开发环境，是微软对于 Managed DirectX 的修正及扩充版本。
本系列文章主要参考的是Learning.XNA.4.0，作者为Aron Reed，下面是书籍下载链接：]]></description><category></category></item><item><title><![CDATA[Sicily 1721. Gray code]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8624031</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8624031</guid><author>Ederick</author><pubDate>Thu, 28 Feb 2013 22:11:43 +0800</pubDate><description><![CDATA[格雷码的第n位等于对应的二进制码的第n-1位和第n位的异或，而最左边的第1位是相同的。这道题最好用printf以%s进行输出，可以节约不少时间。而至于题目是Special Judge，以其他形式进行排列是否可以得到更好的结果就不得而知了。

Run Time: 0.04sec
Run Memory: 288KB
Code Length: 731Bytes 
Submit Time: 20]]></description><category></category></item><item><title><![CDATA[Sicily 1344. 数列]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8621711</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8621711</guid><author>Ederick</author><pubDate>Thu, 28 Feb 2013 13:51:20 +0800</pubDate><description><![CDATA[阔别一年回来重新做题，感觉生疏了很多……

简单来说是一个等比数列之间，不同项之和的关系。明显我们最关心的是，这个等比数列前n-1项之和和第n项的大小关系，假设：
    (1-q^n)/(1-q)      1/q^n+ q > 2
 可知，当3
所以，假设k的某次幂在data[n]，那么data[ n + i + 1 ] = data[ n ] + data[ i ],其中i]]></description><category></category></item><item><title><![CDATA[正则表达式的等价判定]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8558672</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8558672</guid><author>Ederick</author><pubDate>Thu, 31 Jan 2013 15:28:30 +0800</pubDate><description><![CDATA[编译原理的两个课程设计之一，关于两个正则表达式是否等价的问题。题目描述及提交地址：http://soj.me/show_problem.php?pid=1000&cid=866，大概内容如下：
Description
两个正则表达式等价，是指两个表达式描述完全相同的语言，即正则表达式expr1和expr2等价，当且仅当L(expr1)=L(expr2)。编写判断两个正则表达式是否等价的程序。]]></description><category></category></item><item><title><![CDATA[MD5算法]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/8080949</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/8080949</guid><author>Ederick</author><pubDate>Sun, 21 Oct 2012 12:15:01 +0800</pubDate><description><![CDATA[MD5是输入不定长度信息，输出固定长度128-bits的算法。经过程序流程，生成四个32位数据，最后联合起来成为一个128-bits散列。基本方式为，求余、取余、调整长度、与链接变量进行循环运算，得出结果。
        MD5的具体实现好像有所区别，起码维基百科和百度百科的就不一样。但经过验证都是正确的，而这里采用的是维基百科的方法（http://zh.wikipedia.org/wiki/]]></description><category></category></item><item><title><![CDATA[Sicily 4960. Identity Checker]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/7420609</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/7420609</guid><author>Ederick</author><pubDate>Sun, 01 Apr 2012 22:09:25 +0800</pubDate><description><![CDATA[2012年每周一赛第四场第九题。看起来好像很高级的样子，其实嘛，就是暴力和精度问题。运气够好的话马上就可以AC了；运气不好的话，那就悲剧了……
Run Time: 0sec
Run Memory: 312KB
Code Length: 1594Bytes

Submit Time: 2012-04-0122:12:26
// Problem#: 4960
// Submission#:]]></description><category></category></item><item><title><![CDATA[Sicily 4952. Another Rock-Paper-Scissors Problem]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/7420562</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/7420562</guid><author>Ederick</author><pubDate>Sun, 01 Apr 2012 21:53:59 +0800</pubDate><description><![CDATA[2012年每周一赛第四场第五题。剪刀石头布的问题，但题目阅读起来相当不解，反复阅读n次之后才明白：这个Sonny本来就想着出RPS，若还要继续就出PSR，若还要继续就出SRP，若还要继续就出回RPS，如此循环下去……问题是如果别人掌握了Sonny的顺序，就能够击败他，所以他就想了个另一个办法去对付这种人（真够无聊的）。首先观察得知，其序列是1-1-1-3-3-9-9-27-27这样的，奥秘就是：对]]></description><category></category></item><item><title><![CDATA[Sicily 5037. Abacus]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/7420539</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/7420539</guid><author>Ederick</author><pubDate>Sun, 01 Apr 2012 21:40:57 +0800</pubDate><description><![CDATA[2012年每周一赛第三场第四题。算盘的模拟，没什么好说的。
Run Time: 0sec
Run Memory: 312KB
Code Length: 634Bytes
SubmitTime: 2012-04-01 21:42:20
// Problem#: 5037
// Submission#: 1300038
// The source code is licensed under]]></description><category></category></item><item><title><![CDATA[Sicily 5034. Snowflakes]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/7420516</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/7420516</guid><author>Ederick</author><pubDate>Sun, 01 Apr 2012 21:34:13 +0800</pubDate><description><![CDATA[2012年每周一赛第三场第一题。就是一个折来折去的问题，爱怎么折怎么折，反正折回去就好。

Run Time: 0.02sec
Run Memory: 304KB
Code Length: 916Bytes
SubmitTime: 2012-04-01 21:32:48
// Problem#: 5034
// Submission#: 1300019
// The source co]]></description><category></category></item><item><title><![CDATA[Sicily 4875. ROBOT]]></title><link>https://blog.youkuaiyun.com/Ederick/article/details/7318687</link><guid>https://blog.youkuaiyun.com/Ederick/article/details/7318687</guid><author>Ederick</author><pubDate>Sun, 04 Mar 2012 20:13:06 +0800</pubDate><description><![CDATA[2012年每周一赛第二场第三题。看完题目大家都想到的那个办法肯定会超时，复杂度是O（MN）。仔细思考可以发现，其实我们关心的只是每次移动后，在X轴和Y轴上分别靠近和远离了多少个点，两者差值就是靠近或是远离了多少距离。所以，我们只需要确定x和y为某值时会靠近和远离多少个点即可，我是使用了upper_bound和lower_bound这两个函数，复杂度是O（Mlog2N）。
Run Time: 0.]]></description><category></category></item></channel></rss>