63 条题解
- 
  0k103701 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
 竟然是无限背包
- 
  0@ 2008-11-13 08:10:45program 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]
- 
  0@ 2008-11-13 08:06:45办证 138546XXXXX 
- 
  0@ 2008-11-13 07:59:53我根据拉格朗日定理做的,为什么只对了前4个??? 
- 
  0@ 2008-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 随便过....
- 
  0@ 2008-11-13 07:29:00procedure 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
- 
  0@ 2008-11-13 06:47:10不是无限背包吗? 
- 
  0@ 2008-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) 
- 
  0@ 2008-11-13 12:10:23我靠又是密码 
 大家保持MS楼下那群人一堆废话 应该是恰好背包 
 我靠!>=写成了>结果改了4个小时!
- 
  0@ 2008-11-13 00:09:34如果有多解,则输出第一个矩阵大的,如果第一个一样则输出第二个,以此类推. 
 什么意思?
- 
  0@ 2008-11-12 23:13:49dfs 
- 
  0@ 2008-11-12 21:57:42DP! 
- 
  0@ 2008-11-12 18:25:11又来密码。。 
- 
  -1@ 2009-11-04 23:14:01范围看错、、看成10^16了、、太不仔细了、 
- 
  -1@ 2009-10-22 20:33:24神似记忆化的广搜,0ms AC 
- 
  -1@ 2009-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
- 
  -1@ 2009-09-13 20:40:43未加优化的dp~ 
 可惜没秒杀
- 
  -1@ 2009-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
 爽哉
- 
  -1@ 2009-07-30 10:13:0355555555我哪里错了。。高手指点一下....(本人菜鸟) 编译通过... 
 ├ 测试数据 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.
- 
  -1@ 2009-07-22 23:44:35竟然相信第三个点长度为69...郁闷了... 
 其实是71 ...