- 博客(420)
- 资源 (5)
- 收藏
- 关注
原创 About 进程挂起
对于挂起,一直处于模糊理解 状态,知道有这么个东西,而不知道它具体如何工作的,更迷惑这个挂起和swap 有什么关系;这里先说一下自己的理解,而后再贴上博文的内容。挂起就是由于种种原因,我们让进程处于静止状态,说白了就是让进程不能立即执行,当然我们将一个进程的全部内存都放入虚存中,当然也是满足这个条件的,所以我们将全部放入虚存中的就绪进程叫做静止就绪状态;而我们平常主动挂起的进程
2014-12-10 10:49:17
1842
1
原创 虚拟内存
1、用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间;而计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。程序进行虚地址到实地址转换的过程称为程序的再定位。2、在三级存储体系中,cache-主存和主存-辅存这两个存储层次有许多相同点:(1)出发点相同:二者都是为了提高存储系统的性能价格比而
2014-12-10 10:48:17
1086
原创 鸟哥的私房菜-读书笔记
1、FAT的文件系统经常需要进行碎片整理,那么EXT文件系统是否需要磁盘整理?(1)什么是碎片整理:经常听到的碎片整理就是文件写入的block太过于离散了,此时文件的读取性能将会变得很差,这个时候通过碎片整理将同一个文件所属的block汇合在一起,这样数据的读取比较容易。(2)由于Ext系统是索引式文件系统,基本上不太需要进行碎片整理的,但如果文件系统使用太久,经常删除/编辑/新增文件是。
2014-12-10 10:46:40
986
原创 操作系统临时复习笔记
1、进程的实质是进程实体的一次执行过程。2、PCB是进程存在的唯一标识,OS是根据PCB来对并发执行的进程进行控制和管理的。PCB是OS中最重要的纪录型数据结构;PCB中记录了OS所需的,用于描述进程的当前情况以及控制进程运行的全部信息。PCB的作用是是是一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。
2014-12-10 10:45:02
1043
原创 高司令你还在吗
赋值运算 以前真的没注意到这两个东西的区别呢。第一个语句,可以很容易的看出s的类型首先由short提升为int,然后s+6的结果要赋值给s这样的短类型,那么这就存在一个精度损失的问题,所以会产生警告。然后代码根本就编译不通过的。而java对于+=的处理机制与前一条语句不同:(网上的说法)而在c/c++的IDE中:编译是通过的,并且没有警告。
2014-11-26 12:50:02
846
原创 读博文《二维指针和二维数组可以互用吗?》有感
博文地址:http://blog.sina.com.cn/s/blog_6237dcca0100hham.html
2014-08-14 20:58:14
665
转载 MySQL 设置允许远程登录
1、修改数据表可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在 localhost 的那台电脑,登入MySQL后,更改 “MySQL” 数据库里的 “user” 表里的 “Host” 项,从“localhost”改称“%”,%表示所有机器都允许。[sql] view plaincopymysql> use
2014-06-18 11:41:38
630
转载 C语言隐式类型转换
隐式类型转换分三种,即算术转换、赋值转换和输出转换。1.算术转换 进行算术运算(加、减、乘、除、取余以及符号运算)时,不同类型数招必须转换成同 一类型的数据才能运算,算术转换原则为: 整型提升:对于所有比int小的类型,包括char, signed char, unsigned char, short, unsigned short,首先会提升为int类型
2014-06-02 17:02:52
644
原创 如果你看到“f()();”第一反应是什么?
//类型别名,为了f()的声明简洁明了typedef void (*pfun)();void fun(){ cout<<"I am in fun()"<<endl;}//定义一个可以返回函数指针的函数pfun f(){ return &fun;}int main(){ f()(); return EXIT_SUCCESS;}
2014-06-01 12:43:34
914
1
转载 类相互包含引用的问题--类前向声明
在构造自己的类时,有可能会碰到两个类之间的相互引用问题,例如:定义了类A类B,A中使用了B定义的类型,B中也使用了A定义的类型
2014-05-18 11:48:43
978
转载 常用的16个c/c++面试题
1. C中static有什么作用 (1)隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,故使用static在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。 (2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存
2014-04-07 23:58:58
602
原创 关于“指针在任何情况下都可进行>, <, >=, <=, = =运算”的判断
在《求职之道》上看到了“指针在任何情况下都可进行>, =, ”的判断题,脑中无解,便去百度搜了下,可是发现大多数人都说这个命题是正确的,当然也有不同意见的。意见一:指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址,可看成整型变量。 如果仅仅是指针比较,其实就是整型变量比较,当然任何情况下都可以进行比较运算意见二:1.指针是地址就和一般数据一样,但地址不
2014-04-02 13:10:29
6289
1
原创 C++虚继承问题
学过C++的人都知道,里面有个虚拟继承是为了使得类多重继承方式下成员名称二义性的问题的。假如我们定义一个普通类A,然后定义两个普通类B,C都来继承A,最后我们定义一个普通类D类多重继承B和C,那么现在我们每一个D的实例对象中都有两份A的数据和方法。所以我们如果使用基类A中某个方法时就会产生二义性的问题。故而,虚拟继承应运而生,有了虚拟继承,每构造基类时就会检查该类是否已经存在了。故而能
2014-03-22 20:16:03
746
转载 Ubuntu与MySql
UBUNTU下彻底卸载MYSQL1、删除 mysql1 sudo apt-get autoremove --purge mysql-server-5.02 sudo apt-get remove mysql-server3 sudo apt-get autoremove mysql-server4 sudo apt-get remove mysql-common (非常
2014-03-03 20:16:30
682
原创 poj 1038 - Bugs Integrated, Inc.(状态压缩dp)
题意: 从n*m的矩阵中裁剪2*3的小矩形,其中有些方块不能用【题目以坐标方式给出】,问最多可以得到多少小矩形。思路: 要知道能否以当前行作为小矩形的最后一行,需要知道以上三行的状态信息,因为我们切割的时候可以横着也可以竖着。 同时由于一旦 方格 (x-1, y)被黑色记号或其他芯片占据,则方格(x-2,y)即便空闲对第 x行芯片的放置也毫无意义,
2013-10-29 23:36:10
1438
原创 hdu 1517 - A Multiplication Game(博弈)
这道题目稍微上点难度了。 题意:(from:http://www.cnblogs.com/kuangbin/archive/2011/08/29/2158581.html) 2 个人玩游戏,从 1 开始,轮流对数进行累乘,直到超过一个指定的值。 解题思路: 如果输入是 2 ~ 9 ,因为Stan 是先手,所以Stan 必胜 如
2013-10-29 11:46:31
852
原创 hdu 1848 - Fibonacci again and again(简单博弈)
裸的sg函数题目代码如下:const int M = 1005;int f[M], sg[M];void getSG(){ sg[0] = 0; for(int i = 1; i < M; ++i) { bool vis[M]; memset(vis,0,sizeof(vis));
2013-10-29 00:02:51
786
原创 hdu 1850 - Being a Good Boy in Spring Festival(简单博弈)
思路: 尼姆博弈的变形, 对于每个堆都遍历一下,若起始状态已是T态,则ans = 0; 否则,就求其他n-1个数的异或值temp, 如果temp代码如下:const int M = 105;int a[M];int main(){ int n; while(~scanf("%d", &n) && n) {
2013-10-28 23:50:14
660
原创 hdu 1847 - Good Luck in CET-4 Everybody!(简单博弈)
简单的sg函数的应用。。虽然写出了sg函数,但目前还不理解其中的原理。代码如下:const int M = 1005;int sg[M];void getSG(){ sg[0] = 0; for(int i = 1; i < M; ++i) { bool vis[M]; memset(
2013-10-28 23:10:41
732
原创 hdu 1846 - Brave Game(简单博弈)
典型的巴什博弈代码如下:int main(){ int n, m, t; scanf("%d", &t); while(t--) { scanf("%d%d", &n, &m); if(n%(1+m)) puts("first"); else puts("second"); }}
2013-10-28 22:54:39
629
转载 SG函数模板
首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,4}=3、mex{2,3,5}=0、mex{}=0。对于一个给定的有向无环图,定义关于图的每个顶点的Sprague-Grundy函数g如下:g(x)=mex{ g(y) | y是x的后继 },这里的g(x)即sg[x]例如:取石子问题,有1堆n
2013-10-28 22:19:44
1960
原创 hdu 1536 | hdu 1944 - S-Nim(博弈-SG)
题目很啰嗦,说白了就是sg函数的简单运用,因为还没有理解sg函数的原理,只能先套用模板了~~代码入下:const int M = 10005;int n, sg[M], f[105];int getSG(int x){ int &ans = sg[x]; if(ans!=-1) return ans; bool vis[110];
2013-10-28 22:00:21
793
转载 博弈总结
这里从cxlove神那里转来一篇绝好的博弈资料汇总--http://blog.youkuaiyun.com/acm_cxlove/article/details/7854530以下是我从网上收集的关于组合博弈的资料汇总:有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏
2013-10-28 15:27:46
852
原创 hdu 2509 - Be the Winner(简单博弈)
思路: 跟hdu1907一样的,都是尼姆博弈的裸应用,把每组苹果都看作一堆待取的物品,则一次只能从一个堆上取若干个(不少于1个).取最后一个苹果的人输掉。 唯一不同的地方是对于一个堆,某人取过以后可以变成两个堆,例如题目中所说的{@@@}--->{@ @};但这个并不影响结果,因为对于任意的T2状态不管怎么取,都是只能变作S1状态和S2状态。代码几乎和1907的一模一样。
2013-10-28 15:18:27
736
原创 hdu 1907 - John(简单博弈)
博弈专题开始了,这里分享一个大神的专题:http://blog.youkuaiyun.com/acm_cxlove/article/details/7854526这个题目来自:http://blog.youkuaiyun.com/acm_cxlove/article/details/7854530把同一颜色的糖果看作一对物品,我们一次只能从一个堆上取任意个(不少于1个)糖果,取最后一个糖果的人是输家。这是
2013-10-28 15:08:22
819
原创 SPOJ SORTBIT - Sorted bit squence(数位统计)
引自:http://wenku.baidu.com/view/d2414ffe04a1b0717fd5dda8.html题目大意: 将区间[m,n]内的所有整数按照其二进制表示中 1 的数量从小到大排序。如果 1 的数量相同,则按照数的大小排序。求这个序列中的第 k 个数。其中,负数使用补码来表示:一个负数的二进制表示与其相反数的二进制之和恰好等于 2^32分析: 我们
2013-10-27 18:23:08
1225
转载 2014年计算机求职总结--准备篇
版权所有,转载请注明出处,谢谢!http://blog.youkuaiyun.com/walkinginthewind/article/details/13000431找工作是一个长期准备的过程,突击是没什么效果的。准备时间越长,准备就越充分,就越容易拿到好的offer。我基本上从研究生一入学就一直在准备找工作的东西,看书、研究研究笔试面试题、在线编程训练、参加实习招聘等等。当然,其实主要还是研二
2013-10-27 14:22:47
550
原创 ural 1057 - Amount of Degrees(数位统计)
引自:http://wenku.baidu.com/view/d2414ffe04a1b0717fd5dda8.html题目大意:求给定区间[X,Y]中满足下列条件的整数个数: 这个数恰好等于 K 个互不相等的 B 的整数次幂之和。例如,设 X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意:17 = 2^4 + 2^0;18 = 2^4 + 2^1;20 = 2
2013-10-27 11:16:34
884
原创 zoj 3261 - Connections in Galaxy War(并查集)
题意:(from:http://blog.youkuaiyun.com/ggggiqnypgjg/article/details/6621481) 有n个星球,每个星球有一定的power值,某些星球是直接或间接相连的。。。当某个星球想求助时会找到相连的里面的power值最大而且大于自己的一个星球。。。先在给定这些power值并给定两两相连的信息,然后又q个操作,destroy a b是删除a b直接
2013-10-25 17:52:31
570
原创 poj 2912 - Rochambeau(并查集)
题意、思路: 跟poj1182食物链题意题意几乎是一样的,那个题目的意思是a吃b,b吃c,c吃a,而这个是剪子包袱锤,所以说是一样的。集合合并和路径压缩的公式是一样的。只需要把这个题的"a>b"和"a 不同的是这道题目需要用多次并查集。对于这个题我们的做法是,枚举每个小孩为judge,并记录他为judge时在第几句话出错(即到第几句话能判断该小孩不是judge)。
2013-10-24 22:48:49
657
原创 poj 1417 - True Liars(并查集+背包)
题意: 题目中告诉两种人,一种只说真话,一种只说假话。然后告诉n个描述,每个描述是说a说b是说真话的人(yes)或者是说假话的人(no),最后问是否能判断哪些人是只说真话的那类人。思路: 根据题意可知:其中好人说真话,坏人说假话这点很重要。 那么如果一个人说另一个人是好人,那么如果这个人是好人,说明 对方确实是好人,如果这个是坏人,说明这句话是假的
2013-10-23 18:11:12
887
原创 hdu 3038 - How Many Answers Are Wrong(并查集)
题意: 已知多个描述,每个描述都给出一个区间的它的和,求这些描述中错误描述的个数。思路: 思路和poj1733差不多,就是把利用并查集把所有区间的起点和终点都放到集合里面,其中s[x]用来表示区间(p[x], x]的和,其他合并区间和路径压缩的公式也很好推,具体的见代码。 另外需要说的是:杭电坑爹,任何题目都要写成多case。。。代码如下:const
2013-10-23 12:55:14
540
原创 poj 1733 - Parity game(离散化+并查集)
有点难度的并查集题目。。。题意: 每次询问都能返回该区间内的1个数的奇偶性,问这些询问从第几个开始就不正确了。思路:(from:http://www.cnblogs.com/ltang/archive/2010/12/07/1898919.html) hash离散化+并查集 首先我们不考虑离散化:s[x]表示(root[x],x]区间1的个数的奇偶性,0-偶数
2013-10-23 10:49:15
717
原创 poj 1456 - Supermarket(贪心+并查集)
题意:(from:http://www.cnblogs.com/rainydays/archive/2011/06/20/2085269.html)有一些货物,每个货物有价值和卖出的截至日期,每天可以卖一个货物,问能卖出的最大价值是多少。思路:(from:http://hi.baidu.com/vfxupdpaipbcpuq/item/13cbd3258c29e20d72863edf)
2013-10-22 17:16:04
753
原创 poj 2524 - Ubiquitous Religions(并查集)
题意:统计1-n的宗教信仰的种类,假设没有关系的两个人的信仰肯定是不同的。思路:并查集来合并所有有相同信仰的人,最后统计集合的个数即可。代码如下:const int M = 50005;int p[M], flag[M];int find(int x) { return p[x]==x?x:p[x]=find(p[x]); }int main(){ int
2013-10-22 16:10:14
612
原创 poj 2492 - A Bug's Life(并查集)
题意:针对实验结果来验证教授的假设是否成立。每行给出一个a和b表示a和b是异性的, 让我们来验证这种假设对于所有的实验结果是否会出现矛盾。思路:并查集,用一个数组来维护集合中每个元素与头结点是否同姓,同姓标为0,异性标为1。代码如下:const int M = 2005;int p[M], flag[M];void init(int n){ memset(fl
2013-10-22 13:36:17
576
原创 poj 2236 - Wireless Network(并查集)
思路: 并查集,假如两两都可以联通的所有的节点就加入到一个集合当中。最后查询只需查询他们是否在一个集合中即可。代码如下:const int M = 1005;vector g[M];struct Point{ int x, y; int readPoint() { return scanf("%d%d", &x, &y);
2013-10-22 00:05:04
545
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人