hdu
文章平均质量分 72
流沙-岁月
这个作者很懒,什么都没留下…
展开
-
hdu 1401 (双广)
题意:在8 * 8 的跳棋棋盘上,给你两个状态,每个状态4个点,判断一个状态8步内能否到达另一个状态。原创 2014-10-26 19:09:04 · 924 阅读 · 1 评论 -
hdu 4193(单调队列)
#include #define N 2000002int a[N],sum[N],q[N];int main(){ int i,n,ans; while(~scanf("%d",&n) && n) { for (i=1;i<=n;i++){ scanf("%d",sum+i); sum[i+n]=s原创 2015-01-05 17:53:55 · 512 阅读 · 0 评论 -
hdu 1212
模运算与基本四则运算有些相似,但是除法例外。其规则如下: (a + b) % p = (a % p + b % p) % p (1) (a - b) % p = (a % p - b % p) % p (2) (a * b) % p = (a % p * b % p) % p (3) (a^b) % p = ((a % p)^b)原创 2015-03-28 10:52:41 · 403 阅读 · 0 评论 -
hdu 4021(16数码)
题意:给出一个board,上面有24个位置,其中23个位置上放置了标有数字1~23的方块,一个为空位(用数字0表示),现在可以把空位与它旁边的方块交换,给出board的起始状态,问是否可以达到指定的状态。 思路:看起来很像著名的“八数码”问题,首先,针对八个特殊位置(死角),如果这里有空位就把它和相邻的位置交换,这样之后如果两个状态的对应死角上的数字不同,那么显然是不能达到转载 2015-03-17 20:36:55 · 470 阅读 · 0 评论 -
hdu 1431
就一道打表题,呃,至少我是打表。。。 先把题目范围内所有的素数回文总数求出来,发现只有779个,而且最大的一个是9989899,所以打表完全没问题的。代码如下:#include #include #include #include #include #include #include #include #include #include #include原创 2015-03-23 21:17:55 · 439 阅读 · 0 评论 -
hdu 1443
题意:有k个好人和k个坏人围成一个环,并且从1开始编号,前k个是好人,后k个是坏人。然后从1开始报数,报到m的出去,接着从一个开始重新报数。让你求一个最小的m,使k个坏人没有出去前,好人不能出去。 分析:这道题k 其实和约瑟夫问题类似,也是在有人出去后将环重新标号。枚举m,在每一个m下,每出去一个坏人,重新标号得到一个新环,此时若发现在人数大于k人的情况下原创 2015-07-01 18:59:56 · 588 阅读 · 0 评论 -
hdu 5288
题意:给n个数,让你输出所有的f(l,r)之和,1 分析:换个方向思考问题,实质上是在求对第i个数,有多少个区间使得它不能被其它数整除。这样,最后只要把所有数的满足条件的区间数加起来就行了。为此,我们可以开两个数组l[i],r[i],l[i]记录左边离第i个数最近的且是其因子的数的位置,r[i]则记录右边。于是,第i个数满足条件的区间数就为(i-l[i])*(r[i]-i)。原创 2015-07-22 16:25:14 · 421 阅读 · 0 评论 -
hdu 5056
题意:找出字符串中所有字母出现次数不超过k次的子串数量。 分析:首先明确两点,一:一个字符串的子串数量等于其长度的累积和,即len*(len+1)/2;二:若该字符的一个子串满足条件,则该子串的所有子串都满足条件。知道了这两点,这道题就能做出来了。具体是 设两个指针start和end,代表子串的起始和终点,接着不断将end往后推动,直到子串不满足条件,此时再计算[start,end-1]原创 2015-09-01 10:18:52 · 410 阅读 · 0 评论 -
hdu 5400
题意:先给出三个正整数n,d1,d2,再给出含n个数的序列,求这个序列中有多少个区间满足以下几个条件之一: 1:这个区间是一个等差数列,且公差为d1或d2; 2:若区间的下标范围为[l,r],应有l 注意:单个数字是一定符合题意的,因此答案至少为n; 其实是很水的题。。。。可惜求区间数目原创 2015-08-18 18:00:23 · 602 阅读 · 0 评论 -
hdu1281(二分匹配+构图)
一个简单的二分构图题,因为以前做过更难的,所以这次很轻松的就AC了,不过关于求关键格子的那个思路还是在网上看的,水平还是很菜啊~~ 把横坐标和纵坐标分别看做两个点集,某个格子能放车的话就在对应的横纵坐标之间连一条边,这样,二分图就建好了。明显的,每一条边都代表一个车,要求能最多放的车数也就等价于求二分最大匹配了。而对于关键格子,由于关键格子是指,少了这个格子后就放不了最多的车数了,因此原创 2014-12-25 11:10:22 · 424 阅读 · 0 评论 -
hdu 1257(贪心)
这道题似乎用dp最好,不过我用的是贪心,对每个导弹,选择比它高度高且最接近它的拦截系统拦截,拦截后更新系统的能拦截的高度。 代码如下:#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long lon原创 2015-01-13 16:52:15 · 393 阅读 · 0 评论 -
hdu 2444(二分图判断+最大匹配)
题意:n个点,m条边,要求判断构成的图是否是二分图,是的话求出最大匹配。 分析:二分图判断的话用bfs进行染色就行了。因为一个图是二分图的充要条件是图中无奇圈,即图中无长度为奇数的回路,因此,从一个点出发,将它染成黑色(0),再将它相邻的点染成白色(1),然后从相邻的点出发,去染其它的点,当出现颜色相同的两个点相邻时,就可判断该图不是二分图。 求最大匹配即很好办了,直接套原创 2014-12-23 11:51:26 · 486 阅读 · 0 评论 -
hdu1286
一道红果果的水题,但刚开始的时候还是原创 2014-10-20 21:18:46 · 513 阅读 · 0 评论 -
hdu1754
线段树的模板题,代码如下:原创 2014-11-21 19:28:24 · 359 阅读 · 0 评论 -
hdu2648(map)
一道简单的用map映射解决的问题,原创 2014-10-20 21:24:00 · 571 阅读 · 0 评论 -
hdu 1022(Train Problem)
就是一道考栈结构运用的题,挺简单的,用数组实现一下就行了。 代码如下:#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int M=1010;const int N=100010;int n;c原创 2015-01-04 17:04:55 · 403 阅读 · 0 评论 -
hud 3415(单调队列)
题意:给出n个数的循环序列,要求长度不超过k的连续子序列之和的最大值。 分析:单调队列求解。单调队列就是有单调性的队列,可以从两端删除元素,但还是只能从 队尾添加元素。可以认为这种队列前面存的是过期的值,后面存的是还有用的 值。 单调队列一般用来求解固定区间原创 2015-01-07 16:51:01 · 441 阅读 · 0 评论 -
hdu 3706
就是一道用单调队列求区间最小值的问题,然后把每个区间的最小值累乘起来。 代码如下:#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const int M=1010;c原创 2015-01-09 16:29:39 · 791 阅读 · 0 评论 -
hdu 3530(双单调队列)
题意: 给n个数,求一个最长连续子序列,在这个子序列中,最大值与最小值之差要在区间[m,k]内,输出这个子序列的长度。 分析:用两个单调队列,一个递增,一个递减,然后枚举区间尾,不断维护两个队列,需要注意的是,当队首元素之差小于m时,不需要更新队列(因为如果后面有更大的元素进来,差可能就会大于等于m),而当队首元素之差大于k时,将两个队列中较小的队首出队,并用last标记,表示这是最原创 2015-01-09 14:48:13 · 555 阅读 · 0 评论 -
hdu 3410(单调队列)
题意: 给出一个数组a[],问你对于第i个数,从最后一个比它大的数到它之间比它小的数中最大的那个数的下标,以及它右边到第一个比它大的数中比它小的数中最大的那一个数的下标。 eg:a[]= 5 2 4 3 1 left 0 0 2 0 0 对5来说左边比它小的数没有,所以是0。对2来说左边比它小的数没有,所以是0。对4来说左边比它小原创 2015-01-10 10:08:47 · 710 阅读 · 0 评论 -
hdu 5455
水题,对字符串简单处理一下就好了。#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long long原创 2015-09-19 20:31:56 · 440 阅读 · 0 评论