分类: 算法学习

26 篇文章

枚举暴力
链接:https://ac.nowcoder.com/acm/problem/21297 题目描述 (牛客-电话号码) 给你一个整数n表示手机号码的位数再给你m个字符串表示保留的号码,比如911 110 120等问你一共有多少的手机号码不以保留号码开头 输入描述: 第一行输入两个整数n, m (1 ≤ n ≤ 17, 0 ≤ m ≤ 50)接下来m…
数学知识——贝祖定理
贝祖定理是代数几何中,用来描述两个代数曲线的交点个数的定理,定理说明两条互质的曲线X 和Y的交点个数等于它们次数的乘积。 内容是若设a,b是整数,则存在整数x,y,使得ax+by=gcd(a,b),(a,b)代表最大公约数,则设a,b是不全为零的整数,则存在整数x,y,使得ax+by=gcd(a,b)。 刚好碰到一道题目把这个定理运用的融…
数学知识——更相减损术
我国古代九章算术中的更相减损术可以用来求最大公约数:经典思想( ”可半者半之“) 例子: 例1、用更相减损术求98与63的最大公约数。解:由于63不是偶数,把98和63以大数减小数,并辗转相减:98-63=3563-35=2835-28=728-7=2121-7=1414-7=7所以,98和63的最大公约数等于7。 用c++描述:(求最大公约数模板…
数学知识——排列组合
对于解决x+y+z=k的整数解问题采用隔板法 1.求x , y, z的正整数解的种类数 假设k=6,把问题转化为把6个相同的小球放入三个箱子里,三个箱子中小球的个数分别代表x,y,z的值。 如图:需要划分出三个区域对应三个箱子, OO/OO/OO /代表隔板,6个小球共五个空格,只需从五个空格中选两个即可满足,总个数为:c(5,2)=10 公式为:…
c++写算法题时一些语法问题
表示先赋值给while参数再减一例如:n=5 n-- 输出4n=4 n-- 输出3n=3 n-- 输出2n=2 n-- 输出1n=1 n-- 输出0n=0 退出循环while(--n)表示先自减1在赋值给while参数,n依次为4 3 2 1则依次输出4 3 2 1当输入字符串有空格时用getline(cin,str);如果上面有cin的话需要吃掉…