[CSP-S模拟测试]:打表(猜测题意+结论)
题目传送门(内部题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模拟测试]:打表(猜测题意+结论)的更多相关文章
- core的 Linq基本使用,简单模拟数据库多表的左右内连接的测试
1:先看效果: 2:部分代码截图 3:全部代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 n ...
- csp-s模拟测试91
csp-s模拟测试91 倒悬吃屎的一套题. $T1$认真(?)分析题意发现复杂度不能带$n$(?),计划直接维护答案,考虑操作对答案的影响,未果.突然发现可以动态开点权值线段树打部分分,后来$Tm$一 ...
- noi2019模拟测试赛(四十七)
noi2019模拟测试赛(四十七) T1与运算(and) 题意: 给你一个序列\(a_i\),定义\(f_i=a_1\&a_2\&\cdots\&a_i\),求这个序列的所 ...
- springboot2.0入门(四)----mock模拟测试+单元测试
一.本节主要记录模拟测试.单元测试: 二.mock 测试 1.1什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象 ...
- [CSP-S模拟测试]:Star Way To Heaven(最小生成树Prim)
题目描述 小$w$伤心的走上了$Star\ way\ to\ heaven$. 到天堂的道路是一个笛卡尔坐标系上一个$n\times m$的长方形通道(顶点在$(0,0)$和$(n,m)$),小$w$ ...
- csp-s模拟测试99
csp-s模拟测试99 九九归一直接爆炸. $T1$一眼板子. $T2$一眼语文题(语文的唯一一次$120+$是给模拟出来的可知我的语文能力). $T3$一眼普及题. ?? Hours Later 板 ...
- csp-s模拟测试94
csp-s模拟测试94 一场简单题,打爆了.$T1$脑抽分解质因数准备分子分母消,想了半天发现$jb$互质直接上天,果断码了高精滚蛋.$T2$无脑手玩大样例,突然灵光一闪想到映射到前$K$大小的区间, ...
- csp-s模拟测试90
csp-s模拟测试90 考场发明$Spfa$祭. $T1$按照题意模拟,然后我就发现我死了.一气之下删掉了$priority$,拍了几下发现贼jb快而且还是对的就开心地交了.$T2$的差分状态定义很棒 ...
- csp-s模拟测试83(集训过半)
csp-s模拟测试83(集训过半) 一场信心赛.起初$OJ$爆了我就看见全场$A$了$T1$并且夹杂着$A$掉$T2$我就很难受. 这场比赛没有深入思考,很失败,一个多小时后就结束了我罪恶的一生. 0 ...
随机推荐
- python-连接mysql实例
import pymysql # 创建连接 conn = pymysql.connect(host='192.168.71.140', port=3306, user='root', passwd=' ...
- Constructing Tests CodeForces - 938C
大意: 定义m-free矩阵: 所有$m*m$的子矩阵至少有一个$0$的$01$矩阵. 定义一个函数$f(n,m)=n*n$的m-free矩阵最大$1$的个数. 给出$t$个询问, 每个询问给出$x$ ...
- this —— javascript
目录 为什么要讨论this this是什么 如何改变this的指向 箭头函数中的this 为什么要讨论this 代码一: function fun1(){ var aa = 'I am aa'; co ...
- Java 获取日期间的日期 & 根据日期获取星期
场景:根据起止日期获取中间的日期: 根据日期获取当前日期的星期 根据日期日期获取日期 /** * 获取日期间日期 * @param start * @param end * @return */ pr ...
- Nginx默认配置语法
Nginx默认配置语法 1. 我们进入 /etc/nginx/目录下,打开 nginx.conf文件 2. 我们来解析下 这里面标签和各模块的作用 # 设置nginx服务的系统使用用户 user ...
- laravel 使用 intervention/image 的注意方法
出错NotSupportedException in AbstractEncoder.php line 151: Encodingformat (tmp) is not supported. 这个只是 ...
- 关于python3.8的一些新特性的解析与代码演示
python3.8测试版出来了,我们来介绍一些变动,代码演示一下,当然底层相关的细节变动就不介绍了 只允许传位置参数 还记得如果我们想让某些参数只能以关键字参数的方式传递该怎么做吗? def foo1 ...
- JavaWeb零基础入门-02 开发环境安装
大家好!我又来了,上一篇我们讲了一些基础概念:Html.Web服务器.数据库.Http和JavaWeb三大组件,它们是什么,有什么作用,都有了初步的了解.接下来我们进入学习JavaWeb的第一步,开发 ...
- cmd中subst的使用
SUBST [drive1: [drive2:]path] drive1: 指定要指派路径的虚拟驱动器.[drive2:]path 指定物理驱动器和要指派给虚拟驱动器的路径. 路径替换 ...
- java string split 怎么保留尾部空字符串
# 不保留尾部空字符串 public class QQ { public static void main(String[] args) { String str = "a,b,c,d,&q ...