自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 poj 1703

链接:http://poj.org/problem?id=1703一道简单的并查集+偏移量的题,我规定 visa[i] = i->f[i] , vis[i] == 1 时,i 和 f[i] 不在同一阵营,否则在同一阵营。#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cst

2016-08-23 23:45:14 282

原创 poj 1182

链接:http://poj.org/problem?id=1182 通过这道题让我了解了并查集+偏移量的应用,原来并查集的集合中的各个元素不必是具有想同属性的,二十只要元素之间存在某种关系就可以。 这道题多了个偏移量的感念,我们用vis[i] 储存 i 节点与他的父节点的关系。 可以把它看作一个向量 vis[i] = i -> f[i]。 我规定i 与 vis[i] 相等时 vis[i] = 0

2016-08-23 20:43:46 206

原创 lightoj 1003

这道题应用拓扑排序判断一下有没有环就好了,这里我用了下map初始化方便好多(第二次用==)。#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>#include <map>using namespace std;const int N = 100000+10;map<string,int>

2016-08-22 23:35:25 328

原创 对并查集的一点点想法..

最近我遇到了这样一个问题: 有n个黑社会的分别属于两个不同的帮派,狗狗帮和猪猪帮。 你将得到m条信息: (1) D a b 表示小a和小b不在一个帮派。 (2) A a b 询问小a和小b是否在一个帮派 。样例输入: 1 5 5 A 1 2 D 1 2 A 1 2 D 2 4 A 1 4 样例输出: 不确定是否在一个帮派。 在不同的帮派。 在一个帮派。 题意分析

2016-08-22 01:12:58 289

原创 zzuli 1895

Description985有一个长度为n的0-1串,已知他最多可以修改k次(每次修改一个字符即0->1 或者 1->0),他想知道连续的全1子串最长是多少。Input第一行输入一个整数t,代表有t组测试数据。每组数据第一行输入两个整数n,k分别代笔上面的信息。注:1 <= t <= 12,1 <= n <= 100000,0 <= k <= 100000。Output一个整数代表可以得到的最大长度

2016-08-18 10:40:43 379

原创 zzuli 1919

SubmitStatusWeb BoardDescription晴天想把一个包含n个整数的序列a分成连续的若干段,且和最大的一段的值最小,但他有强迫症,分的段数不能超过m段,然后他就不会分了。。。他想问你这个分出来的和最大的一段的和最小值是多少?Input第一行输入一个整数t,代表有t组测试数据。 每组数据第一行为两个整数n,m分别代表序列的长度和最多可分的段数。 接下来一行包含n个整数表示

2016-08-18 10:19:23 283

原创 OpenJ_Bailian 4120 dp

解题思路:n个数随意组合,共有2的n次方种组合。设可以到达x的方法有m中,如果缺少了元素 arr[i] ,m=0 ,那么arr[i]就是不可缺少了。 我们用数组f[n] 表示到达 n 的方法有 f[n] 中,数组g[n] 表示在缺少元素 arr[i] 的情况下,到达n的方法,哎,我们就可以用f[n]不断地求出g[i]了。这样就有:#include <iostream>#include <algo

2016-08-15 09:58:59 366

原创 zzuli 1904

感觉很奇妙的一道dp题,感觉莫名其妙不知道感觉不能解的题一般都是dp写>-< , 我只是学长解法的搬运工: 我们可以用动态规划解决,dp[i][j]表示进行了i次交易面对第j个价格的最大获利。那么 dp[i][j] = max(dp[i][j-1], max(dp[i-1][r-1] + a[j]- a[r])(r<=j)) 我们要找到最大的dp[i-1][k],如果再加一层循环的话就会超时

2016-08-11 11:05:22 518 2

原创 hud3336 kmp之对next数组的利用

链接:http://acm.hdu.edu.cn/showproblem.php?pid=3336题意:给一串字符串,问这串字符串所有的前缀总共在这个字符串中出现了几次。 举个例子:字符串abab。a出现了2次,a出现了2次,aba1次,abab1次,总共6次。 准备工作 : 解这道题就要对kmp算法中的next[] 数组有着深刻的理解,如字符串str的next[i] = j。就代表 str中

2016-08-05 11:41:57 358

空空如也

空空如也

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

TA关注的人

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