自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ACM之路,在希望的田野上。

我不知道风,是在哪一个方向吹,我是在梦中,在梦的轻波里依洄。

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

原创 选择排序(汇编实现)

刚学汇编,于是用汇编编写了选择排序算法,初学真是各种心累啊。(选择排序思想即为每一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。)DATA SEGMENT BUF DB 03H,02H,01H,05H,04H COUNT EQU $-BUFDATA ENDSSTACK SEGMENT STACK DB 200 DUP(0

2016-05-03 22:35:24 5843 3

原创 POJ 3233 Matrix Power Series (矩阵快速幂)

大致题意:简单题意就不解释了。   不过可以建议大家可以先做POJ 3070,先学会快速幂的基本思想。没有做过的可以查看我的博客:点击打开链接然后我们已经会使用矩阵快速幂求解A^k,则如何求解  A+A^2+A^3……这里还是运用了二分的思想 ,例如:令S(N)=A+A^2+……+A^N;        则S(6)=A+A^2+A^3+A^4+A^5+A^6=(1+A^3)

2015-04-04 11:35:46 952

原创 归并排序求逆序数(POJ 1804,POJ 2299,HDU 4911)

首先,明确两个概念:逆序对:数列a[1],a[2],a[3]…中的任意两个数a[i],a[j] (ia[j],那么我们就说这两个数构成了一个逆序对.逆序数:一个数列中逆序对的总数.例题一:POJ 1804.   点击打开链接解题思路:每次交换只能减少一个逆序,而且必定能减少一个逆序,从而问题就转换为求逆序个数了。这题数据规模很小,暴力可过。我这里提供了用Merge_sort的方

2015-03-31 16:54:11 2027

原创 POJ 3070 Fibonacci.(矩阵快速幂)

解题思路:用公式递推显然是会超时的,于是根据题目明显的提示,就想到用矩阵快速幂。之所以快,是运用了二分的思想,算出了矩阵A的值,那么我可以一步算出A*A的值,进而一步算出A*A*A*A的值,进而……题目链接:点击打开链接#include#include#define N 100000#define MOD 10000using namespace std;int f[N];

2015-03-24 21:45:43 893

原创 HDU 1495 非常可乐(BFS+模拟)

题目链接:点击打开链接   题目大意:中文题就不解释了。题目思路:我们有明确的初始状态(s=s,a=0,b=0)和终止状态(s=s>>1,a=s>>1,b=0) (PS:a为大号杯)而每一步我们都有六个可选择的方向(s->a ;s->b ; a->s ; a->b ;b->s ;b->a),我们要得到最少的倒的次数,当然就是bfs咯。#include#include#inclu

2015-01-21 21:27:04 6930

原创 HDU 2952 Counting Sheep (DFS找联通块)

题目链接:请戳这里。   题目大意及思路:读懂题意就好了,就是DFS找联通块。没什么好说的,见代码吧。#include#include#include#define N 100+5using namespace std;int n,m;char g[N][N];int dir[4][2]={1,0,0,1,-1,0,0,-1};void dfs(int x,int y)

2015-01-21 20:42:14 1358

原创 HDU 1829 A Bug's Life (并查集)

题目链接:请戳这里。题目大意及思路:给定n个Bugs(shen me gui)和m对Bugs之间的关系,假定关系是两个Bugs的男女关系,那么问存不存在同性恋的情况。那么若a与b是男女关系,b与c是男女关系,那么a和c的性别我们就可以认为是相同的。我们用可以建立两个并查集,一类放男男关系,一类放女女关系。那么若男男关系中出现了环的情况(即有共同的根),那么同性恋关系就出现了。#in

2015-01-17 20:51:42 1016

原创 POJ 2236 Wireless Network (并查集)

题目链接:请戳这里。思路及大意:给你n个电脑的坐标,然后是两种操作,‘o'是修复某台电脑,’s'是询问p,q两台电脑是否能够连接。计算每次修复好的电脑与之前修复好的电脑之间的距离,若在d内,则将他们放入一个集合中;若p,q两台电脑在一个集合中,则表示他们可以连接。#include#include#include#define N 1000+10using namespace

2015-01-17 20:37:11 996

原创 HDU 1272 小希的迷宫 (并查集)

题目链接:请戳这里。  解题思路:题目意思判断是不是连通无环的图,首先想到的就是并查集。              1)判断成环的时候,只要判断输入边的两个点。若有一个共同的父节点,那么这两个点就成环。              2)判断连通的时候,只要判断根集合的元素数是否等于总的节点数。             PS:当输入的这组数据只有 0 0 时,依然是满足条件的,即应输出

2015-01-17 15:28:13 859

原创 HDU 1856 More is better (并查集)

题目连接:请戳这里。题目大意及思路:就是找学生最多的那个集合。注意一点的是“or there is only one boy left.”#include#include#include#include#include#include#define N 10000000+10using namespace std;int f[N],num[N];void Init(int

2015-01-17 10:36:54 796

原创 HDU 1005 Number Sequence (循环节)

首先暴力打表就很容易发现有循环节,于是一开始的写法是直接暴力找循环节,结果一直WA,原因是有的循环并不是从1,1开始的,详细有证明戳这里:http://acm.hdu.edu.cn/discuss/problem/post/reply.php?postid=19818&messageid=1&deep=0于是借鉴了大神的思路,因为%7,故可用v[7][7]来记录 f(n) = (A * f

2014-09-21 10:07:23 1003

原创 HDU 5024 Wang Xifeng's Little Plot(2014广州网络赛1003)

写了1h的DFS,简直被自己的代码吓哭了。。不过起码还是思路清晰,QUQ~说一下题意吧: 题意是求一条最长路,最多能经过一次转弯,并且其角度只能为90度。拿第一个样例来说:(0,1)->(1,2)->【转弯】(2,1) ,所以答案是3.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5024代码如下:#include#in

2014-09-20 18:22:09 1699 2

原创 HDU 5012 Dice (BFS)

其实是很水的一道bfs,用字符串表示每个状态,map判重就ok了。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5012#include#include#include#include#include#include#include#include#include#define N 7using namespace std

2014-09-17 22:53:21 1127

原创 ZOJ 3789 Abs Problem

有时候像这种题,没有明显的思路,感觉像规律题。那么先暴力打表,再找规律就很快了。题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3798先上我的暴力打表,这种肯定是TLE的,只用它发现规律就好了。#include#include#include#define INF 0x3f3f3f3f#def

2014-09-03 21:54:43 1152 2

原创 POJ 2352 && HDU 1541 Stars (树状数组)

一开始想,总感觉是DP,可是最后什么都没想到。还暴力的交了一发。然后开始写线段树,结果超时。感觉自己线段树的写法有问题。改天再写。先把树状数组的写法贴出来吧。~~~~~~~~~~~~~~~~~~~~~~~~树状数组不懂的去看刘汝佳的大白书,那个图画得很清楚。题目大意:星星的坐标以y递增的顺序给出,这些点的左下方的点数代表这个点的级数,问0~N-1的级数有多少个?其实y根本木有用。

2014-08-26 00:23:25 1244

原创 HDU 3308 LCIS (端点更新+区间合并)

刚刚做了两道LCIS,碰到这道线段树,脑抽了似的写 线段树+dp(LCIS),贡献一发TLE。才想到要区间合并,query函数写了好久。下面有详细注释,参见代码吧~~欢迎点赞,欢迎卖萌~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~题目链接:http://acm.hdu.e

2014-08-20 15:01:13 1045

原创 POJ 3042 Grazing on the Run (区间DP)

区间dp,~~~~dp[i][j][0]表示i到j之间已经走过,并且现在在i点的staleness(可以理解为枯萎指数)最小值,dp[i][j][1]表示i到j之间已经走过,并且现在在j点的staleness最小值。于是对于在i点,可能从i+1->i,也可能从j->i,即:很重要的一点,在我们转移到i时,除了即将到达的i点,还有未到达的(n-(j-i

2014-08-20 09:53:05 1221

原创 POJ 3517 And Then There Was One (约瑟夫环问题)

经典的约瑟夫环问题嘛。有点小小的变形而已。给你N个人围成一个环(编号1~N),从第M个人开始,每隔K个人报一次数,报数的人离开该环。求最后剩下的人的编号。约瑟夫问题的数学递推解法:(1)第一个被删除的数为 (m - 1) % n。        (2)假设第二轮的开始数字为k,那么这n - 1个数构成的约瑟夫环为k, k + 1, k + 2, k +3, .....,

2014-08-19 23:06:40 1591

原创 HDU 1058 Humble Numbers (dp+打表)

先是想筛法素数表啊,然后1~2000000000枚举打表啊,结果越想越不对。后来想到唯一分解定理,可是怎么实现呢。。果然还是需要努力啊。。研究了discuss代码,码之~~~~~dp的思想,若dp[i]是Humble Numbers,那么dp[i]*2,dp[i]*3,dp[i]*5,dp[i]*7都将是Humble Numbers。所以只需要注意连续性便好了。#inclu

2014-08-18 18:13:18 1043

原创 POJ 3670 && POJ 3671 (dp)

最长不下降子序列的应用嘛。两题都是一样的。POJ 3670:求给定序列按递增或递减排列时,所需改变的最小的数字的数目。POJ 3671:求给定序列按递增排列时,所需改变的最小的数字的数目。  思路就是求最长不下降子序列,然后剩下的就是需要改变的字母。最长不下降子序列:(我之前有写过,不懂请戳)http://blog.csdn.net/darwin_/article/detail

2014-08-17 22:57:42 1171

原创 HDU 2571 命运 (dp)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2571思路:DP自左向右,由上至下更新就好。#include#include#include#include#include#include#include#define N 1111#define INF 0x3f3f3f3fusing namespace std;int

2014-08-17 15:38:29 1314

原创 POJ 1699 Best Sequence (DFS+预处理)

题意:看那张图就一清二楚了吧, N个序列首位相连(相同的序列部分),得到最短的总序列。题目链接:http://poj.org/problem?id=1699~~~~思路就是:将N个序列首尾相连能重合的长度求粗来。然后DFS枚举每种首尾相连的情况。#include#include#include#define N 22#define INF 0x7fffffffus

2014-08-16 21:49:19 1630

原创 POJ 2777 Count Color (线段树+位运算)

题意很简单了,对一个区间有两种操作:1. "C A B C" Color the board from segment A to segment B with color C.//A~B涂上颜色C2. "P A B" Output the number of different colors painted between segment A and segment B (includ

2014-08-15 13:58:12 1162

原创 POJ 1692 Crossed Matchings(dp).

~~~~题意:给出两行数字序列,求上下匹配的最多组数是多少.匹配规则:1.匹配对的数字必须相同。2.每个匹配必须有且只能有一个匹配与之相交叉,且相交叉的两组匹配数字必须不同。3.一个数最多只能匹配一次。最长公共子序列的改编,令f[i][j]表示第一个序列的前i个数字和第二个序列的前j个数字的匹配的最优值。状态转移:f[i][j]=max(f[p-1][q-1]+2,

2014-08-15 09:06:37 958

原创 POJ 1200 Crazy Search(hash).

~~~~果然用map暴力直接超时。原来要用hash,第一次写hash,真是个好玩的东西。题目链接:http://poj.org/problem?id=1200注意:1.题目说文本是由字符组成的,所以要用ascll码作为下标。2.hash数组要开大点,否则RE。#include#include#include#include#include#define N 1

2014-08-15 08:08:20 1192

原创 POJ 1856 Sea Battle(BFS).

~~~~题意: 给你一个R*C的图,求其由图中连通‘#“所组成的矩形的个数。 注意:If the shipswere placed correctly (i.e., there are only rectangles that do not touch each other even with a corner), print the sentence "There are S shi

2014-08-12 23:22:15 903

原创 POJ 3667 Hotel. (线段树 区间合并)

~~~~线段树区间合并~两种操作:1、输出满足连续区间最左边的值。2、更新一段连续区间。题目链接:http://poj.org/problem?id=3667~~~~#include#include#include#define INF 0x7fffffff#define lson rt<<1,s,m#define rson rt<<1|1,m+1,e#de

2014-08-11 21:47:21 988

原创 POJ 2528 Mayor's posters.

~~~~一直MLE,才发现要写离散化操作。其他就是线段树的成段更新(每次用不同标记去更新区间),最后统计下有多少种标记就OK了。题目链接:http://poj.org/problem?id=2528大牛写的很详细,请戳:http://blog.csdn.net/metalseed/article/details/8041334~~~~#include#include#inc

2014-08-11 18:44:21 907

原创 POJ 3221 Diamond Puzzle.

~~~~题目链接:http://poj.org/problem?id=3221显然是BFS找最优解,可是终止条件不好写,看到有一只队交上去一直TLE。比赛完了看题解原来是以目标状态为起点,BFS给每个状态打表,用一个map映射存起来。~~~~#include#include#include#include#include#include#includeusing

2014-08-11 11:34:48 1023

原创 POJ 3356 AGTC.

~~~~题目意思问将序列 x 转化成序列 y 需要多少步操作。题目链接:http://poj.org/problem?id=3356~~~~我的想法先求的两条序列的最长公共子序列。余下不相同或者是缺少的部分做相应的处理就好。最长公共子序列都会吧,于是····#include#include#include#include#define N 1000+10using

2014-08-11 10:59:59 790

原创 POJ 3080 Blue Jeans.

~~~~题意就是找m组序列的最长连续公共子序列。原来可以直接枚举。从大到小枚举第一条序列长度的子序列,看下面m-1组序列是否有,找到的第一个必然是最优的(也是一个优化吧);题目链接:http://poj.org/problem?id=3080~~~~#include#include#include#includeusing namespace std;const

2014-08-11 10:41:52 917

原创 ZOJ 1093 && NYoj16(DP)

~~~~两个题目大致类似,NYOJ上面那道题就是小白上的矩形嵌套啦。都是先对长宽进行排序,然后逐层更新最大值(边更新边记录)。好了,不说了。题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1093http://acm.nyist.net/JudgeOnline/problem.php?p

2014-08-08 13:44:42 903

原创 HDU 1540 && POJ 2892 Tunnel Warfare (线段树,区间合并).

~~~~第一次遇到线段树合并的题,又被律爷教做人。TAT.~~~~线段树的题意都很好理解吧。。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1540http://poj.org/problem?id=2892~~~~我的代码:200ms#include#include#include#include

2014-08-07 21:21:46 1023

原创 HDU 2377 && ZOJ 2412

~~~~输入好长。。。思路就是对线路上的每一个点BFS记录各个点到其所需的star值,然后ans记录所需的最大star值,最后输出ans最小的star值及相应的id。开始建链接矩阵,结果MLE,于是修改了下。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2377http://acm.zju.edu.cn/onlinejudge

2014-08-06 11:03:29 1204

原创 POJ 1609 Tiling Up Blocks.

~~~~二维的最长上升子序列。n^2算法居然可以水过。。就不多说了,排个序,然后DP。题目链接:http://poj.org/problem?id=1609~~~~#include#include#include#include#define N 11111using namespace std;struct node{ int l,m;}b[N];

2014-08-03 23:18:33 1213

原创 POJ 1887 Testing the CATCHER.

~~~~求最长不上升子序列,把数组倒过来不就是求最长上升子序列了么,QAQ..用的是nlogn算法,不清楚的请戳:http://blog.csdn.net/darwin_/article/details/38360997题目链接:http://poj.org/problem?id=1887~~~~#include#include#include#include#defi

2014-08-03 21:14:27 1043

原创 POJ 1631(最长上升子序列 nlogn).

~~~~由题意可知,因为左边是按1~n的顺序递增排列,要想得到不相交组合,左边后面的一定与相应右边后面的相连,如此一来,就可以发现其实是一道最长上升子序列的题目,要注意的是N题目链接:http://poj.org/problem?id=1631~~~~nlogn的算法在这里补充一下。最长不下降子序列的O(nlogn)算法分析如下: 设 A[t]表示序

2014-08-03 21:06:00 3463

原创 HDU 1087 && POJ 2533(DP,最长上升子序列).

~~~~两道题的意思差不多,HDU上是求最长上升子序列的和,而POJ上就的是其长度。貌似还有用二分写的nlogn的算法,不过这俩题n^2就可以过嘛。。~~~~题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087http://poj.org/problem?id=2533~~~~HDU1087:#include

2014-08-02 22:13:47 1499

原创 HDU 1506 && HDU1505 && HDU 2870 (DP).

~~~~这三道DP题是逐层递进的,大家可以从前往后做。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1506http://acm.hdu.edu.cn/showproblem.php?pid=1505   http://acm.hdu.edu.cn/showproblem.php?pid=2870~~~~1506:分别找每

2014-08-01 09:23:44 963

原创 HDU 1242 && ZOJ 1649( BFS (队列 || 优先队列)).

~~~~突然发现一篇搜索的题目都有写。昨天发现道bfs题目,HDU上AC, ZOJ上WA。不得不说HDU上的数据之水。。今天早起刷题有了思路,并用队列和单调队列都写了一遍,0MS飘过~~~~~~题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1242http://acm.zju.edu.cn/onlinejudge/show

2014-07-31 09:16:58 1143

空空如也

空空如也

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

TA关注的人

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