257 条题解
-
0香蕉派 LV 9 @ 2009-07-25 14:07:51
最长不下降序列变形一下,加点字符串操作就ok了。。。
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-07-24 18:54:10@
Dp...
-
02009-07-23 15:24:47@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
秒杀…… -
02009-07-23 09:26:53@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar i,j,b,max,n:longint;
st:array[0..2003]of string;
w:array[0..2003]of longint;
beginreadln(n);
for i:=1 to n do readln(st[i]);
for i:=1 to n do
begin
w[i]:=1;
for j:=1 to i-1 do
if (pos(st[j],st[i])=1)and(w[j]+1>w[i]) then w[i]:=w[j]+1;
end;
max:=0;
for i:=1 to n do if w[i]>max then max:=w[i];
write(max);end.
-
02009-07-21 16:16:40@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms哇丫丫 本来这么的水题应该一次AC的
可是...
没想到 我更水
在最长上升子序列中 我无敌的把f[n]当做最长的
忘了要在f[1],f[2],...f[n]中寻找最大值
!!! (#‵′)
看来基础的东西时间一长 都要忘了啦.....---|---|---|---|---|---|---|---|---|晒程序了---|---|---|---|---|---|---|---|---|---|-
var i,n,j,max:longint;
s:array[0..2002] of string;
f:array[0..2002] of longint;
begin
filldword(f,sizeof(f)shr 2,1);
readln(n); readln(s[1]);
for i:=2 to n do
begin
readln(s[i]);
for j:=1 to i-1 do
if(pos(s[j],s[i])=1)and(f[i] -
02009-08-20 21:53:04@
忘记怎么优化了、、- -
-
02009-07-19 21:11:30@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
真的是裸裸的穷举,裸裸的ac,裸裸的秒杀。留念55题。 -
02009-07-02 22:01:27@
把1
-
02009-06-25 01:49:31@
#include
using namespace std;
int r,n,f[2001];
string p[2001];
bool is(int j,int i)//可以用矩阵 g[j,i]记忆化 或 预处理一下O(n^2)
{
if(p[j].length() >= p[i].length()) return false;
for(int x = 0;x < p[j].length();++x) if(p[j][x] != p[i][x]) return false;
return true;
}
int main()
{
cin >> n;
for(int i = 0;i < n;++i)
{
cin >> p[i];
f[i] = 1;
for(int j = 0;j < i;++j) //可以用二分 整体O(Nlogn) 效率
if(is(j,i)) f[i] = max(f[i],f[j]+1);
r = max(r,f[i]);
}
cout -
02009-06-23 19:39:20@
program onf;
type
h=record
s:string;
m:integer;
end;
var
a:array[1..20000]of h;
n,i,j,k,x,y:integer;
s1,s2:string;
begin
readln(n);
readln(a[1].s);
a[1].m:=1;
for i:=2 to n do
begin
readln(a[i].s);
a[i].m:=1;
for k:=1 to i-1 do
begin
y:=0;
for j:=1 to length(a[k].s) do
begin
if a[k].s[j] a[i].s[j] then break
else inc(y);
end;
if y=length(a[k].s) then a[i].m:=a[i].m+1;
end;end;
for i:=1 to n-1 do
if a[i].m -
02009-06-02 18:13:51@
神牛助我秒杀,谢谢神牛们。
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-05-14 19:49:14@
AC年代最蹉跎的AC。。。。
先是把debug时的中间过程打出来了,程序输出比标准答案长。。。。
然后交上去最后一个点超时。。。怒,改DP,0ms -
02009-05-10 15:48:27@
void work()
{
int f[2005],re=0;
memset(f,0,sizeof(f));
for(int i=1;i -
02009-04-06 15:51:36@
最讨厌这种题
他竟然欺负我语文水平差 一个简单的动规搞得这么麻烦 -
02009-03-27 12:48:04@
真的好水
-
02009-03-25 19:47:10@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar
a:array[1..10000] of string;
c:array[1..10000] of integer;
max,i,j,n:integer;
begin
readln(n);
for i:=1 to n do readln(a[i]);
for i:=1 to n do
for j:=1 to n do
if (pos(a[j],a[i])=1) then c[i]:=c[i]+1;
max:=c[1];
for i:=2 to n do if max -
02009-03-22 15:19:52@
for i:=1 to n do
for j:=1 to n do
if (pos(a[j],a[i])=1) then c[i]:=c[i]+1;
裸裸的穷举,裸裸的ac -
02009-03-21 12:40:09@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms水题
type jp=record
self:string;
long:integer;
end;
var
i,j,n,l,k:integer;
b:array[1..2000]of jp;
begin
readln(n);
for i:=1 to n do
begin
readln(b[i].self);
b[i].long:=1;
end;
for i:=n-1 downto 1 do
for j:=i+1 to n do
if (pos(b[i].self,b[j].self)=1)and(b[j].long+1>b[i].long) then
b[i].long:=b[j].long+1;
j:=-maxint;
for i:=1 to n do if b[i].long>j then j:=b[i].long;
writeln(j)
end. -
02009-03-15 21:09:52@
水题哦,我是用的穷举,大家判断是否包含的时候要判断=1,而不是0.
-
02009-03-11 20:30:18@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 40ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:40ms
program tt;
var i,j,n,m,k,sf:integer;
a:array[1..20]of string;
b:array[1..20]of integer;
begin
readln(n);
for i:=1 to n do begin
b[i]:=1;
readln(a[i]);
end;
for i:=2 to n do
for j:=1 to i-1 do
if length(a[j])b[i] then
b[i]:=b[j]+1;
end;
m:=0;
for i:=1 to n do
if b[i]>m then m:=b[i];
writeln(m);
end.