自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

转载 mooc 数据结构作业(二)祖玛(Zuma)

描述祖玛是一款曾经风靡全球的游戏,其玩法是:在一条轨道上初始排列着若干个彩色珠子,其中任意三个相邻的珠子不会完全同色。此后,你可以发射珠子到轨道上并加入原有序列中。一旦有三个或更多同色的珠子变成相邻,它们就会立即消失。这类消除现象可能会连锁式发生,其间你将暂时不能发射珠子。开发商最近准备为玩家写一个游戏过程的回放工具。他们已经在游戏内完成了过程记录的功能,而回放功能的实现则委...

2018-08-20 20:03:00 433

转载 mooc 数据结构作业(一)范围查询(Range)

描述数轴上有n个点,对于任一闭区间 [a, b],试计算落在其内的点数。输入第一行包括两个整数:点的总数n,查询的次数m。第二行包含n个数,为各个点的坐标。以下m行,各包含两个整数:查询区间的左、右边界a和b。输出对每次查询,输出落在闭区间[a, b]内点的个数。样例见英文题面限制0 ≤ n, m ≤ 5×1...

2018-08-19 23:31:00 453

转载 HDU5288——OO’s Sequence(2015多校-1001)

http://acm.hdu.edu.cn/showproblem.php?pid=5288一句话,这题目就是考智商的题。。。可怜我这个新手智商低~T_T言归正传:题意很容易理解,就是讲一个数组的可以组成的所有区间的,该区间所有不能整除该区间其他数的个数的和。解决办法就是:找到一个数的左右最近的两个值恰好为该数的因子的位置分别为L[i],R[i],那么在区间(L[i],R[i...

2018-08-18 20:39:00 108

转载 算法入门系列之排序与检索

UVA340UVA10420时间有点久远,很早之前写的,然后忘记总结了,这道题其实很容易,一行只取第一个字符串,然后按照字典序输出每个字符串的个数。这里有个技巧就是先用scanf获取第一个字符串,然后再用gets直接吸收剩下的字母。其次就是用map记录个数,然后用迭代器输出结果#include<iostream>#include<cst...

2018-08-18 20:34:00 96

转载 Hash

hash的应用包括两种,一种是整数方面一种是字符串方面。整数:hdu1425:水题,考虑将所有数据存到对应的hash数组,然后倒叙查找输出即可。考虑负数处理方式。#include<bits/stdc++.h>using namespace std;int h[1000005];//直接将数据存hash[i]对应的位置即可int main...

2017-04-15 16:56:00 75

转载 包含min函数的栈

题目链接要实现O(1)的复杂度,所以不能用循环等~只能使用辅助栈Java 版本:我的想法:使用两个栈一个站用于存储入栈的序列,另一个栈存储当前的min值。插入一个就添加一个最小值,删除一个就删除一个最小值。 1 import java.util.Stack; 2 3 public class Solution { 4 5 Sta...

2017-04-03 17:46:00 52

转载 从尾到头打印链表

题目链接Java版本:本人写的:思路:由于单链表,只能顺序从头到尾查找,为了得到从尾部到头的结果,所以可以先将结果存到List里在倒着输出。/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val)...

2017-04-03 16:52:00 70

转载 剑指offer

数组二维数组中的查找3406021.92%数组数组中重复的数字685630.18%数组构建乘积数组569138.25%字符串替换空格3114921.83%...

2017-04-03 15:37:00 451

转载 Codeforces Round #345

AJoysticks题意:讲的是放电要2,充电要1,问两个持续时间最长是多少。水题,注意的是当a,b同时等于1的时候,直接游戏结束。#include<cstdio>#include<iostream>#include<algorithm>using namespace std;int a,b;int main(...

2016-03-09 00:31:00 55

转载 算法入门系列之字符串

1.26UVA10010好想说这道题我做了好久~快哭了~最后还是利用了udebug那个网站,才找到了bug这道题收获很大对于我这个代码能力不强的人,基础知识不牢的人来说多练练还是有好处的~1.思路:这道题给定一个二维数组,然后给你多个字符串,问你这些字符串在这个二维数组中是否能找到,重点是:方向有八个:向上,向下,向左,向右,左上,左下,右上,右下。所以读懂题意非常重要...

2016-01-26 21:56:00 99

转载 最长上升子序列的二分优化

http://blog.csdn.net/wall_f/article/details/8295812作者写的太好了,转载一下~我简单总结一下,我的理解。最长上升子序列的转移方程:b[k]=max(max(b[j]|a[j]<a[k],j<k)+1,1);其优化主要在求解当前最长长度是要查找前面的b数组中是否有最大的值,且当前期a[j]<a[k],因此就...

2015-11-03 20:54:00 153

转载 数学入门题——《算法竞赛入门经典-训练指南》

题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=94017#overview代码链接:https://github.com/YvetteYue/ACM/tree/master/math%E5%85%A5%E9%97%A8A题:UVA11388GCD LCM这道题求得是已知GCD和LCM 求最小的a情况下的...

2015-10-06 23:00:00 91

转载 hdu 1455 Sticks——dfs经典的题目

http://acm.hdu.edu.cn/showproblem.php?pid=1455题意:几根长度的棍子被分成了很多半。问合成多个长度相同的棍子,棍子长度最小是多少。题解:很明显是dfs。所以我们首先需要找到,这些棍子可能是多长,肯定是最长的棍子的长度到所有棍子长度和之间的某个长度。找到这些可能之后就直接按照这个长度开始搜。想法是搜到和为这个长度之后记录,然后重新再搜,一...

2015-08-14 23:00:00 77

转载 Coin Piles——hdu2796

http://acm.hdu.edu.cn/showproblem.php?pid=2796题意:一堆不同大小的coin分成堆。条件是:当前堆得top size要大于当前堆得所有coin;当前堆的top size要大于前一堆的top size;当前堆的coin个数要大于前一堆。求最大能分成多少堆。思路:要想堆数最大,就要需要让没有堆的top size尽量小。所以最优的时候...

2015-08-04 12:46:00 135

转载 看病要排队——hdu1873

http://acm.hdu.edu.cn/showproblem.php?pid=1873这道题使用的是优先队列。主要比较函数的写法!#include<stdio.h>#include<queue>#include<vector>#include<functional>#include<string.h&...

2015-08-04 12:36:00 81

转载 487-3279 (poj1002)

http://poj.org/problem?id=1002这道题耗时一整天,终于搞定了。这道题一开始写的是超时,最后懂了,问题原因是有二重循环加strcmp比较,时间复杂度是O(n^3)所以超时了。#include<stdio.h>#include<string.h>#include<iostream>#include<...

2015-08-02 22:51:00 78

转载 Jeff and Digits

http://codeforces.com/contest/352/problem/A一道非常简单的题,然而我又是交了5遍才过,当然:我来总结一下这五遍错误在哪里?orz(1)提交编译器用的是GCC orz(2)后面几遍原因都是对于9个5才能被9整除,而0是没有影响的,只要有0就可以被10整除。。。orz竟然纠结这个纠结好久。(3)输入的数据范围是10^3,然而我的数组竟...

2015-08-02 15:18:00 82

转载 Rails

http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=10753经典的出栈入栈问题:模拟栈就好了。#include<iostream>#include<stack>#include<stdio.h>#define N 1002;using namespace ...

2015-08-02 11:40:00 54

转载 Two Buttons

http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=127062题意:已知两个数m,n,通过A按钮,数字可以乘2,B按钮数字减1,通过两个按钮操作,求使得m转变成n的最小步数,其中当数字不是正数的时候,机器停止运转。解题思路:首先有两种状态,一种是乘一种是减。很明显这道题用的是搜索而且是bfs。需要考虑在运行搜索...

2015-07-31 22:20:00 66

转载 Exponentiation——小数的幂

http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=28517思路:(1)先预处理,讲输入的小数的末尾的0去掉,并记录小数点的位置,然后倒叙存放在数组里,(2)进行连乘运算,两个循环。重点注意运算之后数组的长度需要准确记录下来。#include<stdio.h>#include<...

2015-07-30 22:14:00 108

转载 Integer Inquiry——大数连加

http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=14340思路:模拟手动加法运算(1)大数用数组存储,逆序(2)计算两个数每一位相加,然后进位#include<stdio.h>#include<string.h>#define N 110void add()...

2015-07-30 22:02:00 101

转载 HDU1233——还是通常工程(最小生成树,并查集)

http://acm.hdu.edu.cn/showproblem.php?pid=1233题意:就是裸的最小生成树。这里用的是kruskal使用的是并查集,将按距离排序的边,分别把点加到集合里。节点存在在集合里说明是环路。#include<iostream>#include<cstdio>#include<cstring>...

2015-06-01 09:42:00 66

转载 HDU1285——确定比赛名次(拓扑排序)

http://acm.hdu.edu.cn/showproblem.php?pid=1285题意:是通过已知的比赛结果,判断名次。1.用邻接矩阵存储2.用一个一维数组存储当前点的入度。当该点的入度是0时,输出该点,并将与他相连的点的度数减一。寻找下一个读数为0的点。。。。。#include<cmath>#include<cstring>...

2015-05-31 16:55:00 83

转载 HDU1878——欧拉回路(并查集)

http://acm.hdu.edu.cn/showproblem.php?pid=1878题意:这道题讲的是判断是否是一个欧拉回路。欧拉通路: 通过图中每条边且只通过一次,并且经过每一顶点的通路。欧拉回路: 通过图中每条边且只通过一次,并且经过每一顶点的回路。无向图是否具有欧拉通路或回路的判定:欧拉通路:图连通;图中只有0个或2个度为奇数的节点欧拉回路...

2015-05-31 10:56:00 67

转载 HDU1232——通畅工程(并查集)

http://acm.hdu.edu.cn/showproblem.php?pid=1232这道题是学习并查集的第一道题。并查集,他的思路是构成一个树结构,如果这两个节点的根节点相同,那么说明这两个节点在一个集合里,否则不再一个集合。查找根节点:当然是递归查找他上一层的父节点是什么。知道查找到的节点的父节点是他本身为止。int find(int x) { ...

2015-05-30 22:59:00 73

转载 HDU4004——The Frog's Games

http://acm.hdu.edu.cn/showproblem.php?pid=4004这道题讲的是青蛙在限定步骤之内跳过河,所以判断最小的每次跳的步长。思路理解:找到每块石头之间的最大值为石头最小步长,最大值当然就是河宽了。所以剩下了就是用二分枚举了。//我烦的一个错误就是sort函数是从0-n(sort(a,a+n););#include<stdio.h...

2015-05-25 17:20:00 110

转载 HDU1181——变形课(BFS or DFS)

http://acm.hdu.edu.cn/showproblem.php?pid=1181这道题可以用多种方法写,我用了两种方法,都是用java写的。BFS注意java中使用的queue接口是需要实例化为LinkedList,queue接口的方法有:add增加一个元索如果队列已满,则抛出一个IIIegaISl...

2015-05-23 22:53:00 120

转载 HDU1052——Tian Ji -- The Horse Racing

http://acm.hdu.edu.cn/showproblem.php?pid=1052这道题用的是贪心策略,将双方的马按照速度排序,从小到大,最大的先比,如果能赢就赢,不能的话就比较两个小的,能赢就赢,不能的话就用这个弱马消耗那个速度快的马。策略就是我要尽量赢,不能赢就拿弱马消耗。#include<cstring>#include<cm...

2015-05-23 01:50:00 53

转载 HDU1241——Oil Deposits

http://acm.hdu.edu.cn/showproblem.php?pid=1241这道题类似HDU2952,只是增加对角线的点可以被访问就好了#include <iostream>#include <cstdio>#include <cstring>#include <queue>//泼水原理/*...

2015-05-23 01:43:00 73

转载 HDU2952——Counting Sheep

http://acm.hdu.edu.cn/showproblem.php?pid=2952这道题的简单意思就是问你#把.分成了几部分,所以是广搜,遇到一个#就开始广搜,然后把这些访问过得点改成.并且count+1我在这道题中遇到的问题是:一定要遇到#之后就把这个点标记成访问过的不然加入队列后,会导致重复访问而超时。#include <iostream>#...

2015-05-23 01:39:00 177

转载 HDU1312——Red and Black

http://acm.hdu.edu.cn/showproblem.php?pid=1312这倒题用的是广搜:广搜用的是队列。就是从一个点有四个方向,所以把四个可能都放进队列里。广搜也是状态改变。就像是泼水的感觉。题意:就是从@位置最多能走多少步。明显的广搜#include<stdio.h>#include<cstring>#inclu...

2015-05-23 01:33:00 64

转载 HDU1035——Robot Motion

http://acm.hdu.edu.cn/showproblem.php?pid=1035这倒题讲的是机器人通过给定的方向标识,判断花多长时间退出或者话多久后进入循环。当然这道题也是用的深搜,改变的只有坐标就好了,问题是而且vis数组不需要reset,因为要判断是否重新回到一个点——会不会发生循环。难点:记录走了多少步,我是在vis数组中记录当前是第几步,一举两得。记住有可...

2015-05-23 01:26:00 63

转载 HDU1010——Tempter of the Bone

http://acm.hdu.edu.cn/showproblem.php?pid=1010这道题讲的是起点是S要到达D点是否可以恰好在规定的T时间到达,而且走的路径不能返回。解题思路:用的是深搜,搜索是否在T时间是正好到达D点剪枝:奇偶剪枝,访问范围不能超过图的范围,访问过了或者遇到X都是不能继续访问了。难点:状态改变有坐标和时间,以时间为判断结束标识。#inc...

2015-05-23 01:20:00 59

转载 HDU1016——Prime Ring Problem

http://acm.hdu.edu.cn/showproblem.php?pid=1016这道题是经典的素数环问题,相邻的两个数之和是素数。解题方法:用的是深搜,以1为起点,搜索,下一个数为出去前面的数字的集合。(用vis数组记录访问过的节点)剪枝:当前搜索值与数组前一个值之和不为素数的时候返回。#include <iostream>#include...

2015-05-23 01:11:00 58

转载 HDU1027-Ignatius and the Princess II

http://acm.hdu.edu.cn/showproblem.php?pid=1027这道题的意思是输出n个数全排列的第m个全排列。很明显这道题用的是可以用深搜来解决这个问题,我的思路是:寻找的是最优子结构,当全排列的第一个数确定之后,就第二个数就是n个数出去第一个数字的任意一个可能。深搜是状态转移,从一个状态转换到另一个状态。//hdu1027#inc...

2015-05-23 01:00:00 67

转载 2046——骨骼铺方格

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2046思路:我觉得就是f(n)=f(n-1)+f(n-2);但是用递归超时了,所以用迭代法,不过需要注意的是输出的数据类型是int的话,会过界,所以要选择double,输出是%.lf输出整数。#include<stdio.h>int main(){ int...

2014-11-10 18:27:00 60

转载 2050——折线分割平面

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2050分析:重点就是找到规律!!下面是人家总结的:感觉写的很好。。http://www.cnblogs.com/chaosheng/archive/2012/01/26/2329583.html我写的这道题代码:#include<stdio.h>int main...

2014-11-10 17:37:00 71

转载 2051-bitset

十进制转二进制水题http://acm.hdu.edu.cn/showproblem.php?pid=2051注意的是倒序输出是for(i=k-1;i>=0;i--)#include<stdio.h>int main(){ int i,n,a[10],k; while(scanf("%d",&n)!=EOF){ ...

2014-11-08 13:38:00 62

转载 2034——人见人爱A-B

http://acm.hdu.edu.cn/showproblem.php?pid=2034这道题注意的是集合最后输出是按从小到大的顺序的。。。。还有就是赋初值,在一次比较后要将值归零!!还有就是记住A-B的特点,就是在A中而不再B中的值。#include<stdio.h>int main(){ void sort(int a[],int n);...

2014-11-08 12:59:00 64

转载 2052——picture

http://acm.hdu.edu.cn/showproblem.php?pid=2052内容比较简单就是打印图案。。。但是方法是对于四个角,第一行第四行,中间行要进行分类。#include<stdio.h>int main(){ int j,n,m,i; while(scanf("%d%d",&m,&n)!=EOF)...

2014-11-05 12:45:00 72

空空如也

空空如也

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

TA关注的人

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