头像

平衡树




离线:18小时前


最近来访(176)
用户头像
哈夫曼树不是树
用户头像
佩奇吹风机
用户头像
ceer
用户头像
我要当猛1
用户头像
Lengyu
用户头像
Tiwwp8n24
用户头像
Vafþrúðnir
用户头像
gesong
用户头像
有机物
用户头像
Spare
用户头像
卡特琳娜
用户头像
做事要有遗逝感
用户头像
y_856
用户头像
_yuki
用户头像
uboat2022
用户头像
云衣醉梦
用户头像
PseudorandomGenerators
用户头像
董文杰
用户头像
dream小健健
用户头像
心向远方

新鲜事 原文

谁有周赛前五才能获得的AC帽的照片



性质一: 加减操作不能相邻。
性质二: 不能连续出现加法操作。


$f_i$ 表示从 $0$ 转移到 $i$ 的最少代价。三种方式每种都写。

$f_i = \min({ f_i, f_{i - 1} + x , f_{i + 1} + x })$

$f_{i \times 2} = \min({ f_{i \times 2}, f_i + y })$

#include <bits/stdc++.h>
#define int long long

using namespace std;

const int N = 2e7 + 10;

int n, x, y, f[N];

signed main()
{
    cin >> n >> x >> y;
    memset(f, 0x3f, sizeof f);
    f[0] = 0;
    for (int i = 1; i <= n; i++)
    {
        f[i] = min(f[i], f[i - 1] + x);
        f[i] = min(f[i], f[i + 1] + x);
        f[i * 2] = min(f[i * 2], f[i] + y);
    }

    cout << f[n] << endl;
}


活动打卡代码 AcWing 4805. 加减乘

#include <iostream>
#include <cstring>
#include <algorithm>
#define int long long

using namespace std;

const int N = 2e7 + 10;
int n, x, y, f[N];

signed main()
{
    cin >> n >> x >> y;
    memset(f, 0x3f, sizeof f);
    f[0] = 0;
    for (int i = 1; i <= n; i ++ )
    {
        f[i] = min(f[i], f[i - 1] + x);
        f[i] = min(f[i], f[i + 1] + x);
        f[i * 2] = min(f[i * 2], f[i] + y);
    }

    cout << f[n] << endl;

    return 0;
}


新鲜事 原文

平衡树
17天前
今晚 AcWing 周赛难度评价:T3 < T1 < T2



新鲜事 原文

平衡树
17天前
1min T3


新鲜事 原文

平衡树
17天前
春节还有人打比赛吗?/oh


活动打卡代码 AcWing 4729. 解密

平衡树
19天前
//这里填你的代码^^
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~


新鲜事 原文

平衡树
19天前
import std: int main() { Std::cout<< "Hello, World!\\n"; } C++ 23


活动打卡代码 AcWing 4818. 奶牛大学

平衡树
20天前
//这里填你的代码^^
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~


活动打卡代码 AcWing 4728. 乘方

平衡树
20天前
//这里填你的代码^^
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~