摘要:
稳压电源是测试电路必不可少的工具。驱动小功率的电路,一般可以用电脑的USB接口,外面的两根线是正电源和地线,电压5伏,驱动电流大约500毫安。如果负载电流超过1A怎么办?一般可以买一个稳压电源或者做一个电源。但是一个30V、5A的稳压源也要至少250元,有点贵。常用的直流电压也就是3.3V、5V、12V、18V。所以,就可以用台式机的电源来改造。现在台式机的电源一般是ATX电源。ATX电源的主要特点是它没有传统的机械开关。ATX电源连接主板的是一个24脚的接口,也有20脚的。以20脚为例,引脚排布如下图。主板接口的第14脚是PS_ON,当14脚是高电平时,电压大于4.5V,电源关闭,低电平时, 阅读全文
2014年2月28日
摘要:
VGA,DVI,HDMI是目前常用的3种不同显示接口的名称。在树莓派的边缘既有HDMI的接口,也有RCA的接口,而显示器上也是既有DVI,又有VGA。上个月买连接线,没有仔细检查买了一根HDMI对VGA的接线。今天把它接到树莓派和显示器,发现显示器输入的信号不正常。再查找资料,原来HDMI是输出数字信号,VGA是输出模拟信号,怪不得显示不正常。于是,就在百度上找了一篇介绍三种接口的文章。VGA简介 VAG接口是我们最常见的,也是比较普通的接口。VGA的英文全称是Video Graphic Array,即显示绘图阵列。VGA支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,同. 阅读全文
摘要:
以前在论坛、微博经常看到一张脸,五官长得像A,脸型似乎又是B,觉得很有意思。比如像这张图片。这张图片应该是网友用Photoshop完成的,他们取了郭大爷的五官,放在金元帅的脸上,在把边缘处理平滑。而上面这张图片是另外一种效果,它不仅改变了五官,连脸型轮廓也一起改变了。这种技术称为face morphing,这篇随笔就聊一聊它吧。Morphing是指把一张照片变换成另一张照片,中间的变换过程如行云流水一般自然。Cross-Disolve最方便的方法是像素值叠加,第一幅照片的像素值乘以系数k,加上第二幅照片的对应像素值乘以系数(1-k)。这个方法尽管操作方便,但是效果并不好。首先,要把两幅照片的尺 阅读全文
2014年2月27日
摘要:
原题链接题目大意:这是一道好题。在《算法导论》这本书里面,有一节是介绍如何求最大子序列的。这道题有点类似,区别是从数组变成了矩阵,求最大子矩阵。解法:完全没有算法功底的人当然不知道最大子序列这么经典的东西。所以先请教Google。我是参考了这篇文章的,tengpi.blog.163.com/blog/static/22788264200772561412895/。大意就是另开辟一个同样大小的矩阵,每个元素存放自左侧第一列到该元素的和。然后在纵向上用最大子序列的类似方法计算。参考代码:/* tengpi.blog.163.com/blog/static/227882642007725614128 阅读全文
摘要:
原题链接题目大意:给定一个字符串,先用Morse Code编码,把编码倒序,再解码成字符串。现给定处理后的字符串,求原始信息。解法:用C++String类的函数。每次读入一个字符,就在string后面接上,并且保存字符对应morse码的长度。这里要声明一下,真正的morse码也是有句号、问号这些常用标点符号的,但不是题目里给出的那种形式。比如,句号是“.-.-.-”。参考代码:#include#includeusing namespace std;string code[30]={".-","-...","-.-.","-. 阅读全文
摘要:
原题链接题目大意:首先学习一个生物学的单词,exon:外显子,DNA序列中能够翻译表达的片段。给出很多外显子的起始点和终点,求寻找包含最多外显子的一条链,并且输出这些外显子的编号。解法:先把所有外显子按照起始点的先后排序,相同起始位置的则看终止位置。然后就是一个一个查找,如果当前外显子的终点在下一个外显子之后,就跳过当前的;否则就输出当前外显子的编号。这里使用了vector来存储外显子。写了一段判断大小的代码,作为sort()函数的判断条件,有必要做个标记。参考代码:#include#include #include #includeusing namespace std;struct Exo 阅读全文
摘要:
原题链接题目大意:贪吃蛇的简化版,给出一串操作命令,求蛇的最终状态是死是活。解法:这条蛇一共20格的长度,所以用一个20个元素的队列表示,队列的每个元素是平面的坐标。每读入一条指令,判断其是否越界,是否咬到了自己。若都没有,把改点压入队列,front元素弹出。参考代码:#include#include#includeusing namespace std;struct Point{ int r; int c;};queue worm;bool isItself(queue,Point);int main(){ int i,n; char str[102]; Point temp; char x 阅读全文
摘要:
原题链接题目大意:有一种抽奖游戏乐透(Lotto),规则是从1到49这49个自然数中随机抽取6个数。现在有一种简化版的游戏,先在49个数里面选出k(6解法:输入的数字已经按照升序排列好了。数字范围不大,最多也就是13选6,所以可以暴力破解法。六层for循环解决问题。如果数据量再大的话,就要用深度优先搜索了。参考代码:#includeusing namespace std;int main(){ int k,i,s[13]={0}; int a,b,c,d,e,f; bool first=true; while(cin>>k&&k!=0){ if(!first){ c 阅读全文
摘要:
原题链接题目大意:给一句话,把每个单词倒序,然后输出。解法:我是用了一个堆栈,以空格来拆分单词,把每个字母压入堆栈,然后依次输出。参考代码:/** 字符串反向,140ms,188kb* 单词反向用堆栈是比较方便的,一个个压入,遇到空格再一个个弹出* 但是不知道为什么耗时这么多,大批的人都是0ms,160kb,难道用字符串处理效率高这么多?*/#include#include#include#includeusing namespace std;int main(){ int i,j,n,cases; string str; char *p,c[80]; stack word; cin>& 阅读全文
摘要:
原题链接题目大意:已知三角形的三个顶点坐标,求其外接圆的周长。解法:刚看到这道题时,马上拿出草稿纸画图,想推导出重心坐标,然后求出半径,再求周长。可是这个过程太复杂了,写到一半就没有兴致了,还是求助于Google。在Wiki百科找到一个已知三条边长度,求外接三角形周长的算法,diameter = abc/2*(sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2。问题瞬间简化了,求两点距离是很方便的一件事,然后套用这个公式就可以了。参考代码:#include#include#include#define PI 3.141592653589793using namespace s 阅读全文