自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小白

ACM

  • 博客(55)
  • 资源 (11)
  • 问答 (1)
  • 收藏
  • 关注

原创 Altium Designer如何批量修改名称,数值,封装

原文:http://blog.csdn.net/yueniaoshi/article/details/7830849  通过全局修改(Global edit)来进行(本文以电容封装为例),封装的修改也可以通过Tools下的Footprint  Manager来进行修改,本文使用全局修改具体方法:选中元件右击----Find Similar Objects,弹出如下页面Obj

2015-12-06 13:40:09 4265

原创 驱动接口函数调用过程

本文就来揭秘一下到底一个驱动的接口函数是如何被调用的: 首先我们来反汇编读驱动的程序: 跳转到__libc_read,发现他把r7赋值给3,3是传过去的参数,然后调用svc指令,进入内核态相应的入口: 接下来就已经进入内核态,入口函数中将存入r7中的3取出。     然后加载一张表,表名是sys_call_call,根据这个表中内容,断定3到底是对应什么操作: 这个表如下,可以看出表中第三项对应C

2015-12-06 13:40:07 5377

原创 基本驱动模型

应用程序使用驱动:一个设备驱动其实就是一个内核模块。应用程序使用一个字符设备是通过使用其设备文件来完成的,通过对其设备文件的读写来完成对设备的交互: 那么,想要使用字符设备驱动就首先得有一个字符设备文件,创建一个字符设备文件的方式有两种:  驱动初始化 因为驱动程序是一个内核模块,所以驱动的初始化操作是放在内核模块的初始化函数里:    主要流程如下: 下面展示一段示例代码:     下面来解释一

2015-12-06 13:40:04 1228

原创 从linux和ucos的比较中来看进程这个概念

这种问题就要和ucos结合起来嘛。 程序和进程:程序:存放在磁盘上的一些列代码和数据的可执行映像,是一个静止的实体。进程:是一个执行中的程序,它是动态的实体。 linux进程的四要素:1. 有一段程序供其执行。这段程序不一定是某个进程所专有,可以与其他进程共用。2. 有进程专用的内核空间堆栈。3. 在内核中有一个task_struct数据结构,即通常所说的“进程控制块”。有了这个数据结构,进程才能

2015-12-06 13:40:02 6912

原创 内核链表

能不能一种链表中链接不同的类型呢,相应这种号召,内核链表诞生了。内核链表之所以能够链接不同的类型的数据,是因为它和普通链表不一样,它链接的不是数据结构的起始地址,而是链接的该数据结构中的的list_head属性。 下面是比较重要的函数:  其他的都很简单,专门介绍一下list_entry函数:  函数最后返回的是这个结构体节点起始地址。Ptr是这个节点中list_head属性的地址,type是这个

2015-12-06 13:40:00 477

原创 实验室外包项目电路图中复位电路的错误 和 复位电路原理的学习

王工小板中对于stm32f411芯片的复位电路如下:     实际上这个电路是错误的,经过实测,stm32f411芯片运行时复位引脚为高电平,而在这个电路图里,实际上是把stm32f411芯片运行时复位引脚的电平看为了低电平,按照这个电路,按下按键,会引起电平跳转到高电平从而触发复位,然而实际上并不是这样,stm32f411复位引脚内接上拉电阻(经过实测),所以即使按键松开,其实RST

2015-12-06 13:39:57 913

原创 linux内存管理初学

虚拟内存模型Linux 内核本身并不运行在虚拟空间中,其使用的是物理寻址模式。    物理内存被分割为界面,一个内存页面的大小由PAGE_SIZE宏决定。 虚拟地址空间的方式使程序员可以将巨大的结构用于连续的地址,而不必考虑物理内存上的限制。线性地址到物理地址线性地址需要由处理器或者一个单独的MMU转换为物理地址,转换方式如下: 解析的方式为:1.用线性地址中的第一个位段为下标可以在页面目录中找的

2015-12-06 13:39:55 333

原创 linux文件系统初学

Linux磁盘分区和目录 Linux发行版之间的差别很小,差别主要表现在系统管理的特色工具以及软件包管理方式的不同。 Windows的文件结构是多个并列的树状结构,最顶部是不同的磁盘(分区),如C,D,E等。而linux的文件结构是当个树状结构。  分区和目录的关系:1. 任何一个分区都必须挂载到某个目录上。2. 目录是逻辑上的区分,而分区是物理上的区分。3. 根目录是所有linux的文件和目录下

2015-12-06 13:39:52 544

原创 自制吸锡带

焊接qfp封装芯片的时候,由于两个引脚间距过小,常常会在引脚上留有焊锡,这个时候就需要吸锡带,但是一般情况下我们手边的设备并不齐全,所以我们可以利用手边的工具自制。        工具:烙铁,松香,铜丝。         把杜邦线去皮,取出铜丝,拧成麻花状,不要拧的太紧,然后用烙铁按着铜丝在松香里上松香。取出,一条吸锡带就做好了。       上图是铜丝的图。 

2015-12-06 13:39:50 10925

原创 joj 1089 &&zoj 1060&&poj 1094 以及wa的分析和数据

这道题着实让无数人纠结,wa了n次n天,poj的discuss有大量的数据,wa的同学可以试一试。结果我把数据都过了还是wa,后来在discuss的帮助下终于ac了,判断是否有环要最先判断,例如如下的数据:4 4ACDB总的思想是拓扑排序,我的方法比较笨,先不完全拓扑排序判断有无环,在完全拓扑排序判断是否满足了条件:#include#include#incl

2015-12-06 13:39:47 595 1

转载 Ubuntu下双显示器设定

自8.10后的版本,系统自带了xrandr工具,可以很好的实现双显示器。配置与使用如下:介绍   X Windows 中有一个显示分辨率的概念,在默认情况下,这个显示分辨率为 max*max ,max等于你的所有连接上的显示器中最大分辨率中的最大值。例如我的笔记本液晶屏最大分辨率为 1024*768,外接显示器最大分辨率为 1280*1024,则默认的显示分辨率为 1280*128

2014-08-07 18:41:25 2012

转载 ffmpeg 命令的使用

当然先安装了 gentoo 下一条命令搞定emerge  ffmpeg  格式转换 (将file.avi 转换成output.flv)     ffmpeg -i  file.avi  output.flv       -i 表示输入文件  :现在有个视频video.avi,有个音频 audio.mp3,将其合并成output.avi两个命令      

2014-07-27 14:24:41 756

转载 ifeq ifneq ifdef ifndef

条件语句中使用到了三个关键字:“ifeq”、“else”和“endif”。其中:1.        “ifeq”表示条件语句的开始,并指定了一个比较条件(相等)。之后是用圆括号括包围的、使用逗号“,”分割的两个参数,和关键字“ifeq”用空格分开。参数中的变量引用在进行变量值比较时被展开。“ifeq”之后就是当条件满足make需要执行的,条件不满足时忽略。2.        “else”之

2014-07-26 21:31:32 5348

原创 字符对齐

linux下结构 默认的是4字节对齐,其

2014-07-25 12:01:44 791

原创 joj 1928

筛选法求素数~~~~~ #include #include #include #include using namespace std;int prim[50000];int main(){ memset(prim,0,sizeof(prim)); int i; for(i=2;i<50000;i++) {

2012-02-14 17:05:41 397

原创 joj 1877

按这题目来就行  #include #include #include using namespace std;struct node{    char name[35];    int total_num;};node tree[10001];int main(){    int len=0,num=0;    char str[35]

2012-02-14 15:12:31 344

原创 joj 2660 河床

rmq的st算法,还有就是从头遍历的小技巧,不然仍然会超时。。。。#include#include#includeusing namespace std;#define max(a,b) (a>b?a:b)   #define min(a,b) (a#define MN 40005 int w[30005];int mi[MN][15],mx[MN][15];

2011-11-19 15:48:19 365

转载 rmq的st算法及模板

RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,jST算法:  首先是预处理,用一个DP解决。设a是要求区间最值的数列,f[i,j]表示从第i个数起连续2^j个数中的最大值。例如数列3 2 4 5 6 8 1 2 9 7 ,f[1,0]表示第1个数起,长度为2^0=1的最大值,其实就是3这个数。f[

2011-11-19 15:35:17 471

原创 joj 2651

水题,我竟然把Yes和No写成了YES和NO。。。。。 #include#includeusing namespace std;int frid[105][105];int cloth[105];int n;int r_right;void dfs(int m,int c){     //cout    if(r_right==0)

2011-11-18 20:30:54 445

原创 joj 1089 &&zoj 1060&&poj 1094 以及wa的分析和数据

这道题着实让无数人纠结,wa了n次n天,poj的discuss有大量的数据,wa的同学可以试一试。结果我把数据都过了还是wa,后来在discuss的帮助下终于ac了,判断是否有环要最先判断,例如如下的数据:4 4ACDB总的思想是拓扑排序,我的方法比较笨,先不完全拓扑排序判断有无环,在完全拓扑排序判断是否满足了条件:#include#include#incl

2011-11-11 20:19:27 555

原创 joj 1189

大数,题目有点误解人。。。明明说VeryLongInteger但运算的却不是数字而是文本行#include#includeusing namespace std;char str1[1000005],str2[105];int main(){    scanf("%s",str1);    while(scanf("%s",str2),strcmp(str2,"0"

2011-11-10 21:18:34 392

原创 joj 2699

水题 简单的博弈思想#include#includeusing namespace std;int main(){    int n,k;    while(scanf("%d%d",&n,&k),n||k)    {        int i=n%(k+1);        if(i!=1)            printf("16\n");

2011-11-10 20:30:02 386

原创 joj 2717

水题,应用简单dp,含i个字符的串的个数等于i-1个字符的串的个数*2(包扩加上0和加上1),再减去最后3个字符是011的情况。 #include#includeusing namespace std;double dp[41];int main(){    memset(dp,0,sizeof(dp));    dp[0]=1;    dp[1]=2;

2011-11-10 19:50:00 337

原创 joj1026

copy来的思想,果然自己还很菜啊递归方程式如下(f(i,j)为i个砖头,第一排为j个的摆发):f(i,j)=f(i-j,j+1)+f(i-j,j+2)+...+f(i-j,floor((i-j-1)/2)#include#includeusing namespace std;double p[501][501]; int main(){    int i,j,

2011-11-06 20:53:14 399

原创 joj 1171

水题,做1089太郁闷了所以刷了到水题,代码很笨,基本没有参考价值,只为看一眼快把我折磨死的气球。。。。。。。。。。。#include#includeusing namespace std;char str1[1005],str2[1005];int main(){    while(scanf("%s%s",str1,str2)!=EOF)    {

2011-11-06 18:44:22 481

原创 joj 2343

我这辈子都会记住这个定理:n元循环群(a)中,元素a^m是(a)的生成元的充要条件是(n,m)=1.哎,郁闷。。。。#include#includeusing namespace std;int main(){    int n,m;    while(scanf("%d%d",&n,&m)!=EOF)    {        int a,b;

2011-11-06 17:43:12 374

原创 joj 1387

又见0-1背包,长度既是价值也是体积。#include#includeusing namespace std;int dp[100000];int cd[105];int main(){    int cd_sto;    while(scanf("%d",&cd_sto)!=EOF)    {        int n;        scanf(

2011-11-04 20:32:14 381

原创 joj 1078 hdu 1116

欧拉回路 在加上 并查集判断连通性,把每一个单词当做一个边,话说我一开始当做h路做的。。。。。#include#include#includeusing namespace std;int father[26],rank[26],r[26],c[26],mark[26];int find(int x){   //cout    if(father[x]==x)

2011-11-03 23:19:29 388

原创 joj 1317

各种序。。。。。。。。。。。#include#include#includeusing namespace std;void tree(char *s1,char *s2){     if(s1[0]=='\0')         return;     else if(s1[1]=='\0')     {         printf("%c",s1[

2011-10-30 15:09:00 378

原创 joj2035

一开始超时,怎么改都超时,后来果断把stl换成纯数组,竟然AC了,莫非stl的操作很费时间吗,不解:之前的超时stl版:#include#include#includeusing namespace std;int mark[10005];int main(){    int n;        while(scanf("%d",&n),n>0)

2011-10-30 10:36:41 403

原创 joj 1329 二叉树

给出中根序列和后根序列求路径值最小的叶节点,各种队,各种栈(话说一开始理解错题了,英语不好的悲哀) #include#include#includeusing namespace std;int mmaaxx;int k;void tree(stack s1,stack s2,int m){     if(s1.size()==1&&s2.size()==1

2011-10-28 21:08:53 417

转载 stl 常用函数(包括vector list stack queue)

vector:Constructors 构造函数 Operators 对vector进行赋值或比较 assign() 对Vector中的元素赋值 at() 返回指定位置的元素 back() 返回最末一个元素 begin() 返回第一个元素的迭代器 capacity() 返回vector所能容纳的元素数量(在不重新分配内存的情况下) clear() 清空所有元素

2011-10-28 19:46:14 2536

原创 joj2474

先找各阶段的状态,再dp规律是:2*1的不同的数目为2;2*2的不同的数目为7;2*3的不同的数目为8;以下全为8,注意这里说的不同的数目是指2*n中横跨n个格的放法,即不可分割的放法。 #include#includeusing namespace std;int dp[101];int main(){    int n,i;    mem

2011-10-21 21:17:12 371

原创 joj2308

贪心,弄个2重循环,每次取最优就可以了。#include#include#include#include using namespace std;int a[52];int main(){    int n,k;    while(scanf("%d%d",&n,&k)!=EOF)    {        int i,j;        for(

2011-10-21 19:54:43 328

原创 joj2325

据说要用dp,不过我用的是BFS,就是从上下左右四个方向压缩,在余下的面积不小于max的情况下一直到压缩出全为一的子阵,然后更新max的值,反复进行这个操作,即一开始的矩阵为:1 1 1 10 0 0 01 1 1 10 0 0 0可以压缩为:0 0 0 0  (去掉第一行)1 1 1 10 0 0 0    1 1 1 1 (去掉第四行)0 0 0 0

2011-10-21 17:56:40 339

原创 hdu 1325

桉树的定义来就好了#include#includeusing namespace std;int p[100005];int c[100005];int u[100005];int rank[100005];int father[100005];

2011-10-14 22:38:41 664

原创 hdu 1711

感觉到了算法的伟大,虽然是用了最基本的kmp算法,不过代码写的比较乱,因为数组是从0开始,如果数组时从1开始的话估计就会清晰了。#include#includeusing namespace std;int s1[1000005],s2[10005];int

2011-10-13 09:33:35 543

转载 大数相乘

x[m]和x[m-1]相乘,xx[m]存的是x[m]的长度 int  x[501][1500];int xx[501];void multiply(int m){    int a[1500];    memset(a,0,sizeof(a));

2011-10-08 12:50:21 378

原创 hdu 1115

模板模板模板#include#include#includeusing namespace std;struct point  {  double x;   double y;  };  point bcenter(struct point

2011-10-04 19:48:17 624

转载 求三角形重心 包括凹多边形的模板

求多边形重心的题目大致有这么几种:1,质量集中在顶点上。n个顶点坐标为(xi,yi),质量为mi,则重心  X = ∑( xi×mi ) / ∑mi  Y = ∑( yi×mi ) / ∑mi  特殊地,若每个点的质量相同,则  X = ∑xi / n

2011-10-04 19:47:02 1844

tinyhttpd 支持png图像版

tinyhttpd是学习http协议非常好的工具,但是由于其过于简单,不支持在网页上显示图片,所以我改了一些代码,供新手一起学习,ubuntu14.04下直接make就可以,已经测试通过.

2016-05-18

mapinfo 全国 矢量地图

mapinfo 全国矢量地图,tab格式,包含流域,植被,乡镇,街道等丰富信息,希望能让你满意。

2014-08-13

音乐播放器 源代码

一款音乐播放器源代码,含有详细注释,是我以前用来参加一个软件设计比赛的,用c语言编写,里面有使用说明,代码等。希望能给大家带来帮助~

2013-03-05

CJ60Lib 源代码包

CJ60Lib代码包,内有lib和include以及使用说明,或者到网上找说明也可以~

2013-03-05

微软研究院立体匹配代码

微软研究院的立体匹配代码,用vc编译,希望能给初学者带来帮助

2013-03-05

c++ 立体匹配 源代码

不但可以进行匹配,含特征点提取部分,拥有图形化界面,有注释,适合初学者摸索学习。

2013-03-05

harris 特征点提取

harris特征点提取,含有详细注释,适合于特征点提取入门级同学~

2013-03-05

吉林大学 joj 1000-2645题代码

吉林大学 joj 1000-2645题代码,嘿嘿,大家就不用在花JPOINT买代码了,祝ACMer实现自己的心愿

2012-11-19

java gui 美化包

java的美化包,用于美化界面,话说学期的课程设计坑人啊,逼我们学这个东西

2012-11-19

2011年10月23日北邮ACM比赛题目

2011年10月23日北邮ACM比赛题目,提供给大家练习使用,希望每一个ACMer都能完成自己的梦想!!!!

2011-10-23

ACM计算几何 代码库 完美版

计算几何代码库,包含大多数所需的代码,ACM必备

2011-10-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除