zoukankan      html  css  js  c++  java
  • 考试总结 模拟58

    T1「试除法」

    可以发现m只有200,不难猜到复杂度是 $O(msqrt{a_i})$

    只需要把每个数$O(sqrt{a_i})$试除法,求一下约数并且记录一下每个数作为约数出现了多少次即可,用map实现多了个$log$

    当然也可以开数组记录,由试除法推论,一个数N的约数个数最多为$2sqrt{N}$,所以开1e7左右即可,

    T2 「背包DP」

     我背包DP就没会过考场上只能死板地摸(mo)索(xie)了板子苟到了40分

    这个思路很好,之前的都是$f[cost]=max-val$,由于cost很大,那么就可以把下标和值换一下,再跑DP

    1 for(int i=1;i<=n;++i){
    2     for(int j=n*single_val;j>=1;--j){
    3         f[j]=min(f[j],f[j-val[i]]+cost[i]);
    4     }
    5     for(int j=n*single_val;j>=1;--j){
    6         f[j]=min(f[j],f[j+1]);
    7     }
    8 }

    离线一下,每次lower_bound复杂度$O(n^2v+qlog{nv})$

    T3什么点分支,并查集的思路出想了好几次,模拟41 T2 影子

    愿你在迷茫时,记起自己的珍贵。
  • 相关阅读:
    X-Plosives (并查集)
    HDU1272小希的迷宫 (并查集)
    React 初学
    js 插件 issue
    js常用方法
    常用网址
    js 零零散散的总结。
    git 常用命令
    es6 babel编译
    屏幕适配
  • 原文地址:https://www.cnblogs.com/casun547/p/11620336.html
Copyright © 2011-2022 走看看