250 条题解
-
0largefind LV 7 @ 2009-11-05 21:51:42
编译通过...
├ 测试数据 01:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 02:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 03:答案错误...
├ Hint: 注意:每个点最多只有四个出发的方向,但不代表最多只有四个到达的方向! ├ 标准行输出
├ 错误行输出├ 测试数据 04:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 05:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 08:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 09:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 10:运行超时...
-
02009-11-05 10:11:27@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
题目应该清楚一点! -
02009-11-08 10:34:41@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 72ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:72ms我晕,Sunny居然害我没秒杀!!!
我气死了
交了无数次
原来要来回扫两次
有哪位神牛可以给出证明为什么不要扫三遍不? -
02009-11-03 00:19:24@
是有环的DP。
先通过下一层求出本层的值。 再在本层向两个方向更新最小值。
如果当成图论题,用DIJKSTRA 可能过不了。 -
02009-11-01 16:47:58@
编译通过...
├ 测试数据 01:答案正确... 41ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 134ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 119ms
├ 测试数据 09:答案正确... 119ms
├ 测试数据 10:答案正确... 462ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:875msEASY评测
编译通过...
├ 测试数据 01:答案正确... 259ms
├ 测试数据 02:答案正确... 9ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 88ms
├ 测试数据 06:答案正确... 353ms
├ 测试数据 07:答案正确... 25ms
├ 测试数据 08:答案正确... 291ms
├ 测试数据 09:答案正确... 369ms
├ 测试数据 10:运行超时...
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:90 有效耗时:1394msSUNNY评测
怀念PUPPY= =顺便ORZ秒杀大牛
裸DP
每层从下往上、从最小的从左向右
再从最小的从右向左~ -
02009-10-31 21:13:19@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms用SPFA实现方程转移
#include
#define mm 1000010
using namespace std;int f[1001][1001],v[1001][1001],a[1001][1001],n,lx[mm],ly[mm];
void init(){
scanf("%d",&n);
for (int i=1;i -
02009-10-30 20:12:50@
题目描述的山其实就是一个圆形的嘛,讲得不清不楚的。
自底向上DP, 先生成自底向上所有情况的数组F,再寻找最小数,然后分别向左,向右到头,到尾修改F一次,再返回修改F一次。 这样就对了.最底下一行的初始化很重要,注意要从(1,1) 开始
这题交了好多次, 竟然把对f的特殊处理写成了 if j-1=0 then j:=i;
失败啊,要不然就一次AC了。现在才发现其实静态查错也是很重要的。
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-10-30 10:53:31@
自底向上的dp,dp到一层时得到的是次优状态,对于当前的这一层,运用bellman-ford宽搜得到最优状态!
-
02009-10-28 20:41:06@
来回搜
注意细节---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
广东实验中学观光团到此一游 -
02009-10-27 16:06:04@
来回扫一次, 只能90分。
所以,再扫一次。。。。
AC.... -
02009-10-26 12:53:32@
过了
-
02009-10-25 15:30:43@
编译通过...
├ 测试数据 01:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 02:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 03:答案错误...
├ Hint: 注意:每个点最多只有四个出发的方向,但不代表最多只有四个到达的方向! ├ 标准行输出
├ 错误行输出├ 测试数据 04:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 05:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 08:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 09:答案错误... ├ 标准行输出
├ 错误行输出├ 测试数据 10:答案错误... ├ 标准行输出
├ 错误行输出---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:10 有效耗时:0ms一直想不通为什么。。后来原来时初始化F[1,1]=1!!了郁闷
改了一次AC。。编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms为什么我都没有上面人士给出的HINT呢?不懂。。
总之时秒杀了//爽!
-
02009-10-25 15:29:06@
第一次:没考虑每行最后一段可以走到本行行首和更高一行行首,20分
第二次:来回扫一次,90分,第7个点WA
第三次:怒,来回再扫一次,AC了。。。 -
02009-10-21 22:50:45@
过的第一道这种要来回DP的题 一次AC
var
i,j,n,mi,now,k:longint;
f,a:array[1..1000,1..1000]of longint;
function min(a,b:longint):longint;
begin
if a -
02009-10-15 20:34:32@
program sunpig;
var
n:integer;
a,f:array [0..1001,0..1001] of longint;function min(a:longint;b:longint):longint;
begin
if a>b then exit(b)
else
exit(a);
end;procedure init;
var
i,j:longint;
begin
readln(n);for i:=1 to n do
begin
for j:=1 to i do
read(a);
readln;
end;
end;procedure dp;
var
i,t,j,k:longint;
begin
for i:=1 to n do
f[n,i]:=a[n,i];for i:=2 to n do
begin
f[n,i]:=f[n,i-1]+a[n,i];
if i=n then
f[n,i]:=min(f[n,1]+a[n,n],f[n,i-1]+a[n,n]);
end;for i:=n-1 downto 1 do
f[n,i]:=min(f[n,i],f[n,i+1]+a[n,i]);for i:=n-1 downto 1 do
begin
for j:=1 to i do
begin
if j=1 then
begin
f:=min(f,f)+a;
f:=min(f,f+a);
end elseif j=i then
begin
f:=min(f,f)+a;
f:=min(f,f+a);
end else
begin
f:=min(f,f)+a;
end;
end;f:=min(f,f+a);
for t:=2 to i do
f:=min(f,f+a);f:=min(f,f+a);
for t:=i-1 downto 1 do
f:=min(f,f+a);
end;
end;procedure print;
begin
writeln(f[1,1]);
end;begin
init;
dp;
print;
end.这道题要注意,真正的步法是左、右、上、左上,不能往右上走。
每层第一个,可以到达更高一层的最后一个,每层最后一个可以到达更高一层的第一个。 -
02009-10-14 20:32:41@
program p1006;
var
a,b :array[1..1001,1..1000]of integer;
i,j,n :integer;
procedure cut;
var
t:integer;
flag:boolean;
begin
flag:=true;
while flag do
begin
flag:=false;
for j:=1 to i doif b>b[i,j mod i+1]+a then
begin
b:= b[i,j mod i +1]+a;
flag:=true;
end;
for j:=i downto 1 do
begin
if j=1 then t:=i else t:=j-1;
if b>b+a then begin b:=b+a;
flag:=true; end;
end;end;
end;
procedure dp;
var
t:integer;begin
b[n,1]:=a[n,1];
for i:=2 to n do
b[n,i]:=b[n,i-1]+a[n,i];
i:=n;
cut;
for i:=n-1 downto 1 do
begin
j:=1; if b>b then
if b>b then b:=a+b
else b:=a+b
else
if b>b then b:=a+b
else b:=a+b;
j:=i; if b>b then
if b>b then b:=a+b
else b:=a+b
else
if b>b then b:=a+b
else b:=a+b;
for j:=2 to i-1 do
if b>b then b:=a+b else b:=a+b;
cut;
end;
end;begin
read(n);
for i:=1 to n do
for j:=1 to i do
read(a);
dp;
write(b[1,1]);
end.
哪位大牛告诉我,我的为什么过不了第十个点? -
02009-10-12 23:20:46@
经过艰辛的调试,我的程序终于过了!!我开始松弛操作用的小于等于,一直丑着。哎,细节决定成败呀!!!
用的spfa,思路不是动归。/*
ID: talenth1
PROG: 1006
LANG: C++
*/
#include
#include
#include
#include
const int maxn=500501;
int h,n,d[maxn],dh[]={0,0,-1,-1,0},dl[]={0,-1,-1,0,1};
int que[maxn],times[maxn],head=0,tail=1;
struct enode{
int v,s;
enode * link;
};
enode elist[maxn];
int min(int x,int y)
{
if(xv]&&relax(vi,p->v,p->s)){
tail++;
if(tail>n)tail=1;
que[tail]=p->v;
times[p->v]++;
if(times[p->v]>n){check=false;break;}
}
p=p->link;
}
visited[vi]=false;
}
}
int main()
{
freopen("P1006.in","r",stdin);
freopen("P1006.out","w",stdout);
int top;
scanf("%d",&h);
n=0;
for(int i=1;i -
02009-10-12 18:32:41@
三百二十章再度崛起
“嘿,回复了又能怎样?这仅剩的最后一半时间,难道你就想炼制出超过我鼎中的丹药?哈哈,做事可得量力而为啊,否则,徒惹人笑话罢了哈哈”冷笑着望着萧炎,炎利讥讽道。
笑了笑,萧炎并未理会他的嘲讽话语,袖袍轻挥,一股劲气将面前石台上的漆黑灰烬吹得开去,手指轻弹纳戒,顿时,一大堆的药材,再度摆满了石台。
身体笔直的站在石台之前,萧炎双手缓缓伸探而出,略微沉寂之后,一丝青色火苗,从他身体之上冒腾了出来,然后粘附着衣服表面,当第一缕青色火苗出现之后不久,一团团火焰,开始接连不断的从萧炎体内涌出,到得最后,青色火焰居然完全将萧炎包裹在了里面,熊熊青色升腾燃烧,将之渲染成了一个青色火人。
“些全部都是异火么?操纵这么多的异火,那需要多庞大的灵魂力量?”广场之上,一众炼药师目瞪口呆的望着那几乎变成一个火人的萧炎,忍不住的吸了一口凉气。
在萧炎身体上升腾起青火时,那正准备收丹的小公主与柳翎,也是被震得愣了下来,另外一旁的炎利,虽然脸色控制得极好,不过他那眼皮,却也是在此刻猛跳了起来,他想不明白,在经历了这种打击之后,这位年轻人,为什么还能够发挥出这般让人膛目惊舌地能力
“这个小家伙魂力量,似乎比先前强大了很多啊高台上,法犸惊诧的望着全身被包裹在火焰中的萧炎,欣慰的声音中略微有些艳羡:“他选择了正确的渠道,在压力中,获得了突破,这种雄浑的灵魂力量,即使公会中的一些长老,也难以比喻,他这次获不小!”
众所周知,炼药师地灵魂力量,并不能主动修炼,它只能随着时间的增加而变得雄浑,当然,万事无绝对,凡事都有着例外,在庞大的斗气大陆之上,并不乏一些机缘不错之人,则是能够因为好运,而身处各种奇异状态中,在那种玄之又玄的状态之下,运气好的人,便是能获得灵魂力量大增地赏赐,现在萧炎所表现出来的这种,便是与那情况,极为的相似,故而,就是连法犸这种炼丹大师,也忍不住的有些羡慕。
“现在他还有胜利的机会么?”海波东抚着胡须,笑着问道。
“不知道”微微摇了摇头,法犸轻叹道:“还是那句话,一切都得看岩枭的表现了虽然如今状态奇佳,可对方也不是省油的灯啊,这一次,恐怕又是一场凶险的龙争虎斗了。”
“他要开始炼制了海波东微微点了点头。望着场中地眼睛忽然一亮。
广场之上。全身被包裹在火焰之上地萧炎。手掌缓缓抬起。一股澎湃地青色火焰从指间处暴涌而出。旋即灌进药鼎之中。眨眼时间。汹涌地火焰。便是在鼎内翻腾着燃烧了起来。
凝望着药鼎中地火焰。萧炎手指轻弹。石台之上。几株药材。被他同时使用巧劲扇进了药鼎。顿时。青火涌上。将之包裹而进。然后开始了疯狂地焚烧与提炼。
此次萧炎地提炼。明显速度比刚才快上了许多。而且出手间。也再没有了那种畏手畏脚地谨慎之感。操控着异火时。也再无半点迟疑。举手投足间。隐隐有着许些从容不迫地气质。而这种气质。一般只会出现在那些经验极为丰富地炼丹大师身上。比如。法犸
一株株药材被萧炎丢掷而进。然后另外一只手。控制着将鼎中所提炼而出地精华材料。装盛进入玉瓶之中。在这般双手齐用。灵魂力量开至巅峰地情况下。石台之上所摆放地药材。正在以一个喜人地速度。迅速转换成炼制三纹青灵丹地精华材料
萧炎的再次振作炼丹,无疑是掀起了广场上的一波**,先前因为他地失败,而借机成为无数人寄托于希望的小公主与柳翎,已经因为实力不济,而逊色了炎利一筹,所以,在这种眼睁睁看着对方就欲取得本国冠军之时,原本最负骑王地萧炎的再度崛起,无疑是让得无数观众大松了一口气,因此,那广场两边席位之上地无数道目光,此时,几乎是全部的射向了广场中被包裹在青色火焰之中地人影,震耳欲聋的欢呼声,响彻着广场。
“哼”听得那些喧闹的欢呼声,炎利阴冷的眸子瞟了萧炎所在的方向一眼,望着他那行云流水般的炼制,眼中终于是掠过了一抹惊异与凝重,从对方忽然变得强大的灵魂力量以及从容的气度上来看,炎利心中清楚,这个年轻人不仅未被这次的失败打击得一蹶不振,反而是在绝地中取得了突破种心
种定力,实在是有些可怕。
“这个家伙果然还是有些底子,就是不知道究竟是哪个老家伙方才能够调教出这种学生?看他的表现,明显比那古河的弟子要优秀许多,嘿,丹王古河之名,也不尽属实啊,至少在教导学生这一项上,便是远远不如别人心中冷笑了一声,炎利将目光转回了自己那火焰熊熊的药鼎之中,透过药鼎的那透明镜面,他能够清楚的瞧见,那一枚在火焰中滴溜溜旋转的丹药雏形。
“快了要成功了”望着那即将成丹的雏形,炎利精神为之一振,稚嫩的面庞上,隐隐浮现一抹得意,他对自己所炼制的丹药,有着绝对的信心!
被包裹在火焰中的修长双手,不住的在石台上闪移着,而随着双手的快速移动,石台上的药材正在迅速减少着,而在另外一旁,装盛着精华材料的玉瓶,却是越来越多了起来。
此时的小公主与柳翎所炼制的丹药皆是已经成型,手掌一召间,便是将从药鼎中射飞而出的丹药装进了玉瓶之中,望着那不断从炎利药鼎中渗透而出的有色丹香,两人都是有些郁闷的低叹了一口气,旋即抬头,将目光也是投注向了萧炎所在的位置,现在,他又成为了那唯一有着许些机会超过炎利的人了。
加玛帝国炼药师大会的这次冠军之位,究竟花落谁家,便是要看萧炎的发挥了
然而,在所有人都不可发现的青色火焰之下,若是有人此刻能够看见的话,定然会感觉到目瞪口呆,因为那外界看上去似乎处于巅峰状态的萧炎,此时,却是紧闭着眸子,微蹙着眉头,看上去犹如是介入了一种似睡似醒的奇异状态之中。
然而虽然眼睛的确是闭上了,可在萧炎的感知中,外界的一举一动,却是几乎是比用肉眼看还要更加清晰,药鼎之中,澎湃的灵魂力量,让得他甚至能够极为明了的看见药材被火焰焚烧后,逐渐支离破碎,最后在高温中,留下了他所需要的某种精华材料
心中缓缓舒了一口气,萧炎能够感觉到,这一次的炼丹,是他至今为止,在未曾依靠着药老半点能力前提下,发挥得最为巅峰与完美的一次,在这状态之下,萧炎甚至有着敢与五品炼药师一争高低的豪情。
药鼎中那些被包裹在青色火焰中的药材,几乎是随着萧炎的心意翻转着,异火的温度,在此刻甚至是被他控制得与药方所记载的火候,分毫不差
“提炼完毕某一刻,石台上的材料终于被再度完全提炼,萧炎那紧闭的眼眸,这才缓缓睁开,身体略微沉寂了瞬间,袖袍猛然挥动,一股劲气将面前的二十多个玉瓶震得轰然爆裂,无形的劲气,将里面的精华材料吸取而起,然后全部投注进入药鼎之内,火焰立刻再度汹涌
这一次,萧炎的提炼时间,足足比上次缩短了将近一半之多
药鼎之中,青火翻腾,二十几种精华材料,在萧炎灵魂力量的寸寸包裹之下,缓缓的融合着。
时间,犹如流水一般,悄悄的从指尖划过,而此时,距离比赛结束时间,已经仅仅只有不到一个小时时间,另外一边的炎利,药鼎中所渗透而出的有色丹香,也是越来越浓,显然,他所炼制的丹药,即将要成形了!
“三纹青灵丹,要成功了
紧盯着场中的法犸,某一刻,忽然低声说了一句,不过他的脸庞上,却并未有着轻松的表情,因为他知道,仅仅依靠普通三纹青灵丹,根本不可能胜过炎利!
广场中,青火翻涌的药鼎,忽然猛的一静,一股淡淡丹香,飘散而出,一枚犹如翡翠般的青色浑圆丹药,在鼎内不断的旋转着。
随着丹药的旋转,那包裹在萧炎身体表面的青色火焰忽然开始了急速搜索,眨眼时间,青色火焰便是犹如潮水一般,退回了萧炎体内,而在当鼎内青火也即将完全消退之时,萧炎微微嚼动的嘴巴猛的一张,一口紫色火焰,再度狂喷而出,然后灌注进了药鼎之内。
望着那再度喷出紫火的萧炎,法犸的心在这一刻骤然提了起来,眼睛死死的盯着萧炎所在的方向。
这一次,若是再失败,冠军之位,则将与萧炎彻底无缘!而届时,炼药师公会的名声,也将会因此而大受损害!
(回家了,明天会码三更或者三更以上,来补偿上次还未还完的四更,另外,新的一周,请诸位看完更新后,顺手投点推荐票吧,每日一投,良好习惯,谢谢了
-
02009-10-11 15:26:11@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
很简单的dp,可以从上到下,上、上左、右、左各搜就可
头尾处理
f:=f;
f:=f; -
02009-10-10 21:33:14@
#include"stdio.h"
#include"string.h"
int s[10001][10001]={0,};
int dp[10001][1001]={0,0};
int main()
{int n;
int i;
int j;
int min;while(EOF!=scanf("%d",&n))
{for(i=1;i=1)//right
dp[i][j]=s[i][j]+dp[i][j-1];if(dp[i][j]>s[i][j]+dp[i][j+1]&&j+1