zoukankan      html  css  js  c++  java
  • XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Romania

    A. Balance

    • 相当于x[i]+y[j]>=a[i][j], 最大化(sum x[i]+y[i])
    • 以为是bm,其实不是
    • 上单纯形

    B. Entanglement

    C. Gravity

    D. Infinite Pattern Matching

    • 分类讨论

    E. Inheritance

    F. Movies

    G. Origami

    H. Qnp

    I. Salaj

    upsolved

    • 考虑 dp 维护图的形状。NG
    • 考虑一个序列是不是合法的,手玩一会儿发现 (f_i=f_{i-1}) 可以获得一枚金币,(f_i<f_{i-1}) 需要支付 (f_{i-1}-f_i) 枚金币。
    • (dp[i][j][k])(i) 个位置,剩下 (j) 枚金币的方案数,花掉了 (k) 个的方案数,空间就 (O(n^5)) 了,糟糕!
    • 发现第二维不用开这么大,因为最多用 (n-1) 枚金币,所以 (dp[i][n][k]) 可以表示 (sum_{j=n}^{+} dp[i][j][k])
    • 有些状态是不合法的,如果加入 (i) 条边后,SCC 至多为 lim,那么 (f[i][][<(m-lim)]) 的状态是不合法的。
    • 仔细思考一下 dp 优化,类似于多重背包的转移,可以 (O(n^4)) 解决问题。
    • 卡常,不要用 LL,用 int。

    J. Taxi

    • 先考虑放好了 2m 个点后怎么求。
    • 两条路径不交一定不是最优。
    • 一条边左边有 (x) 个人,(y) 辆车,右边有 (x') 个人,(y') 辆车,那么这条边的贡献为 (min(x,y')+min(x',y))
    • 考虑每条边的贡献,先求一求子树内放 (?) 只卜,子树外放 (m-?) 只卜的方案数,讨论一下 (x,y') 谁更小,前缀和优化。

    K. Tris

    L. Xormites

    • xorsum = 0,谁也 win 不了,因为得分肯定一样,判掉。
    • 观察到 (n) 为偶数,先手一定 win,因为先手可以拿走所有奇数位置的元素,也可以拿走所有偶数位置的元素,判掉。【排骨龙】
    • 盯着 xorsum 看,我们发现影响胜负的是最高位的 1!
    • nice!变成 01 序列了
    • 先手第一步必须拿 1,不然就【排骨龙】了
    • 先手操作完第一步后,后手拿什么,先手就得跟什么,不然就【排骨龙】了
    • 如果 1 的个数模 4 等于 3,先手就完蛋了,因为能跟上到最后也会完蛋。
    • 问题转化成给一个长度为偶数的 01 序列,两人轮流操作,问后手能不能每轮都拿和先手一样的数字。
    • 打表找规律?不会证明啊!
      • a[l]!=a[r],当且仅当每段都是偶数。
      • 否则 solve(l,r) = solve(l+1,r-1)
  • 相关阅读:
    动态tab页
    SQL Server附加数据库拒绝访问
    SQL window身份登陆 SQL server不能登陆
    SQL UPDATE 经典
    Char Varchar Nvarchar区别
    【OpenSSL】创建证书
    makecert 制作数字证书
    cer, pfx 创建,并且读取公钥/密钥,加解密 (C#程序实现)
    CompareValidator ASP控件
    XMLHelper 类
  • 原文地址:https://www.cnblogs.com/FST-stay-night/p/12701985.html
Copyright © 2011-2022 走看看