首页 > 代码库 > 欧拉函数
欧拉函数
欧拉函数是一个关于边点和面的公式
我先说下公式是什么在一一解释 V-E+F=2;
V这个V代表定点数(是所有线段的端点数加上交点数),E代表边数(是n段椭圆弧加上这些线段被切成的段数)F就是面数 是所有的面数
我们来看一道题
题意是:有一块椭圆形的徒弟,你可以在边界上选N个点,并两两相连得到(n(n-1))/2条线段,他们最多能把徒弟分成多少个部分?
样例输入:4
样例输出:8
用了上面的公式之后我们只需求出来E-V+2就能求出面数了
那么E怎么求,首先我们计算时都要枚举一条从固定点出发的所有对角线,假设对角线左边有i个点那么右面一定有n-i-2个点 把他们都连起来只有会产生n-2-i个交点和n-2-i个边 但是每个交点被重复计算了4次 每个线段被重复计算了2次 所以我们就可以得出公式
V = n + n/4*(i=0到i = n - 2的所有点数相加)
E = n + n/2*(i = 0到i = n -2的所有边相加)
思路这么明确 代码我就不写了
欧拉函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。