NYIST20级排位赛第二场 复盘

更好的阅读体验http://www.abmcar.top/archives/nyist20%E7%BA%A7%E6%8E%92%E4%BD%8D%E8%B5%9B%E7%AC%AC%E4%BA%8C%E5%9C%BA%E5%A4%8D%E7%9B%98

A - 涂色 AtCoder - agc004_a

sb题 看长宽高是否能被2整除,是则能平均分,否则差一层
唯一的问题就是用wth/maxL会wa,猜测可能是爆ll了

B - 旅游 LibreOJ - 10078

占坑待补

C - 序列 POJ - 3061

尺取板子题

E - 模拟 POJ - 1208

按照题意模拟即可
我认为需要注意的

  • 当a和b在同一堆上时跳过
  • 可以而外增加一堆作为中转

F - 橘子 POJ - 3321

dfs序+树状数组的板子(大概

G - 机器 CodeForces - 1296C

可以把LR当作+1 -1 把UD当成+1e6 -1e6
计算前缀和,判断该数是否在之前出现过,可以采用map实现

H - 签到 CodeForces - 1343B

签到构造

I - 房子 LightOJ - 1047

用一个二维的数组进行dp

void work()
{
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> costR[i] >> costG[i] >> costB[i];
    map<int, int> F[4];
    F[1][1] = costR[1];
    F[2][1] = costG[1];
    F[3][1] = costB[1];
    for (int i = 2; i <= n; i++)
    {
        F[1][i] = min(F[2][i - 1], F[3][i - 1]) + costR[i];
        F[2][i] = min(F[1][i - 1], F[3][i - 1]) + costG[i];
        F[3][i] = min(F[2][i - 1], F[1][i - 1]) + costB[i];
    }
    cout << "Case " << ++cnt << ": ";
    cout << min(F[1][n],min(F[2][n],F[3][n])) << Endl;
}

J - 暴力 计蒜客 - T1217

sb暴力,但是他没说n*m的范围导致一直没敢交
(可恶 下次直接莽一发再说

L - 游戏 CodeForces - 1327C

先把所有点挪到左上角,再S型走一遍,总次数为n+m+n*m-1
需要注意细节处理
(开始以为棋子不能重复也不会掉下去,还以为是什么奇奇怪怪的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Abmcar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值