6/21 09东北赛热身2
来源:互联网 发布:话不多但语出惊人知乎 编辑:程序博客网 时间:2024/04/30 07:22
Satellite Photographs
DFS/BFS的同时统计一下
Max Factor
没看题就被秒,扫了一眼应该是求素数
City Skyline
很巧妙的一题,转化到最后代码极短
用一个栈维护,每次读入一个高度y,把栈中>y的都出栈
然后看栈顶如果有==y的则不入栈,否则入栈并答案加一
Bovine Birthday
计算某天是星期几,推公式
Cow Acrobats
似懂非懂...官方解答是把问题转化成某牛承受上面和自己的重量之和,把重量加到力量上
然后按W+S升序第一优先,W升序第二优先 排序
Checking an Alibi
n<=500,Floyd O(n^3)很可能会超时,还是老实打Dijkstra
Yogurt factory
f[i]代表第i周的产品由第f[i]周生产
显然取值只可能是i或者f[i-1]
似dp似贪心.....
Space Elevator
按最大允许高度排序,然后多重背包,看似O(n*c*h)挺大,实际用时还可以
Ombrophobic Bovines
很麻烦的题
先用Floyd把所有Farm之间的最短路算出来
然后二分答案,构造一个新的图
设i点的牛数为a[i],堋数为b[i]
把点i拆为两个点,i1和i2
增加一个源点,其到i1的容量为a[i]
增加一个汇点,其到i2的容量为b[i]
如果i到j的距离小于等于当前二分的值,则i1到j2的容量为MIN(a[i],b[j])
点数最多到402,边也很多,邻接矩阵必定超时
要用Dinic,SAP之类"高级"点的最大流算法配上邻接表,FF算法可能超时
直观的拆点方法是把一个点拆成a[i]+b[i]个点,然后连边,这样的话点数太多了
二分之前可以先统计出所有最短路可能的取值,在这些取值中排序,二分
Hopscotch
暴力DFS,只有6位数,可以直接开hash表判重,我是用字符串+set....
The Wedding Juicer
感觉可以记忆化搜索,但是消除不了顺序的影响
<算法艺术>上有O(n^2*logn)的方法:
初始最外圈加入边界的集合
当集合非空,每次选择一个最小的边界点,然后flood fill,扩展一遍
遇到比它矮的就填,继续搜
遇到比它高的就不继续搜,并把它加入边界集合
其中动态取最小用堆维护
按我理解本质上是基于优先队列的BFS,里面再套个BFS.....
- 6/21 09东北赛热身2
- 6/14 09东北赛热身1
- 回忆 08东北赛
- 东北赛日程表
- 2013东北赛总结
- 哈尔滨东北赛总结
- 省赛&东北赛总结
- 东北赛选拔教训
- 17 东北赛总结
- CET-6 作文热身
- CET6 作文热身2
- 东北赛区网络赛沦陷
- 东北赛题目及反思
- 东北大学校赛重现
- XDU_Truth 网络赛热身小结
- SeedCoder2014热身题目6: 解答
- SeedCoder2014热身题目2:解答
- 第7周 热身(2)
- 索引
- 《软件开发这点事儿》作者邵志东老师视频发布
- galileo(Eclipse 3.5)正式版(GA)已经可以bt下载
- asp.net 2.0 treeview点击相应的父节点文本展开子节点而不是点前面的加号才能打开
- POI读写excel文件实例
- 6/21 09东北赛热身2
- ASP.NET缓存:方法和最佳实践
- COM组件IImagingFactory引申(一)
- 同一页面放置多个UpdatePanel
- 想起西电...
- 利用反射得出某个类的所有属性
- samba和NFS的区别
- ubuntu 之多系统安装
- 非对齐地址访问问题