63 条题解
-
0
k103701 LV 10 @ 2008-11-13 08:11:48
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 56ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:56ms
竟然是无限背包 -
02008-11-13 08:10:45@
program code;
var s:ansistring;
i,j,l,k,n:longint;
a:array[1..300] of longint;
procedure find(k,p:longint);
begin
a[p]:=trunc(sqrt(k));
if a[p]*a[p] -
02008-11-13 08:06:45@
办证 138546XXXXX
-
02008-11-13 07:59:53@
我根据拉格朗日定理做的,为什么只对了前4个???
-
02008-11-13 07:50:36@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
dfs 随便过.... -
02008-11-13 07:29:00@
procedure get(x:longint);
var i,j,k,l,t1:longint;
beginfor i:=256 downto 0 do
if i*i=x then
begin
deal(i,j,k,l);
exit;
end;
for i:=256 downto 0 do
begin
if i*i>x then continue else
for j:=trunc(sqrt(x-i*i))+1 downto 0 do
if i*i+j*j=x then
begin
deal(i,j,k,l);
exit;
end;
end;
for i:=256 downto 0 do
begin
if i*i>x then continue else
for j:=trunc(sqrt(x-i*i))+1 downto 0 do
if i*i+j*j>x then continue else
for k:=trunc(sqrt(x-i*i-j*j))+1 downto 0 do
if i*i+j*j+k*k=x then
begin
deal(i,j,k,l);
exit;
end;
end;
for i:=256 downto 0 do
begin
if i*i>x then continue else
for j:=trunc(sqrt(x-i*i))+1 downto 0 do
if i*i+j*j>x then continue else
for k:=trunc(sqrt(x-i*i-j*j))+1 downto 0 do
if i*i+j*j+k*k>x then continue else
for l:=trunc(sqrt(x-i*i-j*j-k*k))+1 downto 0 do
if i*i+j*j+k*k+l*l=x then
begin
deal(i,j,k,l);
exit;
end;
end;
end;枚举哦···
好像是某定理····
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-11-13 06:47:10@
不是无限背包吗?
-
02008-11-13 05:56:43@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms动归+交表+ansistring+writeln(s)
-
02008-11-13 12:10:23@
我靠又是密码
大家保持MS楼下那群人一堆废话
应该是恰好背包
我靠!>=写成了>结果改了4个小时! -
02008-11-13 00:09:34@
如果有多解,则输出第一个矩阵大的,如果第一个一样则输出第二个,以此类推.
什么意思? -
02008-11-12 23:13:49@
dfs
-
02008-11-12 21:57:42@
DP!
-
02008-11-12 18:25:11@
又来密码。。
-
-12009-11-04 23:14:01@
范围看错、、看成10^16了、、太不仔细了、
-
-12009-10-22 20:33:24@
神似记忆化的广搜,0ms AC
-
-12009-10-22 00:31:50@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms竟然没有一个C的程序出现,看起来真郁闷..
第3组数据的n过不了,所以CHEAT了...用的不是完全背包的状态转移方程,不过本质上一样...
然后不小心发现了任意自然数可以表示四个非负整数的平方和..
后面查了下这个四平方和定理,嗯,长见识了.#include
#include
#includelong n,a[6]={0};
char s[66001];
long f[66001],g[66001];long Sqrt(long x)
{
int i=1;
while(i*i=65 && n -
-12009-09-13 20:40:43@
未加优化的dp~
可惜没秒杀 -
-12009-08-06 14:23:19@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 9ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:9ms
爽哉 -
-12009-07-30 10:13:03@
55555555我哪里错了。。高手指点一下....(本人菜鸟)
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案错误...
├ Hint: 长度为69 ├ 标准行输出 I ona...
├ 错误行输出 ItosI...
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案错误...
├ Hint: 长度为1500 ├ 标准行输出 ...TykNveK...
├ 错误行输出 ...TykBAhD...
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案错误...
├ Hint: 长度为15500 ├ 标准行输出 unMMZ...
├ 错误行输出 uVVXo...
├ 测试数据 09:答案错误...
├ Hint: 长度为35500 ├ 标准行输出 CUWgX...
├ 错误行输出 CGWHQ...
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:60 有效耗时:0msprogram ks;
var s:ansistring;
a:array[1..10000] of array[1..300,1..300]of char;
c:array[1..10000]of longint;
n,k,j,i,t,p:longint;
begin
readln(s);
n:=length(s);
k:=256;
while n0 do
begin
while k*k>n do
dec(k);
j:=n div (k*k);
for i:=1 to j do
begin
inc(t);
c[t]:=k;
end;
n:=n mod (k*k);
end;
k:=0;
for p:=1 to t do
begin
for i:=1 to c[p] do
for j:=1 to c[p] do
begin
inc(k);
a[p]:=s[k];
end;
end;
for p:=1 to t do
begin
for j:=1 to c[p] do
for i:=1 to c[p] do
write(a[p]);
end;
writeln;
end. -
-12009-07-22 23:44:35@
竟然相信第三个点长度为69...郁闷了...
其实是71 ...