生成树 bzoj-2467 中山市选2010

题目大意:题目链接

注释:略。


想法:首先,考虑生成树的性质。每两个点之间有且只有一条路径。我们将每个五边形的5条边分为外面的4条边和内部的一条边,在此简称为外边和内边。那么显然,每个五边形的4条外边至少需要选3条。

如果选了3条外边而且内边也没选,那么这个五边形就会被拆成两个部分。如果有2个五边形这么做,就会有两个部分之间直接断开,不符合生成树的定义。而且想让一个五边形和另一个五边形断开或者这个五边形从自身断开,只有这一种方案。如果没有任何一个五边形这么做那么所有点都在环内,仍然不符合生成树的定义。所以这样的五边形有且仅有一个。

考虑剩下的五边形。如果剩下的五边形没有任何一条边断开,这个五边形就是一个环,舍。而且每个五边形至多断开一条边,所以剩下的每个五边形都必须断开一条边。

接下来我们考虑证明每一个这样的方案都是合法的。首先,我们先把一个五边形的一条外边和一条内边断开。这样的话显然对于任何一个剩下的五边形:如果断开的是外边那么由内边和左右的五边形相连。如果断开的是内边那么有外边和左右的五边形相连。而且一个点像跨越一个只断开一条边的五边形只有一种方案,满足生成树性质,证毕。

最后,附上丑陋的代码... ...

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define mod 2007
using namespace std;
typedef long long ll;
ll qpow(ll x,ll y)
{ll ans=1;while(y){if(y&1) ans=(ans*x)%mod;y>>=1;x=(x*x)%mod;}return ans;
}
int main()
{int cases; cin >> cases ;while(cases--){ll x; scanf("%lld",&x);printf("%lld\n",4*x%mod*qpow(5,x-1)%mod);}return 0;
}

小结:对于这种题,我们一般的做法都是先考虑答案的形态,有奇效。

转载于:https://www.cnblogs.com/ShuraK/p/9537293.html

[bzoj2467][中山市选2010]生成树_快速幂相关推荐

  1. CodeForces-691E Xor-sequences(矩阵快速幂)

    E. Xor-sequences time limit per test 3 seconds memory limit per test 256 megabytes input standard in ...

  2. 15年第六届蓝桥杯第九题_(矩阵快速幂优化的动态规划)

    垒骰子 赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体. 经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥! 我们先来规范一下骰子:1 的 ...

  3. mysql 幂运算_算法—史上最好快速幂算法讲解

    前言 快速幂是什么?顾名思义,快速幂就是快速算底数的n次幂. 有多快?其时间复杂度为 O(log₂n), 与朴素的O(n)相比效率有了极大的提高. 用的多么?快速幂属于数论的范畴,本是ACM经典算法, ...

  4. 算法刷题-数论-组合数、快速幂、逆元、递推求组合数、逆元求组合数

    文章目录 acwing885. 求组合数 I(递推:数据范围:2000) acwing875. 快速幂(a的k次方 模 b) acwing876. 快速幂求逆元 acwing886. 求组合数 II( ...

  5. 2017ACM暑期多校联合训练 - Team 8 1011 HDU 6143 Killer Names (容斥+排列组合,dp+整数快速幂)...

    题目链接 Problem Description Galen Marek, codenamed Starkiller, was a male Human apprentice of the Sith ...

  6. 20181023(模拟+矩阵快速幂及推公式+最短路+不知道什么DP)

    NOIP欢乐%你赛 1. 小澳的方阵 (matrix.cpp/c/pas) [题目描述] 小澳最近迷上了考古,他发现秦始皇的兵马俑布局十分有特点,热爱钻研的小澳打算在电脑上还原这个伟大的布局. 他努力 ...

  7. 【学习笔记】超简单的多项式快速幂

    整理的算法模板合集: ACM模板 目录 P5245 [模板]多项式快速幂 普通版(a0=1a_0=1a0​=1) vector版本AC代码 加强版(a0≠1a_0 \neq 1a0​​=1) 点我看 ...

  8. Codeforces 621E Wet Shark and Block【dp + 矩阵快速幂】

    题意: 有b个blocks,每个blocks都有n个相同的0~9的数字,如果从第一个block选1,从第二个block选2,那么就构成12,问对于给定的n,b有多少种构成方案使最后模x的余数为k. 分 ...

  9. Happy Necklace dp 递推 矩阵快速幂

    当满足素数2和素数3的条件后,下一个素数区间5乃至之后的都会被满足. 考虑能否从f[n - 1]转换到f[n],考虑第i - 1位,如果后面加红色一定满足条件,所以f[n]先是加上f[n - 1] 如 ...

最新文章

  1. 棋盘上的孙子兵法之我见
  2. AppLaunchScreen/Screenshot(启动图/屏幕快照)输出规范
  3. 【数据竞赛】“达观杯”文本智能处理挑战赛2
  4. [Linux]继续探究mysleep函数(竞态条件)
  5. 关于内部网络病毒泛滥的一个解决办法
  6. c#中高效的excel导入oracle的方法
  7. SharePoint2013 App 开发中 自定义网站栏,内容类型,列表。
  8. 数据结构课程设计-商品货架管理(C语言)
  9. 计网实验(一):IP子网划分
  10. 如何限定apt-get使用IPv4或IPv6协议下载
  11. 麻省理工十亿美元计算机学院,麻省理工学院10亿美元打造全新计算机科学学院,让所有学科的研究人员都能接触到最新的计算科学...
  12. mysql long varchar2_long类型字段转换成varchar2类型
  13. 12.10.3 冻结窗格
  14. 社群运营的用户画像分析有哪些方法?
  15. matlab采样率为100hz,matlab自己设计一个低通滤波器,要求滤出100Hz之外的频率,采样率为10000Hz...
  16. Allegro阻抗分析指导书
  17. 毕业设计大全——毕业设计参考选题(Jsp+Servlet+SSM+SpringBoot)(持续更新)
  18. 一文让你了解数据采集
  19. 如何设计好的RESTful API之安全性
  20. SAP标准供应商寄售业务自动清账测试

热门文章

  1. bond、服务器登录、跟踪数据包的路由
  2. 基于MD5的增强型摘要算法
  3. 【Spring】23、ApplicationContext ,ApplicationContextAware,Listener,Event 的关系解读
  4. php文件上传及头像预览
  5. ORM 和 JDBC有何不一样
  6. python3数据类型
  7. 关于webStrom-11.1配置less且自动生成.css和自动压缩为.min.css/.min.js
  8. 从输入 URL 到页面加载完的过程中都发生了什么事情 —— 网络优化篇
  9. memcached全面剖析–3.memcached的删除机制和发展方向
  10. C# 采用系统委托的方式处理线程内操作窗体控件(转载)