Number Theory
求最大公约数和最小公倍数
辗转相除法
时间复杂度O(log(max(a,b)))
|
|
或直接调用algorithm库中的__gcd(int a,int b)
辗转相除法
时间复杂度O(log(max(a,b)))
|
|
或直接调用algorithm库中的__gcd(int a,int b)
杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如: 62315 73418 88914 都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。 你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。
线段树是把区间分割,然后把数据按树存储的数据结构。线段树是一颗完美二叉树
用一个例子来介绍线段树
RMQ(range minimum query)
实现功能 对于一个数列 1.给定s,t求[s,t)区间的最小值(最大值) 2.给定i和x,把ai改成x
这道题可以用二分法,三分法更好一点(反正当时完全没想到),0.618法应该最快
三分是中间的两个点 mid = l + (r - l) / 2 midmid = mid + (r - mid) / 2
图的存储:邻接表、邻接矩阵、前向星、链式前向星等
|
|
通过着色来判定,整个图只染两种颜色,如果相邻点颜色不同就是二分图
判断两条线段是否相交,对于N条线段,间接相交也算相交。对于每次询问,判 断给定的两条线段是否相交
这个题目分成两部分,一部分是基础的判断两条线段是否相交,用一个bool数组来存储信息。另一部分是判断间接相交,可以用floyd-warshall(比较巧妙)或者并查集.第一部分就是套模板。
题目链接 题意:找正整数对(A,B),A、B都不大于N,满足A的第一个数字是B的最后一个数
字,B的第一个数字是A的最后一个数字,个位数也算,输出满足条件的正整数对的个数
记录的东西十分零散,适用于速查,不适合系统学习
由于记录的时候所掌握的知识很浅,所以可能存在错误
|
|
古老的生成随机数的方法
|
|