自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shaonianguai

一条大菜狗

  • 博客(383)
  • 资源 (5)
  • 收藏
  • 关注

转载 C++继承:公有,私有,保护

公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。1. 公有继承(public)公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。2. 私有继承(private)私有继承的特点是基类的公有成员和保护成员都作为派生类的私有

2017-02-21 10:50:26 410

转载 求一个类的sizeof应考虑的问题

昨天面试,面试官让我说一说求一个类的sizeof应该考虑的问题,心想,太好了,之前sizeof可是做了不少功夫,就说了类的非静态、非全局成员,如果有虚函数就要加上一个指向虚表的指针,4字节大小,然后说,大概是这样。面试官就问,虚函数的实现机制是?大概讲了一下虚表之类的东东,然后他问,那如果是虚继承呢,求sizeof还是一样的么?先是一愣,心想,妈呀,什么是虚继承呢,然后还是淡定地回了,应该也是一样

2016-10-21 10:32:56 504

转载 C++类的大小——sizeof(class)

第一:空类的大小class CBase{};运行coutsizeof(CBase)=1;为什么空的什么都没有是1呢?先了解一个概念:类的实例化,所谓类的实例化就是在内存中分配一块地址,每个实例在内存中都有独一无二的地址。同样空类也会被实例化(别拿豆包不当干粮,空类也是类啊),所以编译器会给空类隐含的添加一个字节,这样空类实例化之后就有了独一无二的地址

2016-10-21 09:50:24 614

转载 类的大小——sizeof 的研究

先看一个空的类占多少空间? [cpp] view plain copyclass Base  {  public:      Base();      ~Base();    };       注意到我这里显示声明了构造跟析构,但是sizeof(Base)的结果是1.     因为一个空类也要实例化

2016-10-20 18:43:01 347

转载 C/C++ sizeof函数解析——解决sizeof求结构体大小的问题

C/C++中不同数据类型所占用的内存大小                     32位                 64位 char               1                    1 int                  4             大多数4,少数8 short              2             

2016-10-20 18:42:07 448

转载 const char*, char const*, char*const的区别

const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 事实上这个概念谁都有,只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。 char * const cp; ( * 读成 pointer to ) 

2016-10-19 01:01:00 437

转载 微软经典面试测试题和参考答案(变态) - TOMB RAIDER - CSDNBlog(转载)

第一组1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?4.一个岔路

2016-10-18 21:24:54 454

转载 exec函数族的作用与讲解

apue看到第八章,对exec函数族的理解一直都很混乱,总觉得不对劲儿,其实不能理解的先暂时跳过,看到后面,再结合实例也就慢慢的理解了。以下内容转自:http://www.cppblog.com/prayer/archive/2009/04/15/80077.html也许有不少读者从本系列文章一推出就开始读,一直到这里还有一个很大的疑惑:既然所有新进程都是由fork产生

2016-10-11 16:22:20 436

转载 c#初学-多线程中lock用法的经典实例

一、Lock定义    lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断。它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。这是通过在代码块运行期间为给定对象获取互斥锁来实现的。     在多线程中,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问

2016-07-13 16:48:39 561

原创 IOS 利用AFNetworking 向ASP.NET webservice 传输 获取数据

转自: http://www.cnblogs.com/linmingjun/p/4814846.html  ,当时询问了这位博主一些问题,他便发表了一些文章,现在转载来 分享给大家,看到园子有位朋友需要使用AFN框架请求 WebService,所以就整理了一下,demo下载链接在底部编写WebService可以看这篇博客 http://www.cnblogs.com/l

2015-10-22 13:30:17 791

原创 最近学习hadoop遇到的问题!虽然很小但是很恶心!同时求指教!!!

首先是 Linux下搭建Hadoop!首先贴出一个问题,至今未解决,路过的人可以帮助一下!最初的时候比较年轻,第一次安装ssh  设置了密码,而且我在Linux下所有设置的密码都是统一的,然后我安装好了hadoop,在执行start-all.sh命令的时候需要开启ssh,这时候需要我输入密码,但是输入不正确,这是第一点!而后我删除了ssh,重装,想要设置ssh免密码登录,但是一打开ssh就

2015-07-30 23:18:27 811 2

原创 ios开发之自定义默认生成的导航栏 标题 颜色 返回按钮

一 修改导航栏颜色    导航栏在哪个页面代码放在那里面 self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:(21.0/255.0) green:(153.0 / 255.0) blue:(224.0 / 255.0) alpha:1];                            

2015-07-14 15:53:40 807

原创 POJ2635 The Embarrassed Cryptographer 简单数论

题目链接看到这题的示意图也是醉了~题意:给你一个k,他是两个素数之积,然后给了一个数字L,然后找到具体是哪两个素数相乘等于k,较小的那个素数是否小于L,若小于L就输出 "BAD"外加较小的那个素数,否则就输出“GOOD”,刚拿到这题目,有些钻牛角尖外加题意没看清楚,一开始纠结于 K很大,若想具体找出两个素数不可能,因为总有一个很大很大,求出其中一个素数 是否在10^6内是可以的,但是那时候

2015-04-14 20:37:45 605

原创 POJ3252 Round Numbers 组合数学||数位DP

这题目做了两个小时,调试的头都晕了。。。题型是数位DP中很常见的,给一个区间[l,r]求区间[l,r]中的 符合题目要求的数的个数,本题求的 是 区间中 的数  它的二进制中0的个数大于等于1的个数的    这些数的个数,不好意思表达能力有点差。。。例如[1,4]答案是2, 因为 2的二进制是10,0的个数大于等于1的个数,4的二进制是100,0的个数大于1的个数,所以答案是两个

2015-04-01 22:36:58 977

原创 CodeForces 475D CGCDSSQ RMQ

通过这道题目还是学到了不少东西的,当时刚拿到这个题目的时候时间已经不多了,因为前面有个C坑到了,看了个大概,然后就往线段树和树状数组方面去想了,对于gcd的区间求一个前缀,再搞一个后缀 瞎弄弄,后来发现错了,题目求的是区间个数。。。又浪费了一段时间,然后回头再看看,大致就想到了暴力枚举,n是10^5,大不了离线先暴力的高出答案,想到一般发现  若假定一个询问输入的数 为  X,那么另一个 能够 y

2015-04-01 19:48:22 740

转载 树状数组求区间和的一些常见模型

树状数组在区间求和问题上有大用,其三种复杂度都比线段树要低很多……有关区间求和的问题主要有以下三个模型(以下设A[1..N]为一个长为N的序列,初始值为全0):(1)“改点求段”型,即对于序列A有以下操作:【1】修改操作:将A[x]的值加上c;【2】求和操作:求此时A[l..r]的和。这是最容易的模型,不需要任何辅助数组。树状数组中从x开始不断减lowbit(x)(

2015-03-29 09:29:01 420

原创 URAL 1152 False Mirrors 搜索|记忆化搜索|状压

n个阳台,每个阳台上有怪物,第一个阳台跟最后一个相邻,每次攻击其中一个阳台,那么相邻的两个也会被破坏掉,但是你攻击一次,剩下的没有被消灭的怪兽就会攻击你,问消灭所有怪兽 所受伤害值最少是多少一开始就想到了DFS,于是写了一发,居然超时了,然后看到n只有20,于是想到了状态压缩+记忆化搜索,还是比较清晰的推起来,然后31ms过了,后来过了又去看了一下网上题解,呵呵,发现 dfs也是可以的

2015-03-23 13:54:35 681

原创 URAL 1613 For Fans of Statistics

题意:就是给了你n个数字,他们的编号为1到n,然后接下来有q个询问,每次询问有 l,r,x, 就是问你 是否 在编号区间[l,r]内有数字X出现过,有就是1,无就是0,最后一起输出来输入其实数字是有重复的,所以先用map离散化,然后再用map跟vector 的邻接表连接,讲编号放入邻接表里面,并升序排序,然后询问的时候直接二分查找编号,是否存在就可以了,手写的二分 一直WA,莫名其妙,

2015-03-21 15:08:06 605

原创 CodeForces 471C MUH and House of Cards

看题目的Hint 图形就知道题意了,对着图形,稍微观察一下就会发现,每一层需要的卡牌数目为 2 * n + (n - 1)个,然后大致就有个思路,暴力枚举,但是仅仅这样没法子枚举,这个公式 只代表其中一层,不可能对每一层都枚举吧,可以化简一下  公式就是 3 * n - 1,这样就会发现 每次差1就是3的倍数了,然后每一层都差1,如果有i层的话,那么其实就是差了i,这样就很容易想到了,假设共有卡牌

2015-03-18 21:52:42 704

原创 POJ2573 Bridge 经典的过桥问题

以前遇到过类似的,纪念一下!这题同时也是  ZOJ1877,经典的过桥问题 是有个博客讲解的很好的戳这里挺久以前,遇到过一个基本一样的,那个题目只要求求出 最短时间即可,现在还有过桥的过程 也要输出来,一样的最近也遇到过一个 类似的过河的,不过题意类似,是DP的,  记得是 CF295C还记得当初做那道题目 钻入牛角,首先1个人2个人3个人肯定不用说了,当人数大于4

2015-03-12 23:44:41 1490

原创 Ural1298 Knight 经典DFS

这个题目很想当时刚开始学BFS时所做的一道题目,我记得是POJ,的也是马走日这题目就是给了你一个n * n的棋盘,从(0,0)点出发,马走日的方式,是否可以将棋盘走遍,而且每个格子只能走一次那天先是写了bfs,但是记录方式开了个三维的,最后超时,没办法改为dfs,然后就是一直WA,或者RE实在不明白是为什么,补题已经隔了两天了,我实在没有好的办法啊,最后又敲了一次,发现过了!找 之前的代码

2015-03-09 23:43:40 767

原创 POJ2908 Quantum 光搜+优先队列好题目

这是一道好题目啊,放假回头准备练练手的,发现是我弱爆了。。。首先一开始就大致确定好了思路,画了一会,发现优先队列直接贪心就可以的,接下来就敲了,一开始都用了字符串导致一直WA,做了一个下午把,后来发现了错的地方,然后接着TLE,然后看网上说是不要用STL的优先队列,自己写一个小顶堆,然后套了个模板,结果还是TLE,认为自己的模板错了,可是发现跟别人的一致,又弄到了现在,实在找不出哪里有问题,然后看

2015-02-28 21:26:53 1014

原创 ZOJ2067 White Rectangles 很好的DP递推啊

题意超级简单,给你一个n*n的图,点代表白色,井号代表黑色,问你白色的矩形一共多少个,一个点也算一个喔~一开始是假设dp[i][j]代表 点(i,j)的左上角一共多少个矩形,那么dp[n][n]就是答案了,可是这样直接去找,发现没有直接的状态转移关系可以找,只能重新看一下,然后我去找如何算出矩形个数的比如是一个连续点的 ,矩形个数是1个,两个连续的点的,矩形个数为3个,三个连续的点的,矩形

2015-02-09 21:35:15 697

原创 ZOJ3305Get Sauce 状压DP,

状压DP的题目留个纪念,首先题意一开始读错了,搞了好久,然后弄好了,觉得DFS可以,最后超时,修改了很久还是超时,没办法看了一下n的范围,然后觉得状压可以,但是没有直接推出来,就记忆化搜索了一下,可是一直错,莫名奇妙,然后没办法看了一下题解,发现了下面这个比较好的方法,然后按照这个方程去推,然后敲,也是WA了好多把,写的太搓了,没人家的清楚明了,唉~也算是给自己留个纪念,状压一直做的都不太好~唉~

2015-02-04 22:15:07 877

原创 POJ1717 Dominoes DP,背包的变形

这道题目比较短,而且有图片很容易懂题意,就是每一张牌,分为上下两部分,上面有几个点,代表上部分为几,下面同样,然后n张牌平行竖直放置,这样每一张牌的上面部分组成第一行,下面部分组成第二行,上下两行的和是有差异的值为gap,每一张牌可以上下反一下,这样可以是的差异值gap缩小,问你使得gap值最小 需要翻牌的最少次数首先这道题目跟POJ1837有点类似,但是 边界设置这道题明显会麻烦许多,因为之

2015-02-03 22:46:43 793

原创 HDU4474,POJ1465,HDU1226 一类数位限制倍数的BFS问题

HDU4474,POJ1465,HDU1226,URAL1495这些题目,首先是URAL1495,那天做这个第一个想法就是数位dp,但是没有推测出来,有段时间没做这个了,呃~然后采用了dfs的手法进行记忆化搜索,结果WA出翔了,搞了一下午,而后看了题解用数位DP解决了,但是也发现了一种比较稳妥的方法,比较清晰,而且网上刚好有个巨巨整理出了这一系列可以戳这里  http://www.xuebuy

2015-02-03 09:35:49 811

原创 POJ3255 Roadblocks 次短路Dijkstra做法

有段时间没做题了,这几天一直在寻找感觉,尽量多看书,这题目就是n个地方,编号从1到n,然后有r条路,问你从1号到达n号地方的次短路长度为多少,直接在dijkstra算法里同时记录一个次短路就可以了,但是一直WA,后来去看了讨论面板,那里有人给了测试数据,我不知道那数据的对错,但是干扰了我很久,也许那些数据实在题目案例之外的吧,对我的程序没有任何影响,我只是太久没错 一时 忘了双向边了,一开始只建立

2015-01-27 15:44:03 629

转载 C++ 之EOF

fstream流的eof()判断有点不合常理    按常理逻辑来说,如果到了文件末尾的话,eof()应该返回真,但是,C++输入输出流如何知道是否到末尾了呢?    原来根据的是:如果fin>>不能再读入数据了,才发现到了文件结尾,这时才给流设定文件结尾的标志,此后调用eof()时,才返回真。    假设    find>>x; //此时文件刚好读完最后一个数据(将

2014-12-20 23:27:49 552

原创 HDU5115 Dire Wolf 区间DP 记忆化搜索

题意:举个例子,就跟DOTA里的狼BB一样,自身有攻击力,还有光环可以提升同伴的攻击力,狼站成一排,光环只能提供给相邻的狼,打掉一直狼需要打一下,同时它也会打一下,这样你的扣血量其实就等于该狼的攻击力方程很好想,dp[i][j]代表 打掉区间[i,j]内的狼所需最少血量,这里是闭区间,后来看到是200*200 ,那么就懒得去想方程转移了,直接记忆化搜索就可以了,注意点是 一个狼被宰了,

2014-12-05 21:47:35 808

原创 CodeForces 372B 脑洞大开的DP递推

题目:做了两个多小时,脑洞大开,给了一个01矩阵,求以a,b,为左上角,c,d为右下角的矩阵内有多少包含部分全为0的子矩阵对于这道题目,一开始就想到了DP递推,感觉而已,虽然准,可是做不出啊,想好了递推式子可是细节部分没办法去处理。看了CF上的题解,顿时脑洞大开,这个做法真的是太厉害了,这方法代码简洁明了,同时也提醒到了我,在方程假设出来后,对于转移的细节处理,其实一开始我想到过这个递

2014-12-03 23:39:48 861

原创 HDU5122 K.Bro Sorting 树状数组类逆序数应用

题意很简单,看案例就能懂,一个长度为n的序列,要重新排序,升序,每一次拿这个数跟后面所有数比较,需要移动尽可能往后面移动,问需要操作几次对案例进行分析,从后往前面判,若发现前面有比当前这个数大的数答案就加1,但是发现后面很难讨论清楚,还得正向来分析,当前这个数,若后面有数字比它小,那就肯定需要操作一次的,由此想到了树状数组求逆序数中的一个操作,树状数组求逆序数就是需要先求出当前树状数组里面有多

2014-12-02 14:27:56 825

原创 Codeforces Round #220 (Div. 2) D 树状数组 && 二分

/*题目*/题意:给了n,m,然后一个包含m个数的数组nnum,数组默认从小到大排序,然后是 n个操作,输入一个数x,若x为0,把0加到这个字符串的末尾,若x为1,把1加到这个字符串的末尾,若x为-1,那么把字符串里的 下标 与 nnum数组里的元素相等的  给删除,字符串一开始是空的,问你最后字符串里有什么,若为空 就输出 POOR STACK这题目看这操作一般都很容易联想到线段

2014-11-29 20:11:32 638

转载 C++之文件IO操作流

来自: http://www.cnblogs.com/CaiNiaoZJ/archive/2011/08/18/2144247.html前两节介绍了C++的IO流类库,标准设备IO操作流中部分预定义流对象的成员函数以及IO格式控制。那今天我将继续介绍关于C++中的流操作内容——文件IO操作流fstream。并会着重讲解C++是如何对文件进行操作的。  文件指存放在外部介质上的数据的集合

2014-11-28 20:13:12 541

原创 CodeForces 374C 记忆化搜索

题目题意:Inna喜欢Dima,所以他希望在一张n * m的 每个单元格印有'D'或者'I'或者‘M’或者‘A’ 的桌子上  尽量多的走出 某个路径 中包含DIMA 这个单词数量最多,必须从'D'开始走,并且'D'只能到'I',然后‘I’只能到'M',然后‘M’只能到‘A’,然后'A'只能到'D',这样走,若走不出DIMA这个单词 输出 poor dima若存在环的话 输出

2014-11-27 23:41:43 1135

原创 CodeForces 377B 优先队列 + 二分

题目:呵呵,这破题目搞了我两个小时,首先题意就有点怕怕的,n个人,具有解决bug的能力,一天只能解决一个,m个bug,bug具有一个难度,只有某个人能力大于等于这个难度才可以解决,请n个人解决一个问题,每个人都要拿钞票的,问不超过s元 的情况下 最快的解决办法输出每个bug由哪个人解决的方案先考虑了DP,发现不行,后来就觉得是贪心了,那么就跟优先队列联系上了,把bug的难度 跟人的 解

2014-11-26 21:31:13 860

原创 HDU4708 Rotation Lock Puzzle 不错的模拟题

题意:给你一个n*n的矩阵,n为奇数,以最中心的一个数为基准,可以把这个矩阵 看成一圈一圈的,每一圈都可以逆时针或者顺时针旋转,每一次旋转每个元素只能移动一个单元格,求经过每一圈的旋转矩阵两个对角线和最大的值,并求出最少旋转次数一圈一圈的处理,注意最中心的那个数不用管,就它一个,那么这个矩阵只有n/2圈需要操作,对于每一圈的元素都放在一个一维数组里面,然后枚举这个数组里的每一个元素为开

2014-11-25 19:29:20 828

原创 HDU 4711 Weather 概率DP

题意:有个人,他在某个区域待了n天,这个区域有m个地方,有w种天气情况,先给出这个人行程的每天的天气情况,然后给出 从第i个地方到第j个地方的概率,也可以自身到自身,然后给出 某个地方 是某种天气的概率,问你 这个人最优可能的行程路线也就是每天待在哪个地方,概率DP,求出哪些路线概率最大 再在其中取最小字典序的假设方程 dp[i][j] 代表 第i天待在j城市,状态转移dp[i][j]

2014-11-23 19:42:57 833

原创 Codeforces Round #225 (Div. 1) C 树状数组 || 线段树

看到这题很开心啊,有印象跟以前做过的很像,貌似最近就做过一个,以时间戳为区间来建立树状数组,然后一开始我以为题意是,给x点加val,它以下的所有节点都加-val;所以一开始就以 加 和 减 建立了两个树状数组,最后 减去就是答案,写完发现跟案例对不上啊,读了题目也没发现读错了,对于那句话 我理解错了,后来看了 这个:http://blog.csdn.net/keshuai19940722/ar

2014-11-22 21:40:51 808

原创 ZOJ3329 概率DP变形

哇哦,感觉有点难哦,三个骰子,分别具有k1,k2,k3个面,抛骰子,若向上的一面分别对应为a,b,c,那么得分归0,否则得分加上三个骰子向上那一面数字之和,求得分超过n的时候抛骰子的次数的期望一开始很容易想到常规的做法,以目标状态为边界,当前状态到目标状态所需要的期望为方程,dp[i]代表 当前到目标分数的期望,这是发现状态转移是这个样子的dp[i] = dp[0] * p0 +

2014-11-21 18:07:53 699

原创 Codeforces Round #226 (Div. 2) C 数论

题目:CF机子真心强大啊,这样才跑了600ms,给了你n个数的序列,然后m次询问,每次询问求出序列中每个数是 区间[a,b]内的 几个素数的倍数统计一下,然后对于个数求和,看了题目下面的hint很易懂,然后看到a,b的范围有些大哈,2*10^9,不知道怎么处理,但是后来发现,序列中的数 最大为10^7,所以就算a,b,再大也无所谓的,大于序列中的最大数的部分的素数,序列中不会有任何数 是它倍数

2014-11-17 22:45:37 730

QT开发的小作品

QT开发小作品,小游戏,有两个,算是比较完善的了,代码具有注释可以自己看看

2015-12-29

AFNetworking2.5

AFNetworking框架 将文件夹中的名为 AFNetworking的子文件夹 添加到项目中去

2015-08-23

输出素数C++

设计一个程序,输入一个整数num(如num=120),降序输出小于num的所有素数,使用StackOfIntegers来保存素数(如2,3,5….),并利用它逆序获取和输出素数。

2014-11-10

MyInteger类

设计一个名为MyInteger的类,类包含: 一个名为valuede 的int型数据域,保存次对象表示的int型值 一个用指定的int型值创建一个MyInteger对象的构造函数 一个返回int型值的获取器函数 函数isEven()、isOdd()和isPrime分别在整数为偶数、奇数或素数的情况下返回真。 静态函数isEven(int)、isOdd(int),和isPrime(int)分别在给定整数为偶数、奇数或素数的情况下返回真。 函数equals(int)和equal(MyInteger)在本对象表示的整数值等于给定值的情况下返回真。 一个静态函数parseInt(string)将一个字符串转换为一个int型值。 画出类的UML图,实现类。编写一个客户程序,测试类的所有函数。

2014-11-10

TicTacToe游戏

2.(TicTacToe游戏)所谓TicTacToe游戏,就是两个游戏者轮流在一个3*3的棋盘的空位放入代表他们自己的棋子(可用X和O区分)。如果一个游戏者的棋子占据了棋盘的一行、一列或一条对角线,则游戏结束,此有学者获胜。当所有棋盘格都被填满,而没有任何一方能占据一行、一列或一条对角线,则为平局。编写一个玩TicTacToe的游戏程序,方式如下: 程序提示第一个游戏者放置一个X棋子,然后提示第二个游戏者放置一个O棋子。每当游戏者放置一个棋子,程序即刷新屏幕显示棋盘状况,并判断棋局状态(胜,平或尚未结束)。 为放置一个棋子,程序应提示用户输入棋子的行号和列号。 定义一个该类的友元函数print(),用来打印棋盘

2014-11-10

空空如也

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

TA关注的人

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