这个题B站上面有这题很完整的分析和证明,你实在不懂,可以看看这个视频

 https://www.bilibili.com/video/av19849697?share_medium=android&share_source=qq&bbid=00561DA9-126A-4190-88A8-2B9DD5DAFEB512211infoc&ts=1533979978895 
 
视频里面讲的很清楚,我再重复一下把,就是说,给N个圆上的点,在这个圆内部会产生多少个点呢?,很简单C(N,4);为什么???因为园内任意四个点,可以连线组成一个内部点,再加上N个外围点,总共有N+C(n,4)个点,我们再来算有多少边,首先我们可以想,这些内部点一定不是端点,我可以考虑一下,一个不是端点的点,可以把线段分成多少部分呢???答案是2*C(N,4),然后我们把圆的外围弧,也变成线,那么就完美的用平面图的欧拉公式解决:
设G为任意的连通的平面图,则v-e+f=2,v是G的顶点数,e是G的边数,f是G的面数。
再把最外面的区域减去就行。
这里一定要注意取模的问题,由于N变态到离谱,我们不能对N有任何的操作,首先出来就必须把N%MOD,否则就会炸范围
这里你仔细一看,就发现,公式化简成为ans=C(n,2)+C(n,4)+1;处理一下逆元就好了
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define ll long long
using namespace std;
const ll mod = 1e9+;
ll qpow(ll a,ll b)
{
ll ans=;
while(b)
{
if (b&)ans=(ans*a)%mod;
a=(a*a)%mod;
b>>=;
}
return ans;
}
int main()
{
int t;
ll n;
int cas=;
scanf("%d",&t);
while(t--){ scanf("%lld",&n);
ll ans=(+(((n%mod)*((n-)%mod)%mod*qpow(,mod-))%mod)%mod+(((((n%mod)*((n-)%mod))%mod*((n-)%mod))%mod*((n-)%mod))%mod*qpow(,mod-)%mod)%mod)%mod;
printf("Case #%d: %lld\n",++cas,ans); }
return ;
}

2017乌鲁木齐区域赛D题Fence Building-平面图的欧拉公式的更多相关文章

  1. hdu6229 Wandering Robots 2017沈阳区域赛M题 思维加map

    题目传送门 题目大意: 给出一张n*n的图,机器人在一秒钟内任一格子上都可以有五种操作,上下左右或者停顿,(不能出边界,不能碰到障碍物).题目给出k个障碍物,但保证没有障碍物的地方是强联通的,问经过无 ...

  2. 2017乌鲁木齐网络赛 j 题

    题目连接 : https://nanti.jisuanke.com/t/A1256 Life is a journey, and the road we travel has twists and t ...

  3. HDU 6229 Wandering Robots(2017 沈阳区域赛 M题,结论)

    题目链接  HDU 6229 题意 在一个$N * N$的格子矩阵里,有一个机器人. 格子按照行和列标号,左上角的坐标为$(0, 0)$,右下角的坐标为$(N - 1, N - 1)$ 有一个机器人, ...

  4. 2017乌鲁木齐网络赛 J题 Our Journey of Dalian Ends ( 最小费用最大流 )

    题目链接 题意 : 给出一副图,大连是起点,终点是西安,要求你求出从起点到终点且经过中转点上海的最小花费是多少? 分析 : 最短路是最小费用最大流的一个特例,所以有些包含中转限制或者经过点次数有限制的 ...

  5. Infinite Fraction Path HDU 6223 2017沈阳区域赛G题题解

    题意:给你一个字符串s,找到满足条件(s[i]的下一个字符是s[(i*i+1)%n])的最大字典序的长度为n的串. 思路:类似后缀数组,每次倍增来对以i开头的字符串排序,复杂度O(nlogn).代码很 ...

  6. hdu6223 Infinite Fraction Path 2017沈阳区域赛G题 bfs加剪枝(好题)

    题目传送门 题目大意:给出n座城市,每个城市都有一个0到9的val,城市的编号是从0到n-1,从i位置出发,只能走到(i*i+1)%n这个位置,从任意起点开始,每走一步都会得到一个数字,走n-1步,会 ...

  7. 2017乌鲁木齐区域赛K(容斥原理【求指定区间内与n互素的数的个数】)

    #include<bits/stdc++.h>using namespace std;const long long mod = 998244353;typedef const long ...

  8. 2017乌鲁木齐区域赛I(带权并查集)

    #include<bits/stdc++.h>using namespace std;int f[200010];//代表元long long rl[200010];//记rl[i]为结点 ...

  9. 2017乌鲁木齐区域赛A(动态规划,组合数学,期望)

    #include<bits/stdc++.h>using namespace std;double c[110][110];double g[110];double dp[110][110 ...

随机推荐

  1. Apache的配置详解 带图

    对Apache 的 Http.conf 各项配置详解 1.01 ServerRoot 配置 [ServerRoot "" 主要用于指定 Apache 的安装路径,此选项参数值在安装 ...

  2. Ubuntu + python pip遇到的问题

    今天在做Flask跨源资源共享(CORS)的时候在安装flask-cors时遇到了两个问题. 首先我是在Ubuntu环境下安装的,整了好一会才弄得出来,现在整理一下. 安装flask-cors pip ...

  3. Reveal安装

    一.安装 第一步:将Reveal.framework拖入工程中(下载地址:http://pan.baidu.com/s/1mgMJVDI,解压后产生的Reveal.framework,拖入工程即可). ...

  4. Java设计模式之十一 ---- 策略模式和模板方法模式

    前言 在上一篇中我们学习了行为型模式的访问者模式(Visitor Pattern)和中介者模式(Mediator Pattern).本篇则来学习下行为型模式的两个模式,策略模式(Strategy Pa ...

  5. Ubuntu18.04 安装tomcat9

    1.官网下载 2.移动到/usr/local/tomcat 3.解压 4.修改权限,否则在idea中不能正常使用

  6. ST_Geometry效率的测试与分析

    测试环境 数据库:Oracle11g R1(11.1.0.6) 64Bit 中间件:ArcSDE10 (64Bit) 数据情况:点数据(point,231772条记录),面数据(poly,12条记录) ...

  7. Webserver管理系列:6、网络和共享中心的安全配置

    1.关闭网络发现 2.关闭文件和打印机共享 3.关闭公用目录共享 4.启用password保护共享

  8. redis缓存设计

    1:缓存技术和框架的重要性 互联网的一些高并发,高性能的项目和系统中,缓存技术是起着功不可没的作用.缓存不仅仅是key-value的简单存取,它在具体的业务场景中,还是很复杂的,需要很强的架构设计能力 ...

  9. 剑指offer题解

    数组中重复的数字 题目描述:在一个长度为n的数组里面的所有数字都在0~n-1的范围内.数组中某些数字是重复的,但是不知道有几个数字重复了,也不知道每个数字重复了几次,请找出数组中任意一个重复的数字.例 ...

  10. 11-(基础入门篇)WiFi模块开发,下载运行第一个程序

    https://www.cnblogs.com/yangfengwu/p/9954840.html 第一就是重新刷一下固件,咱们的固件保持一致,有问题好处理 先刷空固件 我用的 所以刷8Mbit的 给 ...