• ATCODER ABC 099


    ATCODER ABC 099

    记录一下自己第一场AK的比赛吧。。。虽然还是被各种踩。。。

    只能说ABC确实是比较容易。

    A

    题目大意

    给你一个数(1~1999),让你判断它是不是大于999。

    Solution

    没什么好说的,代码学过编程就应该都会打。

    B

    题目大意

    有一排树,高度分别为1,1+2,1+2+3,1+2+3+4....1+2+3+...+999.现在下雪了,给出露在外面的两棵相邻的树的高度,问你雪的厚度。

    Solution

    明显,我们把这俩数减一下就可以得出他们本来的位置,然后直接算一下第二个数本来多大,减去输入就可以了。

    C

    题目大意

    输入一个N,你可以有三种操作:1,把这个数-1;2,把这个数(-6^x);3,把这个数(-9^x).要求用最少的次数使这个数减小到0.x可为任意数。

    N<=100000。

    Solution

    容易发现的是能够减的数其实不多,一共只有不到10个。然后可以手动写一个贪心程序发现大样例过不了(样例良心)。于是思考搜索,暴力寻找所有的方案,加上记忆化后随便就跑过去。

    D

    题目大意

    给定一个(N*N)的矩阵,其中每个格子都有它的颜色。一共有C种颜色。行列的编号从左到右从上到下分别为1,2,3,...,N。

    现在要求让所有(i+j)%3余数相同的格子颜色是同样的,余数不同的格子颜色是不同的。把一个格子里的颜色a变成另一种颜色b需要(d[a][b])的代价。求最小代价。

    Solution

    这道题难在题意理解,把这题面翻译过来不是很容易。其他的就简单了。首先可以想到枚举把每个格子变成什么颜色,暴力计算,这样复杂度略高,不过确实是对的。

    然后考虑预处理出来每一种格子都涂成一种颜色需要多少花费,计算的时候直接调用就可以了。复杂度在可以承受的范围内,足矣通过本题。

  • 相关阅读:
    C#的ThreadStart 和 Thread
    Thread.Join() 方法
    JSON 数据格式
    C#调试入门篇
    dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
    由一篇文章引发的思考——多线程处理大数组
    windows如何定时关闭一个程序
    Spring Boot连接DB2查询结果时报错“java.lang.AbstractMethodError: com.ibm.db2.jcc.t4.b.isValid(I)Z”的解决办法
    [转]德哥的PostgreSQL私房菜
    CockroachDB学习笔记——[译]为什么Go语言是CockroachDB的正确选择
  • 原文地址:https://www.cnblogs.com/victorique/p/9166800.html
Copyright © 2020-2023  润新知