<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Phill King的专栏]]></title><description><![CDATA[技术分享]]></description><link>https://blog.youkuaiyun.com/jinij</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jinij]]></copyright><item><title><![CDATA[称球问题解析（3） - 公式证明]]></title><link>https://blog.youkuaiyun.com/jinij/article/details/125467986</link><guid>https://blog.youkuaiyun.com/jinij/article/details/125467986</guid><author>jinij</author><pubDate>Sun, 26 Jun 2022 11:36:58 +0800</pubDate><description><![CDATA[称球问题公式证明]]></description><category></category></item><item><title><![CDATA[称球问题解析（2）-N球方法]]></title><link>https://blog.youkuaiyun.com/jinij/article/details/125467311</link><guid>https://blog.youkuaiyun.com/jinij/article/details/125467311</guid><author>jinij</author><pubDate>Sun, 26 Jun 2022 11:35:37 +0800</pubDate><description><![CDATA[通用称球问题]]></description><category></category></item><item><title><![CDATA[称球问题解析（1）- 12球]]></title><link>https://blog.youkuaiyun.com/jinij/article/details/125462376</link><guid>https://blog.youkuaiyun.com/jinij/article/details/125462376</guid><author>jinij</author><pubDate>Sun, 26 Jun 2022 11:34:07 +0800</pubDate><description><![CDATA[称球问题详解]]></description><category></category></item><item><title><![CDATA[铺瓷砖问题 （状态压缩轮廓线动态规划） (二)]]></title><link>https://blog.youkuaiyun.com/jinij/article/details/106692781</link><guid>https://blog.youkuaiyun.com/jinij/article/details/106692781</guid><author>jinij</author><pubDate>Fri, 12 Jun 2020 09:33:28 +0800</pubDate><description><![CDATA[在之前的文章铺瓷砖问题（一）中介绍了状态压缩动态规划的方法，但是时间复杂度较高。在此在介绍一种轮廓线动态规划算法，可以更快的完成。

定义状态
依然设行数为N,列数为M.

在前文我们用整行来定义状态，然后对相邻两行的状态进行转移。 在此我们定义以当前格结尾的M个格子为状态的范围。如下图所示:



状态转移
这样定义状态虽然数量增多了，但好处是状态转移关系非常的简单，只有三种可能。因此总的复杂度依然可以降低很多。

状态转移的三种情况见下图:



转换1: 上一个状态最高位为1， 当前格可以选择不放..]]></description><category></category></item><item><title><![CDATA[铺瓷砖问题 （状态压缩动态规划） (一)]]></title><link>https://blog.youkuaiyun.com/jinij/article/details/105711265</link><guid>https://blog.youkuaiyun.com/jinij/article/details/105711265</guid><author>jinij</author><pubDate>Fri, 24 Apr 2020 14:25:30 +0800</pubDate><description><![CDATA[题目地址：http://poj.org/problem?id=2411

问题简单描述：

在一个N行M列的格子里，我们现有1*2大小的瓷砖，可以横着或者竖着铺。问一共有多少种方案，可以将整个N*M的空间都填满。

示例：

N=2 ,M=4 一共5种方案



N = 2,M = 3； 一共3种方案



问题分析：

1. 因为每块瓷砖的面积是2，所以总面积M*N必须是偶数才能铺满。如果是......]]></description><category></category></item><item><title><![CDATA[左旋转字符串]]></title><link>https://blog.youkuaiyun.com/jinij/article/details/104827610</link><guid>https://blog.youkuaiyun.com/jinij/article/details/104827610</guid><author>jinij</author><pubDate>Tue, 17 Mar 2020 16:26:48 +0800</pubDate><description><![CDATA[字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如，输入字符串"abcdefg"和数字2，该函数将返回左旋转两位得到的结果"cdefgab"。

示例

输入: s = "abcdefg", k = 2
输出:"cdefgab"

解法一:

str=AB，BA=。

反转A，反转B，再反转str.

时间复杂厚度O(n), 空间复杂度...]]></description><category></category></item><item><title><![CDATA[火车票余票问题的算法解析(续)]]></title><link>https://blog.youkuaiyun.com/jinij/article/details/88030591</link><guid>https://blog.youkuaiyun.com/jinij/article/details/88030591</guid><author>jinij</author><pubDate>Fri, 01 Mar 2019 08:46:41 +0800</pubDate><description><![CDATA[作者: Phill King

邮箱: phillking1982@163.com

原创文章，转载请注明出处。

在之前的文章中，我分析了火车票余票的问题，提供了一个高效的算法。在本文中，我们继续讨论无座位号的余票计算以及逐票更新的问题。 之前的分析参见：https://blog.youkuaiyun.com/jinij/article/details/87971283

无座位号余票计算

还是以站...]]></description><category></category></item><item><title><![CDATA[火车票余票问题的算法解析]]></title><link>https://blog.youkuaiyun.com/jinij/article/details/87971283</link><guid>https://blog.youkuaiyun.com/jinij/article/details/87971283</guid><author>jinij</author><pubDate>Wed, 27 Feb 2019 14:22:45 +0800</pubDate><description><![CDATA[作者： Phill King

原创文章，转载请注明出处。

我们每次购买火车票，在查询的时候都可以及时的看到余票数。这个余票数是怎么计算出来的？有没有好的算法可以很快的计算出余票数目。本文对这个问题做了详细的分析，并给出了具体的代码。

声明：

本文详细分析了火车票的余票的算法，不考虑现实中一列火车包含不同等级座位和站票，以及预分配等情况，采用一个简化的模型来做基本分析。最后用一个高效率的算法...]]></description><category></category></item><item><title><![CDATA[inside the c++ object model 读书笔记(第二章)]]></title><link>https://blog.youkuaiyun.com/jinij/article/details/2170996</link><guid>https://blog.youkuaiyun.com/jinij/article/details/2170996</guid><author>jinij</author><pubDate>Tue, 11 Mar 2008 20:54:00 +0800</pubDate><description><![CDATA[The Semantics of Constructors对于c++的一个最长听到的抱怨就是编译器在幕后帮你做了太多的东西。最常见的就是操作符的自动转换.通过对编译器背后工作的了解，我们可以对c++这个语言进行更深入的思考。Default Constructor Construction在C++ AnnotatedReference Manual(ARM)中定义：缺省构造]]></description><category></category></item><item><title><![CDATA[inside the c++ object model 读书笔记(第一章)]]></title><link>https://blog.youkuaiyun.com/jinij/article/details/2158818</link><guid>https://blog.youkuaiyun.com/jinij/article/details/2158818</guid><author>jinij</author><pubDate>Sat, 08 Mar 2008 22:22:00 +0800</pubDate><description><![CDATA[Chapter 1 Object LessonsC语言是面向过程的编程方法，由一堆基于算法而分割的任务来实现。而C++增加了数据和操作的封装，是面向对象的编程方法Layout Costs for Adding Encapsulation基本上不会有什么cost的增加。但是如果你使用了virtual，会有一些空间和时间消耗。如果用了多继承，在子类和父类的转换时会有一些ove]]></description><category></category></item></channel></rss>