文章列表
南阳理工OJ 36 最长公共子序列
- 博客分类:
- 动态规划
连接: http://acm.nyist.net/JudgeOnline/problem.php?pid=36
最长公共子序列
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。
输入
第一行给 ...
南阳理工OJ 44 字串和 最大字串和
- 博客分类:
- 数学
连接: http://acm.nyist.net/JudgeOnline/problem.php?pid=44
子串和
时间限制:5000 ms | 内存限制:65535 KB
难度:3
描述
给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大,其中,1<= ...
南阳理工OJ 132 最长回文串
- 博客分类:
- 数学
连接 :http://acm.nyist.net/JudgeOnline/problem.php?pid=132
最长回文子串
时间限制:1000 ms | 内存限制:65535 KB
难度:4
描述
输入一个字符串,求出其中最长的回文子串。子串的含义是:在原串连续出现的字符串片段。回文的含义是:正着看和倒着看是相同的,如abba和abbebba。在判断是要求忽略所有的标点和空格,且忽略大小写,但输出时按原样输出(首尾不要输出多余的字符串)。输入字符串长度大于等于1小于等于5000,且单独占一行(如果有多组答案,输出第一组)。
连接: http://acm.nyist.net/JudgeOnline/problem.php?pid=17
单调递增最长子序列
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述
求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4
输入
第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000
输出
输出字符串的最长递增子序列
南阳理工OJ 33 蛇形填数
- 博客分类:
- 数学
连接: http://acm.nyist.net/JudgeOnline/problem.php?pid=33
蛇形填数
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:10 11 12 19 16 13 28 15 14 37 6 5 4
输入
直接输入方陈的维数,即n的值。(n<=100)
输出
输出结果是蛇形方陈。
南阳理工OJ 79 截拦导弹
- 博客分类:
- 动态规划
#include<stdio.h>
#include<string.h>
int main()
{
int f[20],p[20];
int T,i,j,n,max;
scanf("%d",&T);
while(T--)
{
max=0;
memset(p,0,sizeof(p));
scanf("%d",&n);
for(i=0;i<n;i++)
sca ...
南阳理工OJ 49 开心的小明(01背包模板)
- 博客分类:
- 动态规划
#include<stdio.h>
#include<string.h>
int n,m;
int v,p;
int f[30010];
void dp()
{
int i;
for(i=n;i>=v;i--)
if(f[i]<f[i-v]+v*p)
f[i]=f[i-v]+v*p;
}
int main()
{
int T,i;
scanf("%d",&T);
while(T--)
{
...
南阳理工OJ 286 动物统计(字典树模板)
- 博客分类:
- 数据结构
#include<stdio.h>
#include<malloc.h>
#include<string.h>
struct node
{
int date;
struct node * p[26];
}root;
char maxstr[15];
int maxnum;
void init(node *p)
{
p->date=0;
for(int i=0;i<26;i++)
p->p[i]=NULL;
}
node * xin()
{
node *p=(node *)malloc(si ...
南阳理工OJ 239 月老的难题(匈牙利模板)
- 博客分类:
- 匹配
#include<stdio.h>
#include<string.h>
#include<vector>
using namespace std;
#define M 505
vector<int>v[M];
bool mask[M];
int link[M];
int n,k;
bool findpath(int i)
{
int term;
for(int j=0;j<v[i].size();j++)
{
term=v[i][j];
...
#include<stdio.h>
#include<algorithm>
using namespace std;
#define max(a,b) a>b?a:b
struct point
{
int x,y,sheng,jiang;
}p[10010];
bool cmp(const point a,const point b)
{
return a.x<b.x;
}
int n;
int main()
{
int T;
int i,j;
int a;
int m;
...
南阳理工OJ 311 完全背包
- 博客分类:
- 动态规划
#include<stdio.h>
#include<string.h>
int f[50010];
int m,v;
int c,w;
void dp()
{
int i;
for(i=c;i<=v;i++)
if(f[i]<f[i-c]+w)
f[i]=f[i-c]+w;
}
int main()
{
int T;
int i;
scanf("%d",&T);
while(T--)
{
...
#include<stdio.h>
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int year[9604];
bool is_leay(int i)
{
return i%400==0||i%4==0&&i%100;
}
int main()
{
int i;
for(i=1;i<=12;i++)month[i]+=month[i-1];
for(i=1600;i<=9600;i++)
if(is_leay(i)) ...
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
#define max(a,b) a>b?a:b
int f[1001][1001];
char a[1001];
int n;
void dp()
{
int i,j;
for(i=0;i<n;i++)
for(j=n-1;j>=0;j--)
if(a[i]==a[j])f[i+1][n-j]=f[i][ ...
南阳理工OJ 456 邮票分你一半 差最小的两分
- 博客分类:
- 图的遍历
#include<stdio.h>
#include<string.h>
int w[1005];
bool f[50010];
int totle;
int ave;
int main()
{
int T;
int n,i,j;
scanf("%d",&T);
while(T--)
{
memset(f,0,sizeof(f));
f[0]=true;
scanf("%d",&n);
...
南阳理工OJ 523 亡命逃窜 3维宽度优先搜索
- 博客分类:
- 图的遍历
连接: http://acm.nyist.net/JudgeOnline/problem.php?pid=523
亡命逃窜
时间限制:1000 ms | 内存限制:65535 KB
难度:4
描述
从前有个叫hck的骑士,为了救我们美丽的公主,潜入魔王的老巢,够英雄吧。不过英雄不 ...