zoukankan      html  css  js  c++  java
  • 省选模拟14

    T1:
    要求一个类似欧拉回路的东西
    考虑其实就是将奇度数点两两配对,配对的代价为最短路长度,求最小代价
    发现边权的特殊性(2^i),有一个很好的性质(sumlimits_{i=1}^{n-1}2^i < 2^n)
    那么最短路就都是最小生成树上的路径
    只需要跑出最小生成树,然后在树上配对就行了

    T2:
    神题OwO
    将(i,j)->(i-j,j),相当于把三角形的每行斜着排
    发现变为了将一个排列放入一个特定形状且满足(f_{i-1,j}<f_{i,j}&&f_{i,j-1}<f_{i,j})的方案数
    这就是个杨氏矩阵,那么运用钩子公式解决即可
    杨氏矩阵与钩子公式

    T3:
    又是神题OAO
    考虑每个人的决策,实际上就是选择消除上次对方的操作或付出代价占得先手
    考虑如果到了第n-1次a[n−1]之前没被翻转,那a[n]就会翻转,n mod 2那一方就会丢掉a[n]
    令f[i]代表如果到了第i轮,a[i]之前没被翻转过,那么另外一方就会丢掉f[i]
    发现f[i]等于从i开始的后缀最小值
    那么对于是后缀最小值的位置一定会选择付出代价占得先手
    所以设所有后缀最小值的位置集合为S
    对于(i otin S),i被i mod 2 一方得到
    对于(i in S),i被last mod 2 一方得到,last为i在S中的前驱
    因为权值只会减小,所以用个set维护就完了

  • 相关阅读:
    04_Windows平台Spark开发环境构建
    Hadoop Streaming 使用及参数设置
    Kafka 及 PyKafka 的使用
    Database Subquery
    Miscellaneous
    Emacs
    算法归纳
    逆元求组合数
    Elasticsearch 原理
    Linux的内存分页管理【转】
  • 原文地址:https://www.cnblogs.com/Gkeng/p/12730385.html
Copyright © 2011-2022 走看看