4.28总结
来源:互联网 发布:淘宝店铺类目怎么设置 编辑:程序博客网 时间:2024/06/16 23:28
总结
- 今天做题其实还是挺有感觉的。。但是思维没有开阔起来。
过程
- 先看了一下题目,第一题把他的式子随便化了一下,又看到A是01矩阵,就知道是道网络流裸题了。。第二题一开始想没有什么好的思路。第三题又是SAM的裸题。第四题看着那个条件感觉很眼熟,好像就是线性无关。刚好冬令营的时候讲过他的贪心。所以大致确定了1,3,4的做题顺序。
- 第一题还是比较好打的。但是一开始打了dinic,比较慢,后来换成了sap,打完差不多9点钟。
- 接下来打第三题,SAM还是不太熟悉。对fail指针的意义以及其Dp的顺序掌握不好。推了一下以为可以了。然后拍也是Ok的。
- 第四题,一开始都忘记高斯消元怎么打了。一直在改高斯消元。而且对于线性无关的判定很不熟悉。导致我根本无法把70分的算法改进到100分。而且拍完第四题之后都已经差不多10点半了。
- 最后去搞第二题。丝毫没有思路。自己YY了一个贪心。想不到怎么把题目模型抽象出来。
最后220。。第三题挂掉了。第二题只有十分。
第三题的错误在于,
- SAM Dp之前,应当把节点按其len进行排序,不能进行拓扑排序,因为fail的拓扑序不一定在其前面。
第二题的做法!!!
Description
给你一副
N∗M 的网格图。上面的每个点都有宝藏数
Ai,Ai≥0 你每次都从左上角出发,并且只能往右边和下边走。
走到一个点,你只能捡起一个单位的宝藏。问你至少要走多少次,才能将所有的宝藏捡完。
N≤1000,M≤1000
我们可以注意到的是,
若对于两个位置
(i,j) ,(x,y) ,满足i≤x,j≥y ,那么我们永远都不可能用一条路径把他们两个都覆盖了。我们找出宝藏总数最大的一个点对序列
(i1,j1),(i2,j2)......(ik,jk) ,其中ix≤ix+1,jx≥jx+1 设其宝藏总数为
y
那么我们最终的答案就是y 这个为什么是正确的呢??
因为我们要覆盖这
k 个点,至少需要k 条路径,且因为我们计出来的是宝藏总数最大的。也就是说约束最紧的点。设最终的答案为
Ans 那么显然的是,
Ans≥y 接下来我们证明
Ans≤y 设一个点
P(x,y) ,且P不在这个序列当中。那么P有两种情况
-
P可以被一条经过点i,其中i属于我们点序列,的路径穿过。那么因为i的宝藏数比P的大(不然i就不会被选入序列中了),所以P肯定能被取完。 -
P不能被一条经过点i,其中i属于我们点序列,的路径穿过。那么P显然会被选入我们的序列。与P不在点序中矛盾。
-
∴ Ans≥y,Ans≤y → Ans=y
总结
- SAM还是掌握的不好。对于一些自己之前比较在行但很久没有打过的东西容易忘记。。所以还是要经常复习。
- 考试的时候脑洞没有打开。思维还是不行。
- 算法的实现做不到简洁。这样子其实容易使得自己无法对算法进行进一步的优化。拿到更多的算法。
0 0
- 4.28总结
- 4.28总结
- 总结
- 总结
- 总结
- 总结
- 总结!
- 总结
- 总结.
- 总结。
- 总结
- 总结
- 总结
- 总结
- 总结
- 总结
- 总结
- 总结
- 计算机体系结构
- springMVC中参数格式化
- 无需翻墙, Android官方开发相关下载资源一揽子大汇总【转自安卓巴士】
- 搭建 Linux 下 GitLab 服务器
- POJ 3264 Balanced Lineup[RMQ入门题]
- 4.28总结
- ubuntu下删除顽固图标
- hdu 1242 优先队列的bfs
- HDU 1564 Play a game 简单博弈
- 线程练习一: 创建两个进程,和主线程交替运行
- 十进制转二进制
- UVA 11464 例题7
- Linux系统下安装rz/sz命令及使用说明
- Android PagerAdapter