zoukankan      html  css  js  c++  java
  • 2.4

    T1:

    太菜,不会sam

    就只会暴力

    枚举k,枚举两端,再暴力check,如果一样ans++


    T2:

    还是只会暴力

    把一个数,分成若干段,然后检验这个是否在数列里

    分成若干段可以直接爆搜是否在每一个位置上插隔板

    检验的话,就从第一个数开始构造字符串,一直够到比原数长

    然后再比较原数和这个串是否相配,直接暴力扫

    如果相配,找到第一个数的位置(分类讨论:位数小于它的+位数等于它的)

    与ans取min

    复杂度:O(2^n*n^2)


    T3:

    考场上完全蒙了,rand了10

    现在知道了,数据范围几百的基本就是网络流

    目前不会构造,只会证明一个构造是对d

    构造:

    我们把1~n称为入点,把n+1~n+n称为出点

    从源点开始,与入点连一条1的边

    每个出点与汇点连一条1的边

    然后有一条边(u,v)

    就从入点u连向出点v(u,v+n),容量无限

    然后跑最大流

    n-最大流就是答案

    证明:

    有一条边,可以把两个点连起来时,最大流(ans)++,而需要的路径(s)--,

    所以可以看出,二者成反相关系

    然后如果有u->v,现加一点a,满足u->a

    那么由于源点到u只有1,所以再加一条边也无法增大ans

    而n却++了,所以s++,符合题意

    同理,如果有多个点指向同一个点也没关系

    而如果新加一个点,它只被一个还没有连向别人的点连

    那么,网络流上多了一条路,因此ans++

    同时n++,所以s不变,符合题意

  • 相关阅读:
    win32_弹弹球游戏
    蓝桥杯评测_前n项和
    算法_fibonacci_递归求值
    PTA 分类
    _tmain() 和 main()
    VS2010 C++ 插件 VissualAssistX 安装
    vs2010 > LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    int、long、long long 的取值范围
    B树 B-树 B+树 B*树
    PTA 5-10 公路村村通 (30)
  • 原文地址:https://www.cnblogs.com/shenbear/p/12260798.html
Copyright © 2011-2022 走看看