HPU1460: 杨八方的表面兄弟
题目描述
如果你之前关注过HPUOJ的话,那么你一定听说过杨八方的名字。在去年,很多同学共同见证了杨八方同学的填报志愿、来到学校、军训……或许你曾陪同杨八方一起思考过许多问题,又或者你是刚听说这个名字,这都不是问题。
光阴荏苒,杨八方不见踪影已数月之久。然而,杨八方的故事还没有结束,正值第八届河南理工大学程序设计大赛开幕之际,让我们来继续关注一波杨八方的故事吧。
事实上,杨八方最近在苦恼宿舍中与室友的关系。我们知道很多宿舍都有自己的QQ群,杨八方的宿舍也不例外,六个小伙伴都在共同创建的一个QQ群中,没事聊聊天气氛也算融洽。但是,杨八方最近突然震惊的发现一个现象,她的五个室友竟然莫名其妙地共同商量好了一个事情。事情具体是什么不重要,重要的是她并没有看到室友们面对面开过什么小会议,莫非……宿舍除了共同的QQ群外还有一个五人群没加自己?
于是杨八方开始思考,假设两个人及以上便可创建一个QQ群,那么n个人的宿舍最多可能有几个不一样的QQ群呢?
输入
第一行有一个整数T,代表有T组数据。
下面T行每行是一个整数n,代表这个宿舍有n个人。
1<=T<=100000
1<=n<=1000000000
输出
对于每一个结果可能很大,所以你只需要输出对1000000007取模的结果。
样例输入
2
2
6
样例输出
1
57
首先对数据分析,寻找规律
当n=1时s=0;n=2时s=1;s>=3时,s=2^n-(n+1);
由于题目要求要对1000000007取模,所以要用快速幂取模,最后减去(n-1)
注意:当上述方法求得s<0时,s=s+1000000007(因为这一点WA了8次QAQ与校赛银牌无缘(╥╯^╰╥))
#include<stdio.h>
#include<math.h>
typedef long long ll;
ll mod_pow(ll x,ll n,ll mod)
{
ll res=1;
while(n>0)
{
if(n&1) res=res*x%mod;
x=x*x%mod;
n>>=1;
}
return res;
}
int main()
{
int t;
ll n,s;
scanf("%d",&t);
while(t--)
{
scanf("%lld",&n);
if(n==1) s=0;
else if(n==2) s=1;
else
{
s=mod_pow(2,n,1000000007)-(n+1);
if(s<0) s+=1000000007;
}
printf("%lld\n",s);
}
return 0;
}
HPU1460: 杨八方的表面兄弟的更多相关文章
- python爬取三国演义的所有章节储存到本地文件中
#爬取三国演义的全部章节 2 3 import urllib 4 import urllib.request 5 import urllib.parse 6 from lxml import etre ...
- 45.更新一下scrapy爬取工商信息爬虫代码
这里是完整的工商信息采集代码,不过此程序需要配合代理ip软件使用.问题:1.网站对ip之前没做限制,但是采集了一段时间就被检测到设置了反爬,每个ip只能访问十多次左右就被限制访问.2.网站对请求头的检 ...
- 专利事务所信息Python爬取
数据来源:http://www.acpaa.cn/ 目前事务所的信息没有做反爬限制,还是很容易拿到数据的 没有用html解析工具,直接上正则,结果就是需要处理很多乱七八糟的空格...为了能将日期顺利的 ...
- SQL Server中一些有用的日期sql语句
SQL Server中一些有用的日期sql语句 1.一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一 SELECT DA ...
- MongoDB常用数据库命令第二集
=======================基础命令======================= mongo 进入数据库操作界面db 查看当前使用的数据库show dbs 查看当前已经被创建出来的 ...
- 【科创人上海行】Tinyfool郝培强 :始于不惑的微服务式创业,背负身心病痛贴地飞行
Intro 科创人,分享技术创业者的成长与创业经验. 何谓创业?勇于面对未知.肩负重任的人生抉择. 何谓经验?沟沟坎坎.有笑有泪,各有其宝贵. 科创人的价值支点是"人",我们不以市 ...
- JSON(及其在ajax前后端交互的过程)小识
一. json介绍 json是一种轻量级的数据交换格式,规则很简单: 并列的数据之间用逗号(,)分隔: 映射用冒号(:)表示: 并列数据的集合(数组)用方括号([])表示: 映射的集合(对象)用大括号 ...
- mongodb 速成笔记
以下环境为mac osx + jdk 1.8 + mongodb v3.2.3 一.安装 brew安装方式是mac下最简单的方式 brew update brew install mongodb 其它 ...
- 用SQL SERVER取分组数据第一条:查出每个班级的成绩第一名
create table test (id int, name ), score int, classname )); ,,'一班'); ,,'一班'); ,,'一班'); ,,'二班'); ,,'二 ...
随机推荐
- 把旧系统迁移到.Net Core 2.0 日记(5) Razor/HtmlHelper/资源文件
net core 的layout.cshtml文件有变化, 区分开发环境和非开发环境. 开发环境用的是非压缩的js和css, 正式环境用压缩的js和css <environment includ ...
- css 改变浏览器滚动条的样式
/*滚动条样式*/ .innerbox::-webkit-scrollbar {/*滚动条整体样式*/ width: 4px; /*高宽分别对应横竖滚动条的尺寸*/ height: 4px; } .i ...
- laravel中当使用Elquent ORM中的模型作为参数进行传递时的方法:
Controller中的函数: /* $modelArg:是调用模型的路径,以字符串的形式传递过来. $id:要查询当前模型的id号. $args:具体查询的字段 */ public function ...
- Win10系列:UWP界面布局进阶3
与以往的Windows操作系统不同,Windows 10操作系统在正式版当中取消了任务栏中的"开始"按钮,将大部分的应用程序图标放置在开始屏中,同时将系统设置等常用功能整合到了Ch ...
- tomcat 线程数与 mysql 连接数综合调优
目前线上系统包含 数据收集+数据分析+中心服务,三个均为 tomcat,共用一个mysql服务. 由于tomcat最大线程数200 *3 =600,最大并发时,会有600个jdbc连接.当然这是极端情 ...
- RabbitMQ 队列、消息持久化
RabbitMQ的消息队列的持久化是一个很不错的功能,设置也非常简单.如下代码: 1.设置队列持久化(在声明队列的时候设置) channel.QueueDeclare(queue: "q.l ...
- relativeURL 相对URL的坑
我正在尝试实现一个使用RestKit的iOS应用程序.在我迄今为止看到的所有示例中,以下代码用于创建URL: NSURL *baseURL = [NSURL URLWithString:@" ...
- uitableView group模式下的间距问题
我么在使用group模式定义tableview的时候,系统默认是会有head和foot的间距的,来区分我们不同的group:在具体使用的时候又时候我们不需要这个间距.我们可以重新赋值这些间距来达到我们 ...
- python造数
做性能测试时,往往需要大量的参数化数据,比如注册. from random import Random def random_str(randomlength=8): str='' chars='01 ...
- freemarker中的null异常处理以及!与??的使用(转)
原文链接: https://blog.csdn.net/mexican_jacky/article/details/50638062 阅读数:6304 如工程包含: 在user中我们有个角色,那么我们 ...