- 博客(90)
- 资源 (4)
- 收藏
- 关注
原创 驱动之LCD
本来想学的更深入一些再来写这些总结,但想想,边学边写,记录成长过程也挺好的。下面自底向上,了解LCD的整个工作流程。一、LCD的组成结构和各结构的功能。(1)、背光板模组:提供光的来源;(2)、上下偏光板,TFT Glass Substrate,液晶:形成偏振光,控制光线的通过与否;(3)、彩色滤光片:提供TFT LCD红、绿、蓝(光的三原色)的来源;(4)、ITO
2014-02-11 10:38:09 12754 1
转载 DBI接口、DPI接口和DSI接口基础
(1)DBI接口 A,也就是通常所讲的MCU借口,俗称80 system接口。The lcd interface between host processor and LCM device list as below,The LCM driver will repeated update panel display。MCU借口通过并行接口传输控制命令和数据,并通过往LCM模组自
2013-07-17 16:06:37 2027
转载 linux下vi命令大全
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复f
2013-06-23 20:32:13 594
原创 毕业设计首页
学了三天的div+css,终于搞定了首页骨架的美工问题。总结以下几个问题:1、div设置宽度时,首先要确定屏幕的分辨率,一般来说 是 1024*768。开始不明白这个道理,设置的有些随意,导致页面填充不满,多出一大截空白。2、提前精确算好每个块的大小,不然牵一发动全身,改起来很麻烦。3、动手做才是王道!做的过程中才能提高对技术的理解。
2013-04-24 15:52:20 525
原创 eclipse 中项目改名后的tomcat不能部署的问题
解决方法:1、右键点击项目,选择Refactor里面的Rename来修改项目名称。2、然后右击项目,选择属性,进MyEclipse中Web选项,在Context Root中修改项目名称。
2013-01-30 10:37:40 417
原创 Ahui Writes Word(01转化为多重背包)
Ahui Writes WordTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1235 Accepted Submission(s): 465Problem DescriptionWe all know that Eng
2012-11-15 11:52:38 471
原创 hdu 3738 The Sweat Shop(dp)
The Sweat ShopTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 35 Accepted Submission(s): 15Problem DescriptionMany people spend thier
2012-11-15 11:45:31 656
原创 操作系统复习笔记--进程与线程
进程概念 进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。 在Mac、Windows NT等采用微内核结构的操作系统中,进程的功能
2012-10-26 17:08:02 457 1
原创 C语言复习笔记--static 全局变量和普通全局变量
static 全局变量和普通全局变量static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?1、全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序
2012-10-24 14:28:51 467
转载 c语言复习笔记——内存分配问题
1、内存分配方式 内存分配方式有三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (
2012-10-23 12:11:02 622
原创 c语言复习笔记——sizeof()
sizeof()用法汇总sizeof()功能:计算数据空间的字节数1.与strlen()比较strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。2.指针与静态数组的sizeof操作指针均可看为变量类型的一种。所有指针变量的s
2012-10-23 12:07:01 477
原创 c语言复习笔记--指针定义
一、指针主要要区分好指针的类型,和它指向的类型。 int* p; ① 定义语句中的“*”表示该变量为指针变量② 一个指针变量只能存储同一种类型变量的地址二、指针赋值规则:1、不能把常量或表达式的地址赋给指针变量。 如:P=&67;P=&(i+5)是非法的2、不能将一个整数赋给指针变量,但可以赋整数值0,表示该指针空指针,不指向任何内容。3、指针
2012-10-23 12:03:23 438
原创 The Game of 31 (博弈)
这次在湖大oj上做的,开始wa了几次,后来想到空串的情况,加了特判才A。真叫人蛋疼。。#include #include int dp[35][5][5][5][5][5][5];int visit[35][5][5][5][5][5][5];int a[7];int max(int x,int y){return x>y?x:y;}int dfs(in
2012-08-30 14:11:00 511
原创 HDU 1241 Can you find it? (二分查找)
开始的思路是将A+B枚举,然后二分求X-A-B,这样超时了。后来发现了一种更加巧妙的思路:先将A+B求和后排序,然后二分求X-c,此处将高效的二分用于求数量更大的A+B。果然换个角度,效率提高了N倍。#include #include #define maxn 500using namespace std;__int64 a[maxn],b[maxn],c[maxn],hu
2012-08-29 19:33:09 393
原创 2012 Multi-University Training Contest 1 Saving Princess claire(广搜)
广搜求最距离。一个细节:由于每个'P'之间是相通的,所以当搜到第一个'P’时,紧接着就应该把其他'P'点加入到队列中。#include #include #include #include #include #include #include using namespace std;#define maxn 2000int row,col,cost
2012-07-21 20:57:47 937
原创 2012 Multi-University Training Contest 1 Holedox Eating(线段树)
用线段树保存当前区间里最近的蛋糕位置。几个细节值得注意:1、每次吃完蛋糕后要更新当前所在位置和前一个吃蛋糕的位置,以便在遇到有多个蛋糕距离一样的时候选择按原来方向吃一个蛋糕。 2、一个点可能有多个蛋糕,所以每次吃一个点的蛋糕后,该点蛋糕数减1,如果蛋糕数为0,则把该点值设为INF,否则该点值不变。#include
2012-07-21 20:53:27 342
原创 2012 Multi-University Training Contest 1 Divide Chocolate(递推)
状态表示: dp[i][0][j]:前i行有j部分且第i行的两个格子属于同一部分的方法数 dp[i][1][j]:前i行有j部分且第i行的两个格子属于不同部分的方法数#include #include #define N 100000007 int dp[1005][2][2005]; int n,k; void solve(){ in
2012-07-21 20:43:37 430
原创 hdu Matrix(二分图的最小路径覆盖)
#include #include #define maxn 150int G[maxn][maxn];int mark[maxn];bool visit[maxn];int n,m;int path(int u){ int i; for(i=1;i<=m;i++) { if(G[u][i] && !visit[i]) { visit[i]=true; i
2012-07-21 20:39:34 344
原创 hdu 过山车(二分图的最大匹配)
#include #include #define maxn 505bool visit[maxn];int mark[maxn];int G[maxn][maxn];int K,n,m;int path(int u){ int i; for(i=1;i<=m;i++) { if(visit[i] || !G[u][i]) continue; visit[i
2012-07-21 20:38:33 409
原创 hdu 棋盘游戏 (求二分图最大匹配的关键点)
#include #include #define maxn 150int n,m,k;int G[maxn][maxn];int mark[maxn];bool visit[maxn]; int path(int u){ int i; for(i=1;i<=m;i++) { if(G[u][i] && !visit[i]) { visit[i]=true;
2012-07-21 20:37:29 842
原创 hdu Air Raid(最小路径覆盖)
#include #include #define maxn 150int G[maxn][maxn];int mark[maxn];bool visit[maxn];int n,m;int path(int u){ int i; for(i=1;i<=n;i++) { if(G[u][i] && !visit[i]) { visit[i]=true; i
2012-07-21 20:35:31 353
原创 hdu Machine Schedule(二分图的最小覆盖)
#include #include #define maxn 105int G[maxn][maxn];int mark[maxn];int visit[maxn];int n,m;int path(int u){ int i; for(i=1;i<m;i++) { if(G[u][i]==1 && visit[i]==0) { visit[i]=1; i
2012-07-21 20:34:41 289
原创 hdu Girls and Boys(二分图的最大独立集)
#include #include #define maxn 1005int G[maxn][maxn];int mark[maxn];int visit[maxn];int n;int path(int u){ int i; for(i=0;i<n;i++) { if(G[u][i]==1 && !visit[i]) { visit[i]=1; i
2012-07-21 20:33:31 316
原创 关于二分图问题的一些知识
二分图相关问题:1、二分图最大匹配 (定义:匹配是二分图中边的集合,且集合中的任意两条边没有公共点,包含边数最多的匹配就是最大匹配)2、二分图最小覆盖 (寻找一个点集,是的图中每一个边至少有一个点在该边上,即用最少的顶点去覆盖所有的边)3、二分图最大独立集 (寻找一个点集,其中任意两点在图中无对应边)4、二分图最小路径覆盖 (用尽量少的不相交简单路径覆盖有向无环图的所
2012-07-21 20:29:42 703
原创 Monkey and Banana(dp)
#include#include#includestruct stu{ int x,y,z,h;}s[1000];int cmp1(const void*a,const void*b){ return *(int *)b-*(int *)a;}int cmp2(const void*a,const void*b){ struct stu *c,*d;
2012-07-12 22:05:07 356
原创 命运(dp)
把以前做的都刷起来!我确实是一个比较无聊的人啊#include#includeint n,m;int map[21][1010];int sum[21][1010];int max(int x,int y){ if(x>y) { return x; } else { return y; }}int main(){
2012-07-12 22:01:59 295
原创 免费馅饼(dp)
#include#includeint max(int x,int y){return x>y?x:y;}int dp[15][100005];int main(){ int n,x,y,i,j,time; while(scanf("%d",&n),n) { memset(dp,0,sizeof(dp));
2012-07-12 22:00:15 689
原创 Common Subsequence (dp)
#include #include #define maxn 1050char a[maxn],b[maxn];int dp[maxn][maxn];int max(int x,int y){ return x > y ? x : y; }void solve(int x,int y){ int i,j; //memset(dp,0,sizeof(d
2012-07-12 21:58:23 247
原创 FatMouse's Speed(dp)
今天心情好差啊!刷刷题...#include #include #include #include #include #include using namespace std; struct node{ int w,s,no;}a[1005];bool cmp(node a,node b){ if(a.w==b.w) return a
2012-07-12 21:57:10 538
原创 Max Sum (简单dp)
#include #define inf 999999999int dp[100050],s[100050],pre[100050];int Max,start,end,n;void solve(){ int i,j; dp[1] = s[1]; pre[1] = 0; Max = s[1]; end = 1; for(i=2;i<=n;i++) { if(s[i] >
2012-07-11 22:12:23 284
原创 BNU Rugby Football
#include #include #define ll long longll v[10050];int cmp(const void *a,const void *b){ return *(ll *)b - *(ll *)a; }int main(){ ll T,n,time,L,i,total; double ans; scanf("%lld",&T); while
2012-07-07 18:59:17 315
原创 poj A Simple Problem with Integers(线段树,成端更行)
延迟标记(或者说懒惰标记),就是每次更新的时候不要更新到底,用延迟标记使得更新延迟到下次需要更新or询问到的时候。#include #define maxn 100050#define lson l , m , rt * 2#define rson m+1 , r ,rt *2 +1#define dem m = (l + r) / 2__int64 sum[maxn*4];
2012-07-06 11:34:41 1673
原创 hdu Just a Hook
成段更新,注意延迟标记。#include #define maxn 100050#define lson l , m , rt *2 #define rson m+1 , r , rt *2 +1#define dem int m = (l + r) / 2int sum[maxn*4];int col[maxn*4];int n;void PushUp(int
2012-07-05 22:51:04 370
原创 poj Buy Tickets (巧妙的线段树)
做完这道题才意识到什么是线段树的巧妙运用。yy才是王道啊!关键词:倒叙插入。#include #define maxn 200050#define lson l , m , rt * 2#define rson m+1 , r , rt * 2 + 1int n;int rest[maxn*4],ans[maxn];int id[maxn],value[maxn]; vo
2012-07-02 22:54:39 406
原创 Minimum Inversion Number (线段树 + 递推)
题意:给一个序列 a1, a2, ..., an,求这个序列的以下n中排列中,逆序数和的最小值。思路:先用线段树求出初始序列的逆序数和,再递推的求其他排列的逆序数和。 1、建立一颗线段树,初始整个inv[i]为0; 2、更新线段树,统计x[i]至n-1中已经插入了的数的个数和,并做相应的更新。 3、根据初始序列的逆序数的和,递推式的求
2012-07-01 22:45:19 347
原创 Problem B (Max Sum Plus Plus) (dp问题)
题意:给你一组数,要你将其分成m个不相交的子段的最大值。先说下动态转移方程:dp[i][j]表示前j个数(包括j)分成i份的最大值。(至于为什么要这样设计我们以后当面聊。) 那么容易得到动态转移方程如下: dp[i][j]= max { dp[i][j-1]+s[j] (当s[j]不是第i份的第一个数时) dp[i-1][j-1]+s[j] (当s[j
2012-06-24 17:05:01 1054
原创 Problem G --square (dfs+剪枝)
题意是给你一堆棍子。问你可不可以将他们组成正方形也就是可不可以平分成4份。用dfs,值得注意的是此题的剪枝问题,直接上代码,看注释吧。#include #include #include int s[25],sum,flag,n;bool visit[25];int cmp(const void *a,const void *b){ return *(int *
2012-06-24 16:19:50 420
原创 Ignatius and the Princess III (递推)
整数划分问题是一个经典的递归问题。dp[n][m]表示 整数n的m划分为 n=x1+x2+x3+...+x;其中xi的最大值小于等于m;那么我们讨论一下怎么把问题转换为其子问题;1、当m=1或者n=1 时 显然dp[n][m]=1;2、当n3、当n=m时 分两种情况考虑 3.1、当划分的数中包含m时,dp[n][m]=1;3.2、当划分的数不包含m时,问题转换为整数n的
2012-06-19 20:46:14 388
原创 hdu Big Number
思路1:N!除以10^(k-1)(k为N!的位数)等于一个介于1 和10 之间的小数那么就转换成求K。那么在阶乘的过程中超过了10就将结果除以10,k就等于除10的次数加1。#include int main(){ int T,n,ans,i; double x; scanf("%d",&T); while(T--) { scanf("%d",&n); x=1
2012-06-10 13:17:39 333
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人