Section 2.4 图&章末总结

最短路

一开始没思路就先做别的题 但是这种题理应是我能力范围之内的 大概自己向前努力的步伐需要更大的毅力和勇气吧

农夫找牛

模拟.借set来判重(其实觉得七个参量可以暴力hash…)

双入口BFS

..错的很奇葩 8A
一次是输入适合长宽搞反,,居然test4爆掉
2~3次是入口是同一个点,标记错误
2~3次是表格长宽搞反 RE…….

cowtour

floyd+并查集
3A
一开始会错意,以为只有两个连通分支,发现一组全不联通的数据后,体会到得用并查集了..
另外算法有一点点小bug错了一次,连通后最大的路不一定要通过新连的那条边
思路是并查后记录该区域最大的距离和每个点最远的距离,枚举不同区域.
一开始没思路就先做别的题 但是这种题理应是我能力范围之内的 大概自己向前努力的步伐需要更大的毅力和勇气吧

//流输出小数点后精度设置
#include <iomanip>
fout.setf(ios::fixed);
fout<<setprecision(6)<<ans<<endl;

comehome

原来floyd可以水过的啊…用的Dijkstra
2A,一开始一次看成有向图做的
另外..包含所有大小写字母需要[150]的数组(可能大了点~)

章末总结

算法是编程的根本.最近选择的方向太多了之后,反而滞留了算法的训练.把6.002的书还了回去,觉得电工重复学习的意义不大 而且每周有六小时的实验报告hhh(开玩笑啦) 坚持刷6.001的语言 c++和usaco就需要很大的勇气啦.上学期看得偏多,做的偏水,这学期好好刷下算法,而USACO的确是一个不错的契机.

附上在离散课上写下的一句话

优先队列的学习模式
或许很难得到最优解
毕竟
该用动态规划解的题
贪心只会措手不及

你可能感兴趣的:(Section 2.4 图&章末总结)