- 博客(60)
- 收藏
- 关注
原创 并行,并发和锁的问题
并行:多个处理器,从硬件角度真正意义的同时进行 多线程:只是逻辑上的并行,同一时刻还是只有一个线程发生 并发:并行和多线程都叫并发关于锁: 不管并发并行,只要存在共享内存,就要考虑加锁的问题。锁的实质:都是通过阻塞线程实现的(一个线程申请锁未释放,另一个锁再申请就会线程就会阻塞),区别就是这个锁作用的范围,是否多个进程可以共享这个锁。几种锁的区别:(都是阻塞线程) semphore:信号量,
2016-10-19 21:12:27
1616
1
原创 c语言指针的易错点
1.今天在做项目的时候被c语言的指针坑了很久。现在总结一下: **:划重点,c语言中没有引用,所有的参数传递都是值传递。 这一点在函数传出值(改变函数外的变量)的时候特别明显,想传出一个值就要传入一个指针(它的地址),然后通过这个它的地址来改变它的值。void a; //传出一个值func(&a);void func(void * ptr){ *ptr=value;}void *
2016-10-19 19:48:50
557
原创 windows/linux进程控制实验
最近做了操作系统的实验,进程控制,踩了不少坑。现在总结下。 Liunx:先放代码#include<iostream>#include<cstdlib> //sleep()#include<unistd.h> //fork#include<sys/time.h> //gettimeofday#include<sys/wait.h> //wait#include<ctime
2016-04-11 21:07:15
1126
原创 linux/windows环境变量那些事
变量:相当于别名,举个例子:linux 中,HOME就是一个变量,它一般指的是/home/leo,leo是我的用户名。 变量名不能单独出现,必须加上 “美元符”(linux) 或%%(windows)表示引用它的值。 在linux中: 可以通过echo $HOME查看变量的值 在windows中: echo %HOME%环境变量:path ,path实质上是一种特殊的变量。它等于一系列路
2016-04-11 20:25:00
502
原创 c++ 时间函数全攻略
最近在做操作系统相关的实验,其中经常用到获取系统的时间等函数,现在总结一下。 概念:gmt: GreenWich mean time //格林威治时间 utc: Coordinated universal time //世界时 格林威治时间由本初子午线有关,但是现在发现不太精确,不再使用。 utc时
2016-04-10 21:38:32
404
原创 c++基础,长期更新
今天在写操作系统的作业,发现c++的很多基本语法都忘了,现在自己把基本语法总结一遍。方便以后复习。 **1.构造函数:** 父类构造函数 -> 类成员的构造函数 -> 自己的构造函数 **2.初始化列表:** 这里有个博客挺好 http://www.cnblogs.com/graphics/archive/2010/07/04/1770900.html 我的总结:Test1 t
2016-04-10 18:09:26
513
原创 java 随机数
0.最常见的方法 import java.util.random random ran=new random(seed) //seed空白表示跟时间有关,还可以写long 类型的参数 Int a=nextint/long(n)等等 //mod n,得到一次随机数。 注意其实是伪随机,因为seed确定,后来的随机数都一样。2. 还没看。用时再看。3.http://blog.cs
2015-11-04 21:38:30
267
原创 计算机组成原理基本知识
寄存器: 在CPU中地址总线: 传送地址,在内存中找到相应的地址。只能是从CPU---地址总线: 传送数据,从CPU到外面,或者从外面到CPU举例: mov [BX],AXcpu先计算出物理地址,再通过地址总线(AB)找到内存中的地址(数电讲过,16根线可以1,0找到2^16个地址)然后将AX中的值通过数据总线(DB)写到该内存。(怎么实现的就是硬件的问题了)。
2015-11-03 18:14:54
1729
原创 java 基础知识
0.eclipse操作技巧:ctrl+变量: 查看定义 ctrl+7 批量注释1.命名规范: 包名: cuiyiming 类名/变量名: CuiYiMing 方法名:cuiYiMing 常量名:CUI_YI_MING2.大括号: 第一个不换行2.main 函数: 只能是 public static void main(String[] args)形式,public 表示函数
2015-11-02 16:56:36
330
原创 c# 窗体编程注意事项
c# datagridview 有时不能设置表头的背景颜色等等 是因为没有将enableheadersvisaulstyles设置为false
2015-10-18 17:58:06
615
原创 各种编码
今天终于搞清楚了各种编码的关系,以后不要再纠结这些东西了。 ANSI: Americal National Standard Institute,泛指这种编码方式: char 型 0-255,Ascii 码 0-127, 在ANSI编码中,ASCLL码还是一个字节,用两个字节表示非ASCLL 码,如中文,韩文等,特点是首字节是 128-255。
2015-10-18 14:23:14
366
原创 编译过程
我的理解: 预处理:处理带#的,如将include的文件内容全部包含进来,处理end if 等.编译:词法分析,生成汇编代码,编译后没有变量名概念,编译同时对代码进行优化。汇编:将汇编代码生成机器代码。连接:现在一个工程比如有很多文件,分开编译后会形成很多个机器代码文件,链接就是就是将这些文件组合起来。分为静态,动态。静态链接:比如把函数调用部分换成
2015-10-10 16:12:35
429
原创 变量的声明与定义
我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下:(望我的指点对你受益)变量的声明有两种情况:1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别
2015-05-19 16:04:05
356
原创 欢迎使用CSDN-markdown编辑器
输入要求:第一行为活动的个数 N(1<=N<=1 000 000) 。接下来 N 行为 Si 和 Fi(0<=Siincludeincludeusing namespace std; typedef struct node { int s; int flag; }NODE; NODE a[2000100]; bool cmp(NODE a, NODE b); int
2015-04-06 16:58:10
440
转载 poj 试题分类
以下转自http://blog.myspace.cn/e/400733239.htm水题:3299,2159,2739,1083,2262,1503,3006,2255,3094初级:一、基本算法: (1)枚举 (1753,2965) (2)贪心(1328,2109,2586) (3)递归和分治法 (4
2014-08-07 13:52:26
1123
转载 程序员面试题
登录 | 注册迎春花开365天void main ( 博文来源网络,欢迎联系微信公众号:yingchunhua365 ){cout 目录视图摘要视图订阅有奖征资源,博文分享有内涵 6月推荐文章汇总 微软Azure•英雄会编程大赛题
2014-08-01 16:51:39
2768
原创 poj 2442 优先队列 复杂度用了两个break 降到了m*n*log(n)
#include#include#includeusing namespace std;int a[5000],b[5000],a1[3000],c;priority_queue q;int main(){ int t,i,j,m,n,temp; cin>>t; while(t--) { i=0; cin>>m>>n; //w
2014-08-01 16:47:40
474
原创 poj 1125 floyd
#includeusing namespace std;int dist[110][110],n;int MAX,I;void inti(){ int i,j; for(i=0;i<=n;i++) for(j=0;j<=n;j++) dist[i][j]=1010; for(i=0;i<=n;i++) dist[i][i]=0;}int max(int i){
2014-07-30 16:55:20
311
转载 给自己
不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢?当你打开这个帖子的时候,我已经默认你是此文的目标读者,也就是想进入国内一流互联网企业的非牛人应届生。你不需要拿NOI的奖,无需是开源社
2014-07-29 21:44:32
311
原创 poj 1094
#include#include#includeusing namespace std;int main(){ int in[100],in2[50],map[50][50]; char re[50]; int n,m,i,j,k,a,b,u,temp,temp1,flag; char str[5]; while(cin>>n>>m&&n&&m) { queue q;
2014-07-29 19:58:15
329
原创 poj 3687 两种写法,差别好大,估计没人按第二种写,就当练习邻接表了
#include#include#includeusing namespace std;int main(){ int map[250][250],re[250],in[250]; int n,m,k,i,j,a,b,temp,u; cin>>n; for(i=0;i<n;i++) { memset(map,0,sizeof(map)); memset(in,0,siz
2014-07-29 14:59:48
401
原创 poj 2367
#includeusing namespace std;struct EDGE{ int v,next;}e[200];int head[200],k,intdegree[200],queue[200],a[200];void insert(int u,int v){ e[k].v=v; e[k].next=head[u]; head[u]=k++;}int tuop
2014-07-28 20:31:25
328
原创 poj 2524
#includeusing namespace std;int fa[50010];int bing(int x){ if(fa[x]!=x) fa[x]=bing(fa[x]); return fa[x];}int main(){ int n,m,a,b,i,c,count=1; while(cin>>n>>m&&n&&m) { for(i=1;i<=n;i++)
2014-07-28 17:04:30
321
原创 hdu 3714 三分
#include#includeusing namespace std;int a[10010],b[10010],c[10010],n; double max(double x){ double max1,sum; int i; max1=a[0]*x*x+b[0]*x+c[0]; for(i=1;i<n;i++) { sum=a[i]*x*x+b[i]*x+c[i]
2014-07-24 21:00:17
345
原创 hdu 2675 二分 解方程
#include#include#includeusing namespace std;const double e=2.718281828459;int main(){ double c,b,y,left,right,mid; while(scanf("%lf",&y)!=EOF) { b=e*y/log(e*y); if(fabs(y-1)<0.00000001)
2014-07-24 13:23:17
604
原创 poj 2289 二分
#include #include#includeusing namespace std;const double e=3.14159265;int main(){ int t,i; double r,R,h,v,r0,left,right,mid,v0; cin>>t; for(i=0;i<t;i++) { cin>>r>>R>>h>>v; left=0,ri
2014-07-24 00:22:27
333
原创 poj 3273 二分
#includeusing namespace std;__int64 n,k;int a[100010];bool f(__int64 mid) //怎么a{ __int64 temp=0,max=0,sum,j; while(temp<n) { sum=0; for(j=temp;j<n;j++) { su
2014-07-23 21:55:19
272
原创 poj 1064 二分
#includeusing namespace std;int n,k;__int64 b[10010];int f(__int64 a) //用int 64 就过了,题目中说的是100千米,超过int{ int i,sum=0; if(a==0) sum=k; //这一步分母不能为0,这样处理
2014-07-23 17:50:56
313
原创 cf 371c 二分
#include //二分真是他妈的快,我将right开到1000000000000都没事 #include#includeusing namespace std;__int64 b,s,c,nb,ns,nc,pb,ps,pc;__int64 r;bool judge(__int64 n) //溢出了,应该用__int64{ __int64 p
2014-07-23 17:49:45
539
转载 写给程序员
2010年初写过一篇博客(我们是一群和平年代充满浮躁与抱怨的程序员),一年过去了,社会好像更浮躁,也有网友问我这方面的问题,于是有了下面这篇文章,再次写给我们这些刚入行浮躁的程序员,如何成长,以下是列出了一些成长的心得,我们不必每条都去实践,但是优秀的程序员成长过程中总会实践里面的几条。多做项目,多思考不要害怕做事,刚毕业的同学最缺的就是工作经验,乱七八糟的项目能让你很快就了解了一
2014-07-23 11:20:48
306
原创 poj 1058 dp
#include#includeusing namespace std;__int64 min(__int64 a,__int64 b,__int64 c,__int64 d) //两个{ a=a>b?b:a; a=a>c?c:a; a=a>d?d:a; return a;}int main(){ int a,b,c,d,n,i; __int64 f[6000];
2014-07-23 11:19:48
555
原创 hdu 1087 实际上就是求最大值递增子列
#include#includeusing namespace std;int num[1010];int dp[1010];int DP(int i){ int j,max=0; if(dp[i]==0) { for(j=0;j<i;j++) { if(num[j]<num[i]) { if(max<DP(j)) max=DP(j);
2014-07-22 21:45:22
302
原创 hdu 2048 带帽问题,错位排列
#includeusing namespace std;int jc(int a){ int i,sum=1; for(i=1;i<=a;i++) sum*=i; return sum;}int main(){ int n,i,j,k,sum; double m; cin>>n; for(i=0;i<n;i++) { sum=0; cin>>k; for
2014-07-22 19:38:09
484
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人