ACM周中总结—9月14日

来源:互联网 发布:下淘宝网手机版 编辑:程序博客网 时间:2024/06/05 12:26

         这半个周主要再看上两次比赛的题解与艰难的看线段树的题(题解思路容易看懂,可自己把代码敲出来调通,还有些困难),另外还趁机回看了最短路径等图论的内容。

        在看过题解后,发现上周六的比赛题目主要都是图论的,看完题解感觉自己不应该只A出那么点题,像H题,我们也没读清题意就做了,其实就是给了一个无环有向图求最长路径,用邻接链表存储路径,SPFA算法就出来了。(平常路径存储用矩阵多一些,链表都快忘了)邻接链表就是存储该点发出的所有路径,进而方便SPFA算法的快速bfs。还有第G题,给了两个字符串求第一个字符串里有几个第二字符串,当然还有另外的操作,修改某个位置的字符,这道题读了,没来得及做完(其实也信心了),因为第二字符串最多只有10位,所以每修改一个字符最多影响10个值,正好是一维用的数组,用树状数组表示前i个字符中有多少个第二字符串。惭愧惭愧。另外E题我看了一位大牛的博客找出规律的推理,t[i]=i*(i+1)/2,给定n,找t序列,第n项后第一个完全平方数是什么n<=10^16,先暴力找出符合条件的r,分别1,8,49,288,1681。。求出tr,可拆解为(1*1)^2,(2*3)^2,(5*7)^2,(12*17)^2,这样第一项就明显了,第二项就是1=sqrt(1^2*2+1),7=sqrt(2^2*2+1),41=sqrt(29^2*2-1),此时规律就出来了。还有一道没做的题,是费用流的题目,后面我还得看看什么是费用流问题,感觉不难。

        另外,线段树的专题习题这半周还没怎么做,也就在今天刚A了一道二维线段树的题,思路上其实没什么难度,但还仅停留在对线段树的基本应用这点上的程度,对后面扫描线,合并区间,染色等题目还没弄通,这也是后半周的主要目标。

原创粉丝点击