http://codeforces.com/problemset/problem/15/E

题意:

从H点走下去,再走回H点,不能走重复路径,且路径不能把黑色三角形包围的方案数

中间的黑色三角形把整张图分成两部分

即如果想要走回H点,除了只第一行的路径,必经过上面的蓝色点

否则一定会包围黑色的三角形

设从H往左下走,又回到蓝色点的方案数为S

那么 ans=(S*S+1)* 2

S*S 是因为左右两边是等价的

加1是不经过蓝色点的那一条路径

再乘2是先向左和先向右是两种方案

如何求S?

将两行看做一层

设f[i] 表示最远到第i层,回到蓝点的方案数,那么S= 6 + Σ f[i],i∈[3,n/2]

6是前两层的方案数,因为前两层不需要考虑向内凹进的部分,所以单独计算

从第三层开始,要考虑向内凹的白色三角形

假设现在是算f[x]

那么 从H到第x层的方案数只有一种,就是沿着最左边一路往下

凹进的白色三角形每三个斜着的看做一组

设g[i] 表示凹进的白色三角形有i组,走进去在出来的方案数

必经上图中的紫色点

想要到第i组,那么前i-1组在进去的时候,可以水平向右,也可以向右下

到第i组要拐弯的时候,可以先水平向右或右下,再向左上或右上

拐完弯出去的时候,只能一直水平向左走

所以g[i]=g[i-1]+2^(i+1)

第x层的白色三角形有x-2组

推式子可以得到 g[x]=2^x - 4

再加上不走进去的一种方案,对于第x层的凹进去的白色三角形一共有2^x-4+1中方案

在第x层拐弯的时候,有4中方案,如上图中的粉色路径

所以f[x] = 4* π (2^k-3) k∈[3,x]

所以答案为

#include<cstdio>

using namespace std;

const int mod=;

int main()
{
int n;
scanf("%d",&n);
if(n==)
{
printf("");
return ;
}
long long xigema=,pai=,pow=;
int m=n/;
for(int i=;i<=m;++i)
{
(pow*=)%=mod;
(pai*=pow-+)%=mod;
(xigema+=pai)%=mod;
}
xigema*=;
xigema+=;
xigema%=mod;
(xigema*=xigema)%=mod;
xigema++;
(xigema*=)%=mod;
printf("%I64d",xigema);
}

Codeforces 15 E. Triangles的更多相关文章

  1. CodeForces - 13D :Triangles(向量法:问多少个蓝点三角形内部无红点)

    Little Petya likes to draw. He drew N red and M blue points on the plane in such a way that no three ...

  2. 【codeforces 229C】Triangles

    [题目链接]:http://codeforces.com/problemset/problem/229/C [题意] 给你一张完全图; 然后1个人从中选择m条边; 然后另外一个人从中选择剩余的n*(n ...

  3. Codeforces 553C Love Triangles(图论)

    Solution: 比较好的图论的题. 要做这一题,首先要分析love关系和hate关系中,love关系具有传递性.更关键的一点,hate关系是不能成奇环的. 看到没有奇环很自然想到二分图的特性. 那 ...

  4. [CodeForces]CodeForces - 1025F Disjoint Triangles

    题意: 给出平面上n个点,问能在其中选出6个点,组成两个三角形,使得其互不相交 问有多少种选法 大致思路  考虑枚举一条直线,将所有得点分为左右两部分,其中有两个点在直线上, 以这两个点为顶点,分别统 ...

  5. CodeForces 52B Right Triangles 矩阵上的计数

    题目链接:点击打开链接 题意: 问有多少个与矩阵边平行的直角三角形.且三角形的3个顶点都是* 对于 L形 或者_| 形的三角形.我们仅仅须要知道在_ 上方有多少个*就可以,下底边则任取2个 所以用l[ ...

  6. Codeforces Gym 100015F Fighting for Triangles 状压DP

    Fighting for Triangles 题目连接: http://codeforces.com/gym/100015/attachments Description Andy and Ralph ...

  7. Codeforces Educational Codeforces Round 15 C. Cellular Network

    C. Cellular Network time limit per test 3 seconds memory limit per test 256 megabytes input standard ...

  8. Codeforces Round #309 (Div. 1) C. Love Triangles dfs

    C. Love Triangles Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/553/pro ...

  9. Codeforces Round #308 (Div. 2) D. Vanya and Triangles 水题

    D. Vanya and Triangles Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/55 ...

随机推荐

  1. Selenium的自我总结1

    搞了一段时间的Selenium Web的自动化,针对项目要搭建了一套适合项目的测试框架(Selenium[POM/DataDriver]+TestNG+Ant+Jenkins).在最开始看Seleni ...

  2. 使用kindeditor来替换ecshop的fckeditor编辑器,让ecshop可以批量上传图片

    老杨原创 kindeditor此编辑器可以让ecshop批量上传图片,可以插入代码,可以全屏编辑,可以插入地图.视频,进行更多word操作,设置字体. 步骤一:进入kindeditor的官网,http ...

  3. [转帖]Linux内核为大规模支持100Gb/s网卡准备好了吗?并没有

    Linux内核为大规模支持100Gb/s网卡准备好了吗?并没有 之前用 千兆的机器 下载速度 一般只能到 50MB 左右 没法更高 万兆的话 可能也就是 200MB左右的速度 很难更高 不知道后续的服 ...

  4. [转帖]Marvell兵败中国4G 创始人去职未来几何

    Marvell兵败中国4G 创始人去职未来几何 (2016-04-12 09:08:30) 2016年的帖子. http://blog.sina.com.cn/s/blog_1542ef86c0102 ...

  5. 转《Angular4项目部署到服务器上刷新404解决办法》

    刚遇到Angular4项目npm run build 后部署到服务器可以访问,但是刷新页面会出现404的错误!转载一大神的操作 解决angular2页面刷新后报404错误办法: 配置app.modul ...

  6. rgb & rgba convert

    rgb & rgba convert RGB color to Hex, Pantone, RAL, HSL, HSV, HSB, JSON. Get color scheme. https: ...

  7. caffe配置NCCL

    设置Makefile.config 打开开关: USE_NCCL := 1, 并添加nccl库路径 USE_NCCL := 1 INCLUDE_DIRS += /path/nccl/build/inc ...

  8. codeforces659B

    Qualifying Contest CodeForces - 659B Very soon Berland will hold a School Team Programming Olympiad. ...

  9. BZOJ1070[SCOI2007]修车——最小费用最大流

    题目描述 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这M位技术人员所维修的车及顺序,使得顾客平均等待 ...

  10. Django前端获取后端数据之前端自定义函数

    在写网站的时候遇到了一个问题: Django在后端向前端传数据时,多数会使用dict字典来传送多个数据,但前端只能遍历,没有一个用key取到value值的方法可以直接使用 如果作为一个list传递到前 ...