1 /** 2 大意:给定一个建筑--水平放置,给定n个障碍物,
给定一条街道,从街道上能看到整个建筑的最长的连续的区域 3 思路:
分别确定每一个障碍物所确立的盲区,即----建筑物的终点与障碍物的起点的连线,建筑物的起点与障碍物的终点的连线。。这段区域即为盲区,,,有多个盲区,需要去重。...
分类:
其他好文 时间:
2014-05-13 20:38:27
阅读次数:
349
撸了一下Poi 2014
,看了一下网上题解不多,所以决定写一下。有的题应该是数据不强水过去了,等北京回来在写一下复杂度比较靠谱的代码 o(╯□╰)o第一题:
题意是给定一个长度不大于1000000,只包括p和j的串,求一个最长的子串,要求子串任何一个前缀和后缀都满足p的数量不少于j的数量。 首.....
分类:
其他好文 时间:
2014-05-13 10:22:39
阅读次数:
332
最长公共子序列是动态规划基本题目,下面按照动态规划基本步骤解出来。
1.找出最优解的性质,并刻划其结构特征
序列a共有m个元素,序列b共有n个元素,如果a[m-1]==b[n-1],那么a[:m]和b[:n]的最长公共子序列长度就是a[:m-1]和b[:n-1]的最长公共子序列长度+1;如果a[m-1]!=b[n-1],那么a[:m]和b[:n]的最长公共子序列长度就是MAX(a[:m-1]和...
分类:
编程语言 时间:
2014-05-13 07:57:53
阅读次数:
538
dp[ i][j]=max(四个方向点)+1;
四个方向上的点应该存在,且大于i,j,表示以i,j开始的点最长路径,递归的结束条件不用判断,因为 dp[][]最大数位置肯定
直接结束,随后次大值肯定能结束,以此类推,所以可以执行,但自下而上动态规划不好写。因为要确定这些数的大小,麻烦。 #inclu...
分类:
其他好文 时间:
2014-05-12 21:21:23
阅读次数:
323
思路:先读入的一列是原始串,后读入的一列是目标串。最少操作次数的方式是,从下到上,只对原始串进行删除而不放到最上面能得到的目标串的以最下元素开头的最长子串,然后将目标串剩余的那些按序放在最上方,即按由下到上的顺序输出即可。
Code:
//#define LOCAL
#include
#include
#include
char name[210][90];
char target[210]...
分类:
其他好文 时间:
2014-05-11 21:42:42
阅读次数:
310
题目链接:点击打开链接
题意:
给定一个字符串str 求字符串str的
循环节个数为 1-len 个的
最长子串长度
思路:套用kmp的性质
#include
#include
#include
using namespace std;
#define n 1300
void getnext(char str[n],int next[n]){
int m=strlen(str);...
分类:
其他好文 时间:
2014-05-08 17:12:53
阅读次数:
330
HDU 4571
大概题意:n个点(
解法:
容易看出应该用spfa和dp来解。关键时对visit和pass点的处理。
通过floyd预处理出visit每个点对之间的最小边消耗。然后,加一个超级源点和一个超级终点。超级源点负责pas点s能够到达的点,超级终点负责那些能越过e的点
由于visit的点的moneyp值必须严格升序所以也可以拓扑之后dp
不能用dij,因为本题时求最长...
分类:
其他好文 时间:
2014-05-08 17:12:27
阅读次数:
408
问题描述:给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](0求一个字符串的最长回文子串和最长重复子串。
算法讲解:设next[i]为满足B[i..i+z-1]==B[0..z-1]的最大的z值(也就是B的自身匹配)。设目前next[0..lenB-1]与ex[0..i-1]均已求出,要用它们来求ex[i]的值。
设p为目前A串中匹配到的最远位置...
分类:
其他好文 时间:
2014-05-08 16:10:14
阅读次数:
301
时间限制:300MS 内存限制:1000K提交次数:255 通过次数:118题型:
编程题语言: 无限制DescriptionA numeric sequence of ai is ordered if a1
a[j],j大于等于1且小于i,i>1;(3)f(i) = 1 当对任意j,(j大于等于1...
分类:
其他好文 时间:
2014-05-08 06:18:11
阅读次数:
682