zoukankan      html  css  js  c++  java
  • CSP 模拟17

    A:简单的区间

    如题 简单
    但是我考试的时候脑瘫不会
    cdq直接搞就完了
    每次处理跨过中点的贡献
    记录左区间和 右区间和
    Mx在左边右边分别讨论
    开一个桶来记录某个值出现过多少次
    模k可以通过推式子消除 假设此时左指针到i 右指针到j
    (sum[i] + sum[j] - Mx) % k = 0
    sum[j] % k = (Mx - sum[i]) % k
    所以桶里放sum[j]模k之后的值 然后每次查询(Mx - sum[i]) % k 一共出现过几次
    然后就可以直接在桶里找答案了




    B:简单的玄学

    首先答案肯定是 (cfrac{A^{m}_{2^n}}{2^{nm}})
    不会的建议重学排列组合
    然后考虑怎么约分
    首先肯定只可以约掉2
    所以就是求(A^{m}_{2^n})
    (A^{m}_{2^{n-1}})
    这个东西中2的因子个数 和(m-1)!是一样多的

    证明:也就是证(2^n) - (a) 中的2因子与 a中的一样多
    设a = (2^k) * x
    则原式可以化为(2^k) * ((2^{n-k}) - x)
    而后面的柿子一定不含2的因子
    所以含有就是(2^k) 即a中含有的2的因子数

    而k!中含有2的因子数是个挺经典的问题(我怎么不知道

    证明很简单 随便一手模就理解了
    约分之后直接取模就能做了





    C:简单的填数

    一些性质是很显然的
    所以大模拟就好了
    贪心




    D:聪聪和可可

    本来以为是个期望dp
    记忆化优化暴力
    预处理出来 聪聪在x 可可在y 位置是 聪聪下一步会去哪里就好了
    搜索的时候记忆化一下

    如初见 与初见
  • 相关阅读:
    mybaits不能出现小于号
    结合rpyc使用python实现动态升级的方法
    secureCRT使用小贴士
    大数据的实时技术
    gnuplot使用
    Python3.4使用MySql
    Linux内存分配----SLAB
    WinInet:HTTPS 请求出现无效的证书颁发机构的处理
    正则表达式学习
    C++中static的全部作用
  • 原文地址:https://www.cnblogs.com/HISKrrr/p/13823398.html
Copyright © 2011-2022 走看看