题目传送门(内部题139)


输入格式

  第一行两个整数$k,ans$,表示内存地址$A$的位数,以及答案所在的内存地址。
  接下来一行$2^k$个整数,分别表示内存地址$0...2^k-1$上的值。


输出格式

  输出一行一个正整数,表示这个程序输出结果的期望在模$10^9+7$意义下的值。


样例

样例输入1:

2 3
3 2 1 0

样例输出1:

500000005

样例输入2:

3 4
1 4 2 7 5 7 1 4

样例输出2:

125000003


数据范围与提示

样例解释:

  第一组样例的答案是$\frac{3}{2}$,第二组样例的答案是$\frac{17}{8}$。

数据范围:

  令内存内的数值的值域为$[0,v]$中的整数。
  对于$20\%$的数据,$k\leqslant 4$。
  对于$50\%$的数据,$k\leqslant 12$。
  对于另$20\%$的数据,$v=1$。
  对于$100\%$的数据,$1\leqslant k\leqslant 18,v=10^9,0\leqslant ans<2^k$。


题解

先来解释一下题意。

那个差是绝对值……

$ans$是下标

别问我怎么看出来的,我没看出来!!!

用$DeepinC$说的话就是:“用脚写题面的出题人。”

于是就有了个结论……

答案就是:

$$\frac{\sum\limits_{i=0}^{2^k-1}|v_i-v_{ans}|}{2^k}$$

时间复杂度:$\Theta(2^k)$。

期望得分:$100$分。

实际得分:$100$分。


代码时刻

#include<bits/stdc++.h>
using namespace std;
const int mod=1000000007;
int k,s;
int v[300000];
long long sum,ans;
long long qpow(long long x,long long y)
{
long long res=1;
while(y)
{
if(y&1)res=res*x%mod;
x=x*x%mod;y>>=1;
}
return res;
}
int main()
{
freopen("table.in","r",stdin);
freopen("table.out","w",stdout);
scanf("%d%d",&k,&s);
for(int i=0;i<(1<<k);i++)scanf("%d",&v[i]);
for(int i=0;i<(1<<k);i++)sum=(sum+abs(v[i]-v[s]))%mod;
int wzc=1<<k;
int gcd=__gcd(1LL*wzc,sum);
sum/=gcd;wzc/=gcd;
printf("%lld",sum*qpow(wzc,mod-2)%mod);
return 0;
}

rp++

[CSP-S模拟测试]:打表(猜测题意+结论)的更多相关文章

  1. core的 Linq基本使用,简单模拟数据库多表的左右内连接的测试

    1:先看效果: 2:部分代码截图 3:全部代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 n ...

  2. csp-s模拟测试91

    csp-s模拟测试91 倒悬吃屎的一套题. $T1$认真(?)分析题意发现复杂度不能带$n$(?),计划直接维护答案,考虑操作对答案的影响,未果.突然发现可以动态开点权值线段树打部分分,后来$Tm$一 ...

  3. noi2019模拟测试赛(四十七)

    noi2019模拟测试赛(四十七) T1与运算(and) 题意: ​ 给你一个序列\(a_i\),定义\(f_i=a_1\&a_2\&\cdots\&a_i\),求这个序列的所 ...

  4. springboot2.0入门(四)----mock模拟测试+单元测试

    一.本节主要记录模拟测试.单元测试: 二.mock 测试 1.1什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象 ...

  5. [CSP-S模拟测试]:Star Way To Heaven(最小生成树Prim)

    题目描述 小$w$伤心的走上了$Star\ way\ to\ heaven$. 到天堂的道路是一个笛卡尔坐标系上一个$n\times m$的长方形通道(顶点在$(0,0)$和$(n,m)$),小$w$ ...

  6. csp-s模拟测试99

    csp-s模拟测试99 九九归一直接爆炸. $T1$一眼板子. $T2$一眼语文题(语文的唯一一次$120+$是给模拟出来的可知我的语文能力). $T3$一眼普及题. ?? Hours Later 板 ...

  7. csp-s模拟测试94

    csp-s模拟测试94 一场简单题,打爆了.$T1$脑抽分解质因数准备分子分母消,想了半天发现$jb$互质直接上天,果断码了高精滚蛋.$T2$无脑手玩大样例,突然灵光一闪想到映射到前$K$大小的区间, ...

  8. csp-s模拟测试90

    csp-s模拟测试90 考场发明$Spfa$祭. $T1$按照题意模拟,然后我就发现我死了.一气之下删掉了$priority$,拍了几下发现贼jb快而且还是对的就开心地交了.$T2$的差分状态定义很棒 ...

  9. csp-s模拟测试83(集训过半)

    csp-s模拟测试83(集训过半) 一场信心赛.起初$OJ$爆了我就看见全场$A$了$T1$并且夹杂着$A$掉$T2$我就很难受. 这场比赛没有深入思考,很失败,一个多小时后就结束了我罪恶的一生. 0 ...

随机推荐

  1. Spring的AOP,Struts2的拦截器(Interceptor),以及springMVC的(interceptor)

    参考外链:http://www.ibm.com/developerworks/cn/java/j-lo-springaopfilter/ 1.首先,spring的AOP作用范围很广,可以使用Aspec ...

  2. 多Y轴示例

    //多Y轴示例 <template> <div id="main" :style="{width:'1000px',height:'500px' }&q ...

  3. springboot访问出错,mapperScan导包错误java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider.<init>() at java.lang.Class.getConstructor0(Class.java:3082) ~[na:1.8.0_172] at java.

    2019-08-06 12:42:03.153 ERROR 10080 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Se ...

  4. 仿造email后缀自动添加功能(1)

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. linux系统查看某个用户错误登录次数

    pam_tally2 --user user_name 查看user_name用户的错误登录次数 pam_tally2 --user user_name --reset 清空user_name用户的错 ...

  6. Nginx的软件架构

    nginx原理架构图 Nginx是 master/worker 模型 一个master进程,可生成一个或多个worker进程,每个worker进程基于事件驱动机制响应客户端请求: 事件驱动机制:epo ...

  7. Spring Boot热部署插件

    在实际开发中,我们修改某些代码逻辑功能或页面都需要重启应用,这无形中降低了开发效率,热部署是指当我们修改代码后,服务能自动重启加载新修改的内容,而不需要重启应用,这样大大提高了我们开发的效率. Spr ...

  8. (转) Linux安装启动FTP服务

    Linux安装启动FTP服务 Linux服务器默认是没有开启FTP服务的.也没有FTP服务器,为了文件的传输需要用到FTP服务器,以典型的vsftpd为例.vsftpd作为FTP服务器,在Linux系 ...

  9. zencart简单设置分类链接不同css样式

    includes/templates/模板/sideboxes/tpl_categories.php $content .= '<a class="'.$new_style.'&quo ...

  10. 文件操作相关函数(POSIX 标准 open,read,write,lseek,close)

    POSIX标准 open函数属于Linux中系统IO,用于“打开”文件,代码打开一个文件意味着获得了这个文件的访问句柄. int fd = open(参数1,参数2,参数3): int fd = op ...