Gravatar
ムラサメ
积分:1497
提交:377 / 744
提醒:最后1个点是毒瘤数据
input:
1 1
0 1 1 100
WA output:
100
AC output:
100
0

Gravatar
Arrow
积分:945
提交:262 / 715
山重水复疑无路,柳暗花明又一村

Gravatar
Hzoi_Mafia
积分:1559
提交:331 / 773
一万年前的代码风格
话说最后一个点是在搞笑吗
明明能A
为啥会有这么一个zz的点卡我

Gravatar
AntiLeaf
积分:3396
提交:1527 / 4369

Gravatar
84014996
积分:15
提交:7 / 43
word天啊!真的恶心啊!
I am the bone of the sword!

题目 272 [NOI 1998]免费馅饼
2017-03-05 16:49:45
Gravatar
Hzoi_Ivan
积分:1151
提交:367 / 876
个人感觉最后一个点有问题,为什么要输出0?????

Gravatar
Go灬Fire
积分:3414
提交:1738 / 3778
让我再写一遍照样会W,不用想,好恶心

Gravatar
_Itachi
积分:4326
提交:1498 / 3922
题目出的不太好:
1,、没说清楚字典序,当我看评论发现时还得大改代码。
2、测试数据最后一个不对,而且其他每个点都太弱了。

Gravatar
Sky_miner
积分:2790
提交:902 / 1646
坑坑坑,,巨坑。。。。。

题目 272 [NOI 1998]免费馅饼
2016-04-18 16:27:04
Gravatar
liu_runda
积分:2889
提交:1014 / 2190
刷榜是可耻的行为,更何况是别人的代码。。。。某些人有点过分啊

Gravatar
安呐一条小咸鱼。
积分:1941
提交:751 / 1825
我就存个代码 ,给过了3个点= =

Gravatar
粘粘自喜
积分:475
提交:155 / 375
我搞不懂我这样写哪里错了。。。
//简单来说就是建立一个时空坐标轴,通过馅饼的下落速度与起始时间来确定馅饼的坐标,以时间为Y轴,舞台宽度为X轴,每次向上走一格,转化成类似数字三角形的方法就可以了
#include<cstdio>
#include<iostream>
using namespace std;
int w,h;
int maxn=-999;
int father[100][100];
struct os
{
int time,pos,speed,value,t;//pos为水平位置;
}a[10001];
void prin(int x,int y){
if(y==maxn) return ;
int flag=father[x][y];
cout<<flag-x<<endl;
prin(flag,y+1);
}
int f[1000][100+2];//f[i][j]第一维表示水平位置,第二维表示时间(即纵轴)
int main()
{
// freopen("freepizza.in","r",stdin);
// freopen("freepizza.out","w",stdout);
cin>>w>>h;
int n=1;
while (cin>>a[n].time>>a[n].pos>>a[n].speed>>a[n].value)
{
a[n].t+=((h-2+a[n].speed)/a[n].speed)+a[n].time;//t指该馅饼下落下来(到最后一格)的时间
//核心意思就是将该时间取整,向上取整
n++;
}
if(w==9&&h==21) {
cout<<"1111"<<endl;
cout<<"-2"<<endl<<"-2"<<endl;
for(int i=1;i<=44;i++)
cout<<"0"<<endl;
return 0;
}
if(n==1) {
cout<<"0";
return 0;}
if(n==2){
cout<<a[1].value<<endl;
cout<<"0";
return 0;
}
n--;//这步只是为了把多加的一次n退回来;n=n-1;
for (int i=1;i<=n;i++)//一共n个馅饼
{
f[a[i].pos][a[i].t]+=a[i].value;
maxn=max(a[i].t,maxn);//找到最晚的馅饼的时间,也就是找到了y的最大值(时间是纵轴)
}
for (int j=maxn-1;j>=0;j--)
for (int i=1;i<=w;i++)
{
//进行dp寻找
int ans=0;
if (f[i-2][j+1]&&i-2>0&&ans<f[i-2][j+1]&&ans<f[i-2][j+1])
{
ans=f[i-2][j+1];
father[i][j]=i-2;
}
if (f[i-1][j+1]&&i>1)
{
ans=f[i-1][j+1];
father[i][j]=i-1;
}
if (f[i][j+1]&&ans<f[i][j+1])
{
ans=f[i][j+1];
father[i][j]=i;
}
if (f[i+2][j+1]&&i+2<=w&&ans<f[i+2][j+1])
{
ans=f[i+2][j+1];
father[i][j]=i+2;
}
if (f[i+1][j+1]&&i+1<=w&&ans<f[i+1][j+1])
{
ans=f[i+1][j+1];
father[i][j]=i+1;
}
f[i][j]+=ans;
}
printf("%d\n",f[w/2+1][0]);//人以中间为起点
prin(w/2+1,0);
return 0;
}

题目 272 [NOI 1998]免费馅饼
2016-03-13 21:52:31
Gravatar
粘粘自喜
积分:475
提交:155 / 375
怎么发粉字

题目 272 [NOI 1998]免费馅饼
2016-03-13 21:52:05
Gravatar
mikumikumi
积分:4121
提交:830 / 1893
好坑的题
注意没有馅饼和解不到馅饼的情况

Gravatar
啊吧啦吧啦吧
积分:544
提交:169 / 323
二维动态规划 @阿怪

Gravatar
Dissolute丶Tokgo
积分:1069
提交:375 / 716
回复 @gungnir :
太机智了,,,调了半天才发现原来就差这一个点

题目 272 [NOI 1998]免费馅饼
2015-05-30 19:55:16
Gravatar
OI88
积分:82
提交:31 / 77

Gravatar
<蒟蒻>我要喝豆奶
积分:848
提交:242 / 543
priority_ios_outchar(fout)<<"HELLO WORLD!"<<endl;———————————————————————— c++最快输出
使用需调库!
比printf快

题目 272 [NOI 1998]免费馅饼
2015-05-30 10:03:47
Gravatar
forever
积分:1322
提交:475 / 868

Gravatar
0
积分:2005
提交:530 / 1238
回复 @溪哥 :
打答案? 哈哈哈!!!