zoukankan      html  css  js  c++  java
  • 大学ACM第八周心得

    写在前面:

    1. dp要设置好初始状态

    2. MLE不一定是数组,结构体之类开大了,也可能是递归调用太多内存

    3. 看清楚有没有多组数据


    USACO题目

    1. Training 2.2.2 Subset Sums

    01背包,总容量为(1+2+...+n)/2

    1. Training 2.2.3 Runaround Numbers

    我直接暴力枚举,暴力判断了。看了一下,还可以用搜索构造,至多构造到九位数,枚举每一位可以填什么数,以及下一位是否指向一个空位,所填的是最后一个空位,那么你一定要让其指向第一位。

    1. Training 2.3.1 The Longest Prefix

    一般做法是dp,可以配合trie也可以配合set,如果从前往后枚举字符串位置,从当前位置往前截一段(从集合里最大的长度开始截)截后的字符串是合法的话,那么当前也是合法的。用ac自动机也可以做,原理是一样的。

    1. Training 2.3.2 Cow Pedigrees

    设dp【i】【j】表示i个点小于等于j层的方案数,那么最终我们所需的答案就是dp【n】【k】-dp【n】【k-1】,枚举一个t,表示分t个点给左子树,剩下i-t-1(除去当前的根)分给右子树,然后用乘法原理

    1. Training 2.3.3 Zero Sum

    就暴搜,九位数就八个位置要确定,O(2^8)

    1. Training 2.3.4 Money Systems

    裸的背包

    1. Training 2.3.5 Controlling Companies

    暴力搞也能过,因为数据范围很小;还可以用有点像并查集的做法,就把关系链建好,然后从父亲开始找儿子;还看到用网络流的(而我并不会)


    这周学的算法:AC自动机,主席树,种类并查集,带权并查集,左偏树,划分树

    其实大多也只打了模板题,还不太会应用

  • 相关阅读:
    9011,9012,9013,9014,8050,8550三极管的区别
    XP制动关机CMD命令
    搭建系统框架发现的三个Web.Config问题
    监听公众号返回按钮,直接退出到公众号页面
    微信公众号h5页面自定义分享
    博客园页面设置
    js 中加减乘除 比较精确的算法,js本身有些运算会出错,这里给出较精确的算法
    HTML属性
    HTML属性
    处理ajax数据;数据渲染(细节)
  • 原文地址:https://www.cnblogs.com/71-111/p/14136355.html
Copyright © 2011-2022 走看看