载入中
很遗憾,今天的我仍不够成熟
我所能够做的,就是坚持下去,让你另眼相待
I know,I know I've let you down
1.粗心
1)注意数据范围,数组范围。
2)静态调试能力。
2.不屑骗分
1)能得分的程序就要写
由于种种原因好久没去搞了
现在开始重开SGU
天啊 我的ID是多少?
很容易写出方程:
在doshide大牛的指导下完成。
如果N小的点,可以用状态压缩的动态规划,可是N太大了。
注意到M<=5,状态可以用0..31表示。计算每个状态之间的 相容关系,构成一个有向图。
这时转化成一个图论问题:求1111..111到111.11111的长为N的路径总数。
可以用矩阵做。
这题其实很容易想到算法的,就是实现不了......写了一个140lines的程序,连样例都过不了,也没办法调试。这就是所谓的代码能力吧。
给别人要了周天皇的程序,反复研读,花了一个晚上终于看懂了。
周天皇的程序用了很多 位运算,用O(1)的时间完成了我O(n)时间要做的事,学习了位运算也是我最大的收获。
对比:
为了做这题,我学习了 最小后缀算法 。
今天看论文,发现一个极妙的二分方法:
将串不断二分,分治求出每一段的最小位置。
算法是基于这样一个事实:
设当前串为s[l..r] 则s[l..r]的最小位置来自于s[l,mid](记为A) s[mid+1,r](记为B)的最小位置
WA了N次
1.题意理解错
2.数组没开大
3.构图出错
4.SPFA写错
算法:一次SPFA,把多余的边去掉。多余的边即最短路上的边以外的边。
这题大家都说简单,可我连看懂程序都觉得很吃力~
解题过程:
1.采用boolean数组,用背包的方法,裸搜。狂TLE......
2.DP。f[i,j,k] 用了I个数,最后一个是J,可以拼出0~K的方案数。
如果某人考科目I J,则在I J间连一条边
这题......简单题。但,应该说作者出题的目的达到了。
我第一次的作法是:
搜索每个格子,枚举大于它的格子的位置,最后得到一个格子间大小关系的表,TOP排序一下出解。其间有很多恶心的细节,我苦苦调试近一小时,无果。
这是我做SGU碰到了第一个难题,或着说是麻烦题。
思路:用欧基里德算法找一个解。然后用数学知识判断解的个数。
很WS,具体看程序。我觉得这个程序写得不错的说。
题目
这题考试时我都不敢写。终于做掉了,180行的程序。
思路:
1.主体是DFS。
我搞OI果然还是和数学一样,麻烦的就不行了......
挺简单的一道题,WA了好久。用了交集运算WA,改成判断就AC了。以后做URAL还是不用集合操作了。