自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

开飞机的小毛驴儿

天地有正气,杂然赋流形

  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 Codeforces Round #156 (Div. 2)

B. Code Parsing给定一字符串仅包含字符x和y,进行如下两种操作:1.如果有连续的y和x,则交换y和x。如果同时有多对y,x则交换距离起始位置最近的y和x;2.如果有连续的x和y,则在字符串中删除x和y。如果同时有多对x和y,则删除距离起始位置最近的x和y。算法的运行规则如下:1.如果能进行上述两种操作的至少一种操作,则跳转的第二步;否则停止执行算法并输出当前的字符

2015-04-24 20:54:34 570

原创 Codeforces Round #157 (Div. 2)

A. Little Elephant and Chess题意是说能否将给定的棋盘转换成相邻颜色不同的棋盘,不能想复杂了,想明白了就很简单,格局就两种情况,WBWBWBWB和BWBWBWBW,只要能转换成这两种任一种就能做调整使得满足要求。回顾 用字符数组存储字符串,用cstring中的字符串处理函数,同时别忘了,假如定义了一个字符数组c[9],若有操作cin>>c,其实就能实现输入字符串的效果

2015-04-24 08:49:57 538

原创 Codeforces Round #158 (Div. 2)

B. Ancient Prophesy题意还算好理解,给定一字符串,里边只包含数字和-号,输出里边出现次数最多的日期。注意这里的日期必须是规定的格式dd-mm-yyyy,每个月具体到哪天的时候不应该超过当月总共的天数,如4月就不应该有31号,2月不应该有30号等。学会map的使用。代码如下:#include#include#includeusing namespace std;

2015-04-23 14:54:36 437

转载 C++ STL中stack/queue的使用

我不生产自己不熟悉的内容,我只是陌生内容的搬运工!向原作致敬!1、stackstack 模板类的定义在头文件中。stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型为deque。定义stack 对象的示例代码如下:stack s1;stack s2;stack 的基本操作有:入栈,如例:s.pu

2015-04-21 19:36:16 585

原创 Codeforces Round #159 (Div. 2)

A. Sockets题意如下:已有n个插排,第i个插排上边有ai个插口。有m个设备,公寓里有k个插口,这k个插口既可以用来插插排也可以直接将设备插到上面,问最少用几个插排能将所有的设备插在上边。记录这道题的目的在于学习priority_queue的使用。代码如下:#include #include //使用priority_queue必须包含的头文件using namespace s

2015-04-21 16:52:29 677

原创 Codeforces Round #163 (Div. 2)

C. Below the Diagonal题意不难,n*n矩阵有n-1个1,求最少的步数将所有的1交换到主对角线一下,并输出交换序列。这里的交换是整行或者整列进行交换。这题的代码不是我写的,看也并没有完全看明白,对一些看明白的地方我加了注解,先记录下来,哪天回头看的时候可能就显而易见了。//代码不是我写的,参考别人的,重在学习!#include#include#include#in

2015-04-19 11:18:15 479

原创 Codeforces Round #162 (Div. 2)

B. Roadside Trees (Simplified Edition)题目很简单,求吃掉所有坚果最少时间,只要按照题意进行模拟就行。注意理解一句话:Jump to the next tree. In this action the height of Liss doesn't change. More formally, when Liss is at height h 

2015-04-19 10:52:02 512

原创 next_permutation 的使用

重排区间中的元素,使得原序列变成按字典次序的下一个序列。其中的“下一个”的定义可以由用户自己定制。加载头文件:#include函数原型:template   bool next_permutation(      BidirectionalIterator _First,       BidirectionalIterator _Last   );templat

2015-04-17 11:20:13 986

原创 C++中struct与class的比较

C++的struct和class差别很小,其实class就是从struct发展出来的。struct定义的结构体在C++中也是一个类,结构体可以有class的任何东西。struct内数据默认是public类型的,class内数据默认是private类型的。继续用struct是为了向下兼容,习惯问题,以后发展会只用class的。同时结构中也可以像类class一样定义构造函数。

2015-04-17 11:06:47 434

原创 常量和约束访问

C++语言中,关键字const可以约束对象的访问性质,使对象值一旦初始化就不允许修改。被约束为只读的对象称为常对象。1.标识常量C++语言中,当用关键字const约束基本类型存储单元为只读时,在程序中使用存储单元的名字就像使用常量值一样,即用标识符表示数值,所以称为标识常量,简称常量。定义标识常量的说明语句形式为:

2015-04-16 10:18:05 781

原创 Codeforces Round #298 (Div. 2)

A. Exam虽然是水题,但反而失误了多次。题意简单,一排考生1~n编号考试,相邻考生会作弊故需要重新安排顺序,问最多能有多少人同时考试。n3d的时候所有考生均能考试,先奇数后偶数输出即可。代码如下:#includeusing namespace std;int main(){ int n; cin >> n; int *a = new int[n];

2015-04-14 17:04:35 428

原创 Codeforces Round #181 (Div. 2)

B. Coach题意:已知有n个学生,编号从1到n,其中n是3的倍数,老师需要把这n个学生分成3人的小组。若第i个学生要和第j个学生一组,那么第j个学生一定也想和第i个学生一组(当然第i或者第j个学生也可能和其他第k个学生一组)。老师分组的时候需要满足学生的要求。若能按要求实现分组,则输出各组学生的编号;否则输出-1;分析:首先需要找出有要求的学生进行深度优先遍历,若从某一个学生开

2015-04-13 19:18:45 628

原创 Codeforces Round #176 (Div. 2)

B - Pipeline#include using namespace std;long long n, k;int main() { cin >> n >> k; long long l = 0, r = k, mid; while (l < r) { mid = (l + r) / 2; long long s =

2015-04-13 19:16:17 440

原创 Codeforces Round #170 (Div. 2)

B. New Problem题意是输出不作为任何已知字符串的子串当中字典序最小的子串,一个关键的地方是应该学会头文件#include的使用。queue的基本操作有:1.入队 如q.push(x);将x接到队列的末端;2.出队 如q.pop();弹出队列的第一个元素,注意,并不会返回被弹出元素的值;3.访问队首元素 如q.front();即最早被压入队列的元素;

2015-04-13 19:14:34 352

原创 Codeforces Round #297 (Div. 2)

C. Little Girl and Maximum Sum题目不难,访问次数越多的点让其权重越大即可。要累计每个点的访问次数,因为是区间,所以每次输入l,r,区间内的每个点都要增加一次。倘若利用for循环遍历相加,会出现超时Time limit exceeded on test的情况(如下图代码)for (i = 0; i<q; i++) { cin

2015-04-13 19:13:18 351

原创 memset的正确使用

参考:http://baike.baidu.com/link?url=bppxO-J2VzgD30C96n4NPHQR48OKGkETBAyjDAeKRIe_jELA5IPJtJLzMGuBX36uCESI4qRcTt-H9megJpNf6Kmemset是C/C++当中的函数,将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个

2015-04-13 18:58:57 643

原创 暴力swap导致TLE问题解决办法

B. Pasha and String题目很简单,就是将字符串中从某一位置到另一位置之间的片段逆序,基本思路就是利用swap两两交换。这时候题目会出现问题就是超时Time limit exceeded ,两两交换太过于耗费时间,原因在于中间有交换过去又交换回来相当于没做改变的交换浪费了时间,有没有更好的办法呢?因为颠倒的都是中间的数,所以可以统计片段中每个字母颠倒的次数,若为奇数次则交换;偶数

2015-04-13 18:58:04 732

原创 Codeforces Round #166 (Div. 2)

B. Prime Matrix题意很简单,就是求从给定矩阵基础上构造一个素数矩阵需要最少进行多少次加1操作,所谓的素数矩阵是矩阵一行或者一列全为素数。这里可以换一个思路思考,我们可以找出矩阵某行(或某列)元素距其最近的素数的差值,然后对这些差进行排序,最小的数即为所求。当然我们需要预先求一个素数数组存储起来,这也是需要学会的。#include#include#define N 10

2015-04-13 18:55:54 402

原创 有关lower_bound()函数的使用

lower_bound()函数需要加载头文件#include,其基本用途是查找有序区间中第一个大于或等于某给定值的元素的位置,其中排序规则可以通过二元关系来表示。 函数原型:template ForwardIterator lower_bound( ForwardIterator _First, ForwardIterator _Last,

2015-04-13 18:50:36 3952

原创 C++中左移<<和右移>>的使用

在C++中,经常会看到别人有int ans=11 #include2 using namespace std;3 int main()4 {5 int a = 1 4;6 cout endl;7 return 0;8 }

2015-04-13 10:40:28 44129 1

原创 学会构造素数序列

1 #include 2 using namespace std; 3 #define max 100 //这里默认构造100以内的素数 4 int p[max], a[max]; 5 int main() 6 { 7 for (int i = 2; i*i ) 8 { 9 for (int j = i; j*i //i,j相乘得到的

2015-04-13 10:40:26 932

原创 C/C++ sort函数的用法

STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件#include这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是[a,b)。简单来说,有一个数组int a[100],要对从a[0]到a[99]的元素进行排序,只要写sort(a,a+100)就行了,默认的排序方式是升序。

2015-04-13 10:39:52 1357

原创 C/C++中“位与”运算讨论奇偶

& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0int fun(int n){ return (n&1); //返回1表示奇数,0表示偶数。 }根据位与的运算规则,如果两个相应的二进制位都为1,则改为的结果值为1,否则为0.而n&1,其实关键在于最后一位二进制位,它决定着n是奇数还是偶数。即n与1进行位运算无论n有多少

2015-04-13 10:39:49 1195

原创 C++中不同变量的初始化规则

当定义没有初始化式的变量(如int i;)时,系统有可能会为我们进行隐式的初始化。至于系统是否帮我们隐式初始化变量,以及为变量赋予一个怎样的初始值,这要取决于该变量的类型以及我们在何处定义的该变量。1】内置类型变量的初始化     内置变量是否自动初始化,取决于该变量定义的位置。     ①在全局范围内的内置类型变量均被编译器自动初始化为0。 #includeusing nam

2015-04-13 10:39:45 759

原创 使用容器出现vector subscript out of range等类似错误

报这个错时会弹出一个窗口,貌似内存溢出,这是什么由于vector存放的数据超出了vector的大小所造成的。解决方法如下:在Vector vector之后,不能直接通过如:vector[0] = "aa"vector[1] = "bb"等进行赋值,这样会导致越界。(下标是修改不是插入,如果要用下标,需要保证初始化时候有足够的元素,一般用push_back())首先使用 tagS

2015-04-13 10:39:42 23902

原创 string类库中的find和rfind函数

注意find和rfind返回的要查找子串的第一次出现的下标,其中find是从0开始查找,而rfind是从n-1开始查找(假设字符串总长度是n),具体参数编程需要的时候查询即可,一定注意的是返回的是下标而非位置,下标i对应位置i+1.

2015-04-13 10:39:38 1215

原创 有关C++ int long最大表示长度问题

int是short int的省略,占内存的2个字节,表示范围:-32768~32767。long是long int的省略,占内存的4个字节,表示范围:-2147483648~2147483647。long long 的字符长度是int型的两倍,现在int型一般为32位,所以long long是64位的,能支持的最大数为2^63 -1。根据处理数据的大小,选择合适的类型,尤其在OJ的时候一定要注意题

2015-04-13 10:39:33 5901

PCA人脸识别matlab代码

完整的利用PCA实现人脸识别分类的代码,包括测试数据集,数据集归数据集原作者所有,用户仅可用来测试。

2017-11-06

空空如也

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

TA关注的人

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