随笔分类 -  高效算法和数学思维

第三周
The Sum of 0 for four numbers(拆解加二分思想)
摘要:个人心得:单纯用二分法一直超时,后面发现我的那种方法并没有节省多少时间,后面看了大神的代码,真的是巧妙, 俩个数组分别装a+b,c+d。双指针一个指向最后,从第一个开始想加,加到刚好大于0停止,再看是否存在和为0的情况。 很巧妙,因为此时i,j所指想加刚好大于0,因为是排完序的,所以i往后面走的时候 阅读全文

posted @ 2017-08-04 18:58 余生漫漫浪 阅读(569) 评论(0) 推荐(0)

Rebranding(字母代换)
摘要:个人心得:题目意思就是每次给出可以互换的字母,如果每次命令的时候就执行的话一定会超时。 所以我就是将输入的字母从a到z的数目和路径依次保存,再建立一个book数组表示字母现在所指的字母 ,一开始就直接数组转换结果超时了,有一点并查集的思想。 就比如说 a b转换,a 此时有3个,分别为1,3,5。b 阅读全文

posted @ 2017-08-04 18:52 余生漫漫浪 阅读(449) 评论(0) 推荐(0)

找新朋友(欧拉函数)
摘要:新年快到了,“猪头帮协会”准备搞一个聚会,已经知道现有会员N人,把会员从1到N编号,其中会长的号码是N号,凡是和会长是老朋友的,那么该会员的号码肯定和N有大于1的公约数,否则都是新朋友,现在会长想知道究竟有几个新朋友?请你编程序帮会长计算出来。 Input第一行是测试数据的组数CN(Case num 阅读全文

posted @ 2017-08-02 15:10 余生漫漫浪 阅读(252) 评论(0) 推荐(0)

越狱(快速幂)
摘要:监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 Input 输入两个整数M,N.1<=M<=10^8,1<=N<=10^12 Output 可能越狱的状态数,模100003取余 阅读全文

posted @ 2017-08-02 10:40 余生漫漫浪 阅读(349) 评论(0) 推荐(0)

Number Sequence (KMP的应用)
摘要:个人心得:朴素代码绝对超时,所以要用到KMP算法,特意了解了,还是比较抽象,要多体会 Given two sequences of numbers : a11, a22, ...... , aNN, and b11, b22, ...... , bMM (1 <= M <= 10000, 1 <= 阅读全文

posted @ 2017-08-01 20:34 余生漫漫浪 阅读(253) 评论(0) 推荐(0)

生日礼物(我的思维崩盘题- -.)
摘要:个人心得:做完这题发现自己有多水,先是思路崩盘,后面借鉴思路之后再试,编程崩盘。好吧,全程崩盘,我要很无奈。 总的来说,还是自己思维的不严谨性和不会更好的模拟和运用学过的知识,还是有待进步! 好吧先看这道令我奔溃的题吧,可能是我太水了!!! 小西有一条很长的彩带,彩带上挂着各式各样的彩珠。已知彩珠有 阅读全文

posted @ 2017-07-31 16:47 余生漫漫浪 阅读(315) 评论(0) 推荐(0)

铁轨出轨总数目(卡塔兰数及大数的运用)
摘要:个人心得:对于这种数学题,思路真的要很清晰,我开始的思路是假设n=1ton=n-1,出栈找规律,然后发现后面乱来乱复杂,完全没有数学之美的地方, 后面了解了卡塔兰数的思想发现数学家真是可怕的生物,n个数,必然都有可能出现在最后,假设k在最后,则有1到k-1出轨和k+1到n出轨,所以对每个数加就好了, 阅读全文

posted @ 2017-07-31 10:32 余生漫漫浪 阅读(302) 评论(0) 推荐(0)

卡塔兰数的应用(可怕的数学家们)
摘要:卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名,其前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 阅读全文

posted @ 2017-07-31 10:23 余生漫漫浪 阅读(773) 评论(0) 推荐(0)