20160408模拟

T1 大新闻
  • 题目大意
    • 定义 f(x)=max{x  xor  i}  i[0,n1]
    • ans=npi=0n1f(i)+(1p)i=0n1j=0n1i xor jn2=pni=0n1if(i)+1pn2i=0n1j=0n1i xor j
  • 题解
    • 这是两个子问题,求 if(i)i xor j
    • 第二个问题,我们只要求出对于 [1,n1] 二进制下的第i位有sum[i]个数是 1,tot=sum[i](nsum[i])2i1
    • 这个其实很好求,我们找一下规律,对于第 i 位,它为0和为1的区间是连续的,且每段长度都为2i1,那么显然 [1,n1] sum[i]=n2i2i1+max{nn2i2i2i1,0}
    • 第一个问题,我们数位DP来求,即求出第 i 位有多少个数的结果是1
    • 对于前 i1 位都与 n1 相同的第 i
      • n1i为0,那么这一位的答案一定为0,
    T2 谈笑风生
    • 题目大意
      • 给定一棵有根树
      • (a,b,c),
        • a,b,c
        • cab
        • abk
      • 每次询问时给定 a,k ,询问三元组 (a,b,c) 的数量
    • 题解
      • ba,min{k,dep[a]1}
      • ba,aaksize[i]1
      • k,
      • ksize[i]1
      • DFS
      • ,........!!!
      • DFS,size[i]1
    • CODE
    T3 图样图森破
    • 题目大意
    • 题解
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值