oj上已读的题目/好题

来源:互联网 发布:哪些域名不能备案 编辑:程序博客网 时间:2024/06/05 18:29

没错,下面就是读了但是还没写的题目
1293: [SCOI2009]生日礼物
显然的一个三进制状态,单调队列+前缀和维护一下就行?
当然要是存60个last我也不想说什么……
1217: [HNOI2003]消防局的设立
初看起来好像是树DP。但是可以贪心,肯定是中间有4个点的时候是最好的。然后对根进行一下特判。


以下是比较好(容易写挂)的题目
vijos P1376魔法卷轴
好像思路很显然的。
但是但是好容易写挂啊TAT
1.如果一个东西开光还不如不开光,那就直接卖了。
2.如果所有东西卖了都买不起开光卷轴就直接卖了。
3.如果用一开始的普通物品能买得起卷轴就直接买了然后反复利用。
4.如果不能满足前面的三点,那么我们对魔法物品进行0-1背包,然后要求的是能凑出K的最小代价,转移也很显然。
其实我不知道为啥写挂了。
vijos 1412多人背包
求0-1(恰好满)背包的前k大解。
我们知道前k大肯定由前一个维度的前k大做的分支决定而来。
这也就是说我们只需要每次记录前k大就能解决。
显然的一点是两个分支(选/不选)的决定都是严格有序的。
我们定义f[i][j]表示装体积为i,第j大的价值。
那么对于单独的f[i][j]并没有转移。
但是对于整体的f[i],有f[i1][j],f[i1][jwi]+ci这长度为2k的数组的前k大。
显然可以归并解决。
vijos P1464积木游戏
这个题没啥可写的。
你就相当于考虑枚举下方向然后再枚举一下前驱就行了
f[i][j][k]表示方向为k,前i个用了j堆。
随便转移一下。
51nod1597
卡你**的空间啊
大概思路就是你把之前的>sqrt(n)的是很好做的。
现在问题是小于根号的怎么做。
那么会发现是一个剩余系的前缀和转移。
这个随便维护一下。
注意一些问题:
垃圾csdn不让我写东西
1.在<sqrt(n)的部分要记得滚动数组。
2.sqrt(n) = 321.
3.128MB = 3kw
51nod 1376
不要被自己之前的思想所束缚。
要举一反三,但不要知道一就只从一的方向想。
首先我们这样考虑:
1.正常写,然后拍个n个线段树上去。
按照51nod的常理,肯定会MLE。
然而我似乎并没有MLE感觉非常开心
然后我就A掉了hhh
但是我空间是O(nlogn)的,感觉非常不爽。
我觉得应该还有更优秀的做法?

0 0
原创粉丝点击