
C++
饭特稀特别稀
曾梦想仗剑走天涯,如今却码字写代码。
展开
-
hiho一下第65周微软面试题《Highway》题目分析
题意分析给定一条单行道的高速公路,汽车都是从坐标0,向坐标无穷移动。又因为是单行道,所以后面的车无法超越前面的车。在时刻0时,有 N 辆车同时进入这条单行道,第i辆车从坐标x[i]进入,并且将会从坐标y[i]处驶出(保证y[i]>x[i])。在行驶过程中,汽车总会保持尽可能快的速度行驶,且第i辆车的最大速度为v[i]。问每辆车离开高速公路的所花费的时间。算法分析刚拿到本题,转载 2015-09-26 20:16:31 · 482 阅读 · 0 评论 -
如何快速实现ffmpeg dxva2硬解码
首先,ffmpeg本身支持dxva2硬结解码,但解码器类型有限,并不是所有的都可以硬解。我使用的ffmpeg的版本是3.2,支持dxva2硬件加速的有以下几种文件格式:AV_CODEC_ID_MPEG2VIDEO、AV_CODEC_ID_H264、AV_CODEC_ID_VC1、AV_CODEC_ID_WMV3、AV_CODEC_ID_HEVC、AV_CODEC_ID_VP9。在正常软解代原创 2017-04-24 10:19:37 · 8482 阅读 · 2 评论 -
C++11之常量表达式
C++11系列-常量表达式2013-09-17C++11有一些这样的改善,这种改善保证写出的代码比以往任何时候的执行效率都要好。这种改善之一就是生成常量表达式,允许程序利用编译时的计算能力。假如你熟悉模板元编程,你将发现constexpr使这一切变得更加简单。假如你不知道模板元编程,也没什么。constexpr使我们很容易利用上编译时编程的优势。常量表达式主要是允许一些转载 2016-10-14 23:22:09 · 751 阅读 · 0 评论 -
C++11之lambda函数
C++11系列-lambda函数2013-08-11 C++11一个最激动人心的特性是支持创建lambda函数(有时称为闭包)。这意味着什么?一个Lambda函数是一个可以内联写在你代码中的函数(通常也会传递给另外的函数,类似于仿函数或函数指针)。使用Lambda,创建机动函数会更简单,而以前你必须创建一个有名函数。在这篇文章中,我先用一些例子解释为什么lambda很酷,然后我转载 2016-10-14 23:19:14 · 772 阅读 · 0 评论 -
C++特性之区间迭代
C++11系列-区间迭代在我前面介绍C++11的文章中,我提到C++11将会带来一些实用的改进。我的意思是它将移除一些不必要的打字和其它影响快速编码的壁垒。我前面讲过的auto关键字就是一个例子;现在我想讲一下区间迭代(range-based for loop)。区间迭代的基本语法近来,基本上所有现代编程语言都有一种对一个区间写for循环的便捷方式。最终,C++也有转载 2016-10-14 23:18:19 · 798 阅读 · 0 评论 -
C++11特性初探
C++11系列-改进的类型推导:auto、decltype和新的函数语法2013-08-08C++11引入了一些新的实用的类型推导能力,这意味着你可以花费更少的时间去写那些编译器已经知道的东西。当然有些时候你需要帮助编译器或者你的编程伙伴。但是C++11,你可以在一些乏味的东西上花更少的时间,而多去关注逻辑本身。auto之乐我们先快速回顾一下auto,万一你没有转载 2016-10-14 23:16:48 · 417 阅读 · 0 评论 -
hihoCoder:Dice Possibility
题目2 : Dice Possibility时间限制:10000ms单点时限:1000ms内存限制:256MB描述What is possibility of rolling N dice and the sum of the numbers equals to M?输入Two integers N and M. (1 ≤ N原创 2016-07-15 15:54:48 · 500 阅读 · 0 评论 -
矩阵快速幂求Fibonacci数列
FibonacciTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7241 Accepted: 5131DescriptionIn the Fibonacci integer sequence, F0 = 0, F1 = 1,原创 2016-07-04 11:52:59 · 708 阅读 · 0 评论 -
QT编译子目录项目出现sub-xx-make-first-ordered error5 解决方法
我之前是建立一个子目录项目,总的PRO文件中也写了子目录项目的编译顺序。照旧会出现sub-xx-make-first-ordered error5 ,所以我查看了编译输出结果,发现可能是WIN10的权限问题(之前升级到了WIN10),所以解决办法就是:右键qt creator,管理员运行。感觉这个错误很坑爹,还是希望QT越做越好吧。原创 2015-12-17 11:03:12 · 6598 阅读 · 0 评论 -
Divided Product
给定正整数 N, M,将 N 分解为若干个正整数 A1, A2, ..., Ak,使得:0 A1 + A2 + ... + Ak = NA1 * A2 * ... * Ak MOD M = 0求一共有多少种不同的分解方案。算法分析暴力的求解方法由于本题给定的 N, M 均很小,因此我们先考虑如何暴力求解,直接用递归来对答案进行搜索:DFS(N,M,Last,转载 2015-10-31 21:15:58 · 365 阅读 · 0 评论 -
微软面试题
题意分析给定一个右键菜单的情况,每一个菜单内选项的数量,以及其子菜单的选项情况。合理的安排整个菜单展开的最大长度最小,输出这个最小值。算法分析题目中定义了菜单的元素:row: 表示一行选项section: 由至少一行row构成,其中row的顺序可以自由排列panel: 由至少一个section构成,其中section的顺序可以自由排列转载 2015-09-21 14:45:23 · 502 阅读 · 0 评论 -
QT的进程与线程
该文章原创于Qter开源社区(www.qter.org),作者yafeilinux,转载请注明出处!导语在前面的几节内容中讲解了Qt网络编程的一些基本内容,这一节来看一下在Qt中进程和线程的基本应用。环境:Windows Xp + Qt 4.8.5+Qt Creator2.8.0目录转载 2015-09-16 15:32:05 · 5428 阅读 · 0 评论 -
Have Lunch Together
题意分析给定一幅字符表示的地图,其中包含有 1 个起点'H',若干个座位'S',墙壁'#'和行人'P'。其中墙壁'#'和行人'P'是不可通过的区域。假设在地图中,只能沿着上下左右移动,且每移动一个单元格为 1 步。询问从'H'点出发,是否能够到达两个相邻的'S',且需要移动的步数最少是多少。算法分析从题目当中,我们就可以知道本题需要做什么:读取字符地图,并找到起转载 2015-10-05 17:54:09 · 639 阅读 · 0 评论 -
QT学习之路-C++类的前置声明
首先在这里感谢QT爱好者社区里大神们的无私分享!我个人也买了书籍,但是刚开始看书有点难以进入状态,看了社区的教程,瞬间感觉入门了有木有!这次谈一谈我对C++类的前置声明的理解吧。转自(http://qimo601.iteye.com/blog/1406992)刚开始学习c++的人都会遇到这样的问题:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B转载 2015-09-14 15:08:49 · 3846 阅读 · 0 评论 -
解决windows 7下ffmpeg dxva2硬解码速度过慢
由于项目要兼顾Win 7和Win 10,故将硬解的代码放到Win 7上跑了一下,居然发现视频一直在同步音频,且视频播放卡顿。查到最后发现是由于 av_image_copy_plane()函数执行时间过久,在我的i7-6700K上,拷贝一帧需要50+ms,这是不能接受的。想到qtav有一个优化拷贝的选项,故将其代码download下看了看,copytoFrame()函数原型如下:原创 2017-12-25 21:40:05 · 4650 阅读 · 1 评论