|
我搞不懂我这样写哪里错了。。。
//简单来说就是建立一个时空坐标轴,通过馅饼的下落速度与起始时间来确定馅饼的坐标,以时间为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
|
|
怎么发粉字
题目 272 [NOI 1998]免费馅饼
2016-03-13 21:52:05
|
|
最后一题简直作死啊..
页面 62 CKOI比赛预告!
2016-03-13 21:17:15
|
|
|
|
让我粘一下正解
|
|
Warning为何关闭流与SCANF的同步,原先的字符串操作就不行了,全部E掉。
题目 2071 复制&粘贴
2016-03-13 11:15:45
|
|
看不懂题 我面壁去了....
题目 759 [CodoJam2012] 与 Googler 共舞
2016-03-13 11:08:54
|
|
VIP DFS
|
|
题目 1706 [POJ 3145] 永远和谐
2016-03-13 10:03:56
|
|
网上当的线段树模板,莫名其妙rank1.。。
开始还想写并查集
题目 1706 [POJ 3145] 永远和谐
2016-03-13 10:02:28
|
|
为什么把for循环倒过来写就对了???
|
|
有人知道这东西的威力吗 |
|
额……谁能解释比赛去哪里了?
并未找到CKOJ……
页面 62 CKOI比赛预告!
2016-03-12 22:52:34
|
|
应该可以用单调栈优化
|
|
dp
|
|
页面 62 CKOI比赛预告!
2016-03-12 18:50:16
|
|
比赛的网址是多少???
页面 62 CKOI比赛预告!
2016-03-12 11:39:00
|
|
|
|
回复 @ ‘ : 233
题目 20 [HAOI 2005]破译密文
2016-03-12 11:02:22
|
|
除法慢成屎....
|