zoukankan      html  css  js  c++  java
  • Kick Start 2018

    1. Common Anagrams

    Q:两个字符串A,B,问有多少对子串是字母异序词。
    A:

    1. 枚举所有子串,然后对比。
    2. 改进:添加一个map
    3. 再改进:桶排序,算每个字符出现的次数
    4. 再再改进:B[i,j]是B[i,j-1]出现次数+j对应字符数目+1

    2. Specializing Villages

    Q:Kickstartia的乡村由V个村庄组成,由双向道路连接。由于市民欣赏道路建设的多样性,没有两条路的长度相同。每条路恰好连接两个村庄,没有两条路连接同一两个村庄。新国王急于炫耀自己的进步,他想制定一个计划,让每个村庄专门生产一种食物:水果或蔬菜。如果一个村庄生产水果,那么他们就会找到一条最短的路径(可能使用多条道路)去某个生产蔬菜的村庄。同样地,如果一个村庄生产蔬菜,那么他们会找到一条最短的路径去生产水果的村庄。为了让事情顺利进行,国王想要最小化每个村庄获取非生产性食物所需的平均距离。有很多方案可以最小化这个平均距离,所以国王希望你告诉他有多少。如果一个村庄在一个计划中生产水果,而在另一个计划中生产蔬菜,那么两个计划是不同的。国王保证有可能找到一个方案,让每个村庄都能得到水果和蔬菜。
    A:

    1. 思路:如果每个村庄都能从相邻的最近的村庄拿到需要的东西,则平均距离最短
    2. 想法:Prim算法产生最小生成树。
  • 相关阅读:
    数据结构8.4_动态存储管理之伙伴系统
    http code码实验
    php问题
    对称加密和非对称加密
    公钥与私钥,HTTPS详解
    数字证书原理,公钥私钥加密原理
    简明 Nginx Location Url 配置笔记
    HTTP状态码精简版
    给你掰扯清楚什么是正向代理,什么是反向代理
    关键字
  • 原文地址:https://www.cnblogs.com/xym4869/p/13263398.html
Copyright © 2011-2022 走看看