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

    A

    只有三列且只有相邻行有限制
    状压dp,f[i][s]表示考虑到i行,i行状态为s的方案数
    直接转移的话复杂度是(O(192n^2)),过不去
    考虑优化些细节
    1.预处理合法关系转移
    2.状态剪枝
    3.循环展开
    4.优化以上三点后在约束矩阵不为000 010 000这种情况下跑的还是很快的,合法转移只有不到三十对。
    把最劣情况拎出来,用组合数直接算。被部分分提醒了
    PS:注意空间

    B

    01分数规划,考场上憨憨了
    k=B/A,B=Ak,最大化k,只要判断B-Ak?0,用网络流可以求解。
    如果暴力建图点数是m级别,类似人员雇佣的优化思路
    S向i连代价,m对i j双向连收益,i向T连所以关联i的收益和
    发现割舍收益的话一定是割两条边,所以把代价乘2
    这样点数n,边数n+m级别
    我的代码加个当前弧才能过。

    C

    (sumlimits_{i=1}^n 2^{f(i)})(f(i))(i)的不同质因子个数。n<=1e12
    含义转化,相当于把(i)的所有质因子分成两组且相同质数在同一个集合的方案数
    所以$$Ans=sumlimits_{i=1}^n sumlimits_{d|i}[gcd(d,frac{i}{d})]$$
    莫比乌斯反演

    [=sumlimits_{i=1}^nsumlimits_{d|i}sumlimits_{p|d & p|frac{i}{d}}mu(p) ]

    [=sumlimits_{i=1}^nsumlimits_{p^2|i}d(frac{i}{p^2})mu(p) ]

    [=sumlimits_{p=1}^{sqrt n}mu(p)sumlimits_{i=1}^{frac{i}{p^2}}frac{n}{p^2i} ]

  • 相关阅读:
    SQLServer2012数据库降级至SQLServer2008R2的方法
    男程序猿和女程序猿的网恋—相见(二)
    收藏关于AI的相关的文章
    JAVA提高九:集合体系
    JAVA提高八:动态代理技术
    JAVA提高七:类加载器
    JAVA提高六:泛型
    JAVA提高五:注解Annotation
    JAVA提高四:反射基本应用
    JAVA提高三:反射总结
  • 原文地址:https://www.cnblogs.com/hzoi-yzh/p/12722627.html
Copyright © 2011-2022 走看看