zoukankan      html  css  js  c++  java
  • csp-s模拟83

    T1:
      考虑全部的异或和为sum,若小Q选择边的异或和为q,那么小T的分数就是sum^q
      发现当sum!=0时小Q只需要选择1条边即可获胜,sum==0时平手
     
    T2:
      考虑枚举分界点统计个数
      因为要保证不重不漏,所以对于每个子序列我们设置一个特征值
      不妨设最右侧的左括号为特征值,对于每个序列只在特征值处统计即可保证不重不漏
      设(pre_i)表示([1,i])中'('的个数,(suf_i)表示([i,n])中')'的个数
    (ans = sum_{s_i='('}^n sum_{j=0}^{pre_i-1}(^{pre_i-1}_j)(^{suf_{i+1}}_{j+1}))
      考虑组合意义后化简得(sum_{s_i='('}^n (^{suf_{i+1}+pre_i-1}_{pre_i}))
     
    T3:
      神仙题
      首先想到可以设(f_{i,j,k})表示从i到j走k条边的最短路长度,(dis_{i,j})表示i到j的最短路长度
      那么答案就是(min_{p=1}^n { f_{i,p,k} + dis_{p,j} })
      但发现计算f的复杂度是(O(n^3k))的(类似floyd)
      考虑分块的思想,设计(g_{i,j,k})表示从i到j走100k条边的最短路长度
      于是可以处理1到100内的f,再用f处理g,复杂度降为(O(n^3 sqrt{k} *2))可以接受
      最后用f和dis处理出数组(h_{i,j,k})表示i到j走至少k步的最短路长度
      最后的答案为(g_{i,j,k/100}+h_{i,j,k \% 100})

  • 相关阅读:
    给jquery 添加触屏事件,上下左右 touchwipe插件
    node.js 安装运行
    CSS3 3D 盒子模型
    javascript 获取内联样式
    HTML5 离线存储应用案例
    swipe.js 轻松实现手机端滑动效果
    手机网页轮播切换,简易版
    多行文字垂直居中
    jquery实现简单轮播
    利用media query写响应式布局
  • 原文地址:https://www.cnblogs.com/Gkeng/p/11833947.html
Copyright © 2011-2022 走看看