自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

u010078776的专栏

每天进步一点点

  • 博客(21)
  • 收藏
  • 关注

原创 Sicily 1071

// 按照题意枚举每条边,看看能不能切割// 每条边可以是横的边也可以是竖的边 #include #include #include using namespace std;const int N = 102;// 定义一个矩形 struct Rec { int x1, y1, x2, y2;};// 最大面积 int max_area = 0;//sort 用的比较函数

2014-11-10 22:40:42 708

原创 哨兵在链表中的使用

首先我想写这篇文章的原因是我用google搜索,但是没有找到很多有关哨兵在链表中的使用,如果有的话,也只是轻描淡写的写了写代码,没有明确说明使用哨兵的好处,这篇文章说明了用哨兵实现有序和无序链表的好处。 先定义一个节点的结构. struct Node { int value; Node* next; Node() : value(0), next(0) {}

2014-09-17 15:26:27 3199

原创 sicily 1323. Switch text

题目地址:http://soj.me/1323  一开始连题目都没看懂,然后直接google了一下这道题,原来是道大水题,大概题意就是有2N行字符串,两个为一组(也有可能一组中有一个为空字符串),先输出第二个字符串,在输出第一个字符串,输出的方式如下,从中间一直往左,然后从最后往左,例如字符串abcdefge输出为dcbaegfe,如果有一个字符串味空的话,就不必输出了,代码如下:#inc

2014-03-24 16:47:36 1061

原创 sicily 1133. SPAM

题目地址:http://soj.me/1133   给出一大段字符串,然后找出其中的符合邮箱格式的字符串,并且输出,字符串可以重复利用,比如aa@aa@a有三个两个邮箱地址,分别是aa@aa,aa@a,我觉得这种题目还是很容易wrong的,一不小心就wrong了,大概思路就是把字符串从头到尾扫描,遇到@的时候,以@为中心向两边扫描,得到最大的邮箱地址为止,代码如下:#include #i

2014-03-24 16:29:02 1242

原创 sicily 1375 Balanced lineup

题目地址:http://soj.me/1375    题目分类中说是要考察的哈希的,但是我却没看出怎么要考察哈希,我的想法是把Id(原文中id为0和1,为了统计数量一样把0转为-1,这样只要他们的和为0,就表示一样多了)和x坐标封装成一个结构体,然后按坐标对结构体进行排序,接着以每个点为起点,找到和为0的那一段的横坐标相差的最大值(PS:要找和为0的那一段,可以求出前缀和sum[i],如果su

2014-03-20 14:51:09 1476

原创 sicily 1136 山海经

题目地址:http://soj.me/1136      一开始看到这道题,顿时欣喜不少,发现就是最大子数组问题,但是看看数据,就吓尿了,真心觉得常规解法过不了(但还是抱着试试的态度写了,结果直接time limited了),想了好久没头绪,果断google之,发现了一个叫做线段树的东西,这里先推荐这篇:http://blog.csdn.net/lifajun90/article/detail

2014-03-19 16:48:41 958

原创 阿里实习生电面题目(续):输出给定字符串的全部连续子串

昨天晚上一回来,打开CSDN,看到这么一篇文章《 阿里实习生电面题目:输出给定字符串的全部连续子串》,看到阿里的面试题,于是好奇的进去看了看,看到好多牛人给出的解决方法,虽然我是那种技术渣,但还是可以看出他们的代码究竟有没有降低复杂度的(ps:看了好多,基本都是调用函数,简化代码,没有降低复杂度),后来看到了10楼的最后一句话,猛然想到,这道题还应该考察这个点(这篇文章没有降低复杂度,只是去重的)

2014-03-13 10:32:53 994 1

原创 sicily 1509. Rails

题目地址:http://soj.me/1509  题目大意是,将1,2,3....n  N个数压入栈中,然后判断出栈顺序是否合法,如果没有一种好的方法,会多很多判断之类的,代码的中的那个while循环好简洁就实现了目的。#include #include using namespace std;int main() { int rail_num; while (cin >>

2014-03-11 13:01:54 1297

原创 sicily 1934. 移动小球

题目地址:http://soj.me/1934  这道题我觉得挺精妙的,如果用数组顺序储存的话,很不好做,但是用数组模拟双向链表的话,或者直接用双向链表的话,就很简单了。真心觉得这题不错。#include using namespace std;int prev[500005];int next[500005];int main() { int N; cin >> N;

2014-03-11 12:55:07 1123

原创 sicily 1021. Couples

题目地址:http://soj.me/1021题目的大概意思就是N对夫妇围成一个圈,编号为1-2N,相邻的夫妇可以移除,输入为N对夫妇的编号,判断最终可否移除所有的夫妇。一开始我想模拟整个过程,但是移除夫妇的话,需要做标记或者移动,很是麻烦,后来看到别人的思路用栈实现,边输入,边移除。#include #include #include using namespace std;in

2014-03-06 10:47:08 872

原创 八皇后问题 BFS求出所有解

以前就听说过八皇后问题,没学BFS的时候,完全没有头绪,学了BFS后,也没想起这道题,前几天偶偶又看到了这道题,于是心血来潮,决定用BFS遍历找出所有解(方法很拙,勿喷),采用的数据结构感觉也不是很好,每个point里面都有一个矩阵,浪费了大量的空间(我也没想到更好的方法),欢迎有想法的提出改进的地方。附上代码吧:#include #include #include #include

2014-03-05 17:15:51 5547 1

原创 Sicily 1443. Printer Queue

题目地址:http://soj.me/1443这是一道有关队列的题目,要模拟操作很简单,但是job的优先级可能相同,最后一个用例:1 1 9 1 1,第一个优先级为1的才是要求的job,然后我用了一个结构体来标记那个job,在模拟过程:#include #include #include #include using namespace std;struct job { in

2014-03-05 16:57:58 886

原创 Sicily 1931. 卡片游戏

题目地址:http://soj.me/1931按照题目的意思,用队列模拟就行了#include #include using namespace std;int main() { int N; cin >> N; while (N--) { int num; cin >> num; queue que; for (int i = 1; i

2014-03-05 16:49:28 1001

原创 Sicily 1194 Message Flood

题目地址:http://soj.me/1194题目说名字是不区分大小写的,用map数据结构记录那个人有没有发短信给他,然后就可以很快搞定#include #include #include using namespace std;int main() { int a, b; while (cin >> a) { if (!a) break; ci

2014-03-05 16:45:34 1275

原创 Sicily 1200 stick

意思大概就是说有n个数(n为奇数),数值相同的两个数可以成为一对,然后删除,求最终剩余的那个数,输入是合法的,比如输入为1, 2 1 则输出应该为 2。给我的第一直觉就是先排序,然后遍历一遍,找到那个数,采用的方法是第2k个数和2k+1个数比较(k = 0,1,2,3,4,5.....),如果两个数不相同,前者就是剩余的那个数。代码如下:#include #include #inc

2014-03-05 16:39:35 1042

原创 万能非递归二叉树的遍历【交换语句位置即可】

我就直接上代码吧,因为要考试了,实在忙,有问题可以参考这里http://blog.csdn.net/kofsky/article/details/2886453,或者留言struct node { int value; node* left; node* right; bool isPush; node() : isPush(false), left(NULL), righ

2014-01-12 17:02:08 833

原创 最大子数组问题【动态规划】

昨天偶然上csdn,看到这个问题,学习了一种复杂度为O(n)的算法,可以计算Array的最大子数组问题。思路就是从0-length,将array累加起来,同时用一个变量max记录最大值,如果sum > max,就更新max,如果sum #include using namespace std;void MaxSubArray(int array[], int len) {

2014-01-08 17:58:45 1537

原创 ubuntu 使用utorrent

学校有教育网,当然就可以去上六维空间,这时必须得用到ut这个东西,我的ubuntu是12.10,自己装了utorrent,亲测是是可以的,而且很简单,下面讲讲过程吧。Step1 :   下载utorrent,这当然是去官网下载咯,下载地址为http://www.utorrent.com/downloads/linux ,然后切换到下载文件所在的目录,一般是Download,也有可能是其他的

2013-12-31 10:15:56 1706

原创 ubuntu MongoDB配置+后台运行

最近看了一本鸟哥的linux私房菜,看完后感觉很有意思,并且也相应用电脑运行了一下那些命令。但是过了一段时间,那些不经常使用的命令渐渐就陌生了,或者说忘了,只是知道有这么个东西,但是却不知命令是什么。鄙人今天在配置mongoDB,原来windows下我是按照教程弄好了的,想想也不算很难,于是就从官网下载了linux的mongodb,想要配置一下(官网有教程,看了下好像是直接用命令装吧,这个

2013-12-28 16:32:16 2998

原创 ubuntu设置默认启动为文本界面或者图形界面

或许有很多人想要ubuntu系统的默认启动方式为文本界面,不管什么原因,(我是由于使用虚拟机,然后只有2G内存,实在开图形界面很卡,而且ubuntu虚拟机开图形界面也没啥意思,本来windows就有图形界面),我参照了一个方法的确有用,但是却不能实现切换,会出现问题,而这篇文章会给一个相对完整的过程.step1:首先,得修改/etc/default/grub这个文件,输入如下命令:

2013-12-14 13:12:44 9450 2

原创 简短谈谈cin,scanf,getline的用法

以前做题的时候,往往在一些输入上很讲究,但是当时对cin,scanf 和getline的用法不是很清楚,弄的束手无策,结果去google,百度,讲的也不是特别的详细,经过自己的研究,终于弄懂了这些的用法,先上一道题吧,真是水题,这种就是在输入上做文章    题目: 输入为字典对应,前面的是value,后面的是key,空一行,接着是查询key,输出为key所对应的value,

2013-11-07 17:23:54 3030 1

空空如也

空空如也

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

TA关注的人

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