摘要: 超猥琐的题目,该怎么说,用a做01背包的体积,b做价值,然后pascal有一个很好的机制,可以使用负数做下标,但是C没有,于是乎就像到了指针,具体实现机制看代码吧,然后就是还有一个,初始状态f[0]=0,f[i] = -∞,然后要维护DP的界,代码如下:#include <stdio.h>#include <stdlib.h>int a[100], b[100];int f_[200001];int (*f);int ans;int main(int argc, char **argv){ int n; int i, j; int max = 0, min = 0; s 阅读全文
posted @ 2011-07-18 13:39 zqynux 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 啊啊啊啊,越来越没用了,这么简单的题不知道提交了多少次。!~~ 直接模拟就是,不好维护的是最大高度,因为高度的范围是(0, maxin),但是这个maxint是pascal的,是32767,所以果断用used[i]保存高度为i的有多少人。 代码:#include <stdio.h>#include <stdlib.h>#define MAX 500000int used[32768];int queue[MAX];int head, rear;int count;int max;void enqueue(int k){ count++; used[k]++; queue 阅读全文
posted @ 2011-07-18 10:08 zqynux 阅读(174) 评论(0) 推荐(0) 编辑