• 19-11-10-∴


    一年$mathsf{OI}$一场空,三道林先森见祖宗。

    心态场:ZJ:

    27
    Miemeng 20
    00:00:41
    30
    00:00:41
    0
    00:00:42
    50
    00:00:42

    传说$T1$我打的是题目意思的“正解”???

    不管了,反正是手玩性质直接干的。

    能骗$20$分谢天谢地了。

    $T2$暴力写死了,本来可以有$65$的。

    因为题目太思维所以很心态。

    TJ:

    关于题解,我只写个$T1$吧。

    T1‘

    首先解释一下题意,现在有一张表,

    然后$ans$值在下标为$i$的位置,

    但是在取$i$的时候两个人在位上按概率$50\%$行动,于是会有偏移,

    现在要求差的期望。

    柿子:

    $$ans= {sum limits_{i=0}^{2^k-1}|a_{i}-a_{anspos}| over 2^{k}} $$

    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <cmath>
    #define N (1<<18)+111
    #define LL long long
    
    using namespace std;
    
    // understood...but emm...
    
    const int Mod=1e9+7;
    int k,anspos;
    int arr[N];
    LL ans=0;
    LL ppow(LL a,LL b){
    	LL res=1;
    	while(b){
    		if(b&1)res=res*a%Mod;
    		a=a*a%Mod;
    		b>>=1;
    	}
    	return res;
    }
    int main(){
    #ifndef LOCAL
    	freopen("table.in" ,"r",stdin);
    	freopen("table.out","w",stdout);
    #endif
    	scanf("%d%d",&k,&anspos);
    	for(int i=0;i<1<<k;i++)
    		scanf("%d",arr+i);
    	for(int i=0;i<1<<k;i++){
    		ans+=abs(arr[anspos]-arr[i]);
    		ans%=Mod;
    	}
    	ans=ans*ppow(ppow(2,k),Mod-2)%Mod;
    	cout<<ans<<endl;
    }
    
  • 相关阅读:
    进程的经典同步问题
    数学余数在计算机的用途
    7.货仓选址 绝对值不等式
    6. 排队打水 排序不等式
    5.合并果子 Huffman树
    4.区间覆盖 区间问题
    3.区间分组 区间问题
    2.最大不相交区间数量 区间问题
    1.区间选点 区间问题
    26.拆分-Nim游戏 博弈论
  • 原文地址:https://www.cnblogs.com/kalginamiemeng/p/Exam20191110.html
Copyright © 2020-2023  润新知