zoukankan      html  css  js  c++  java
  • Luogu P1103 书本整理

    题目链接

    题目大意:有n个二元组,先按第一关键字排序,定义价值为每相邻两个元素第二关键字差的绝对值和。现在去掉k个二元组,请你求出最小的价值。

    第一关键字至于排序有关,排完序后完全可以不要。

    与其考虑去掉k个二元组,不如保留n-k个二元组。

    设f[i][j]为前i个二元组保留j个的最小代价(必须含i),则前i-1个二元组中保留j-1个,枚举转移点t,得到状态转移方程:

    f[i][j]=min{f[t][j-1]}(j-1≤t<i)

    初始化:f[i][1]=0

    答案min{f[i][k]}(k≤i≤n)

    DP的代码一般不需要注释

    #include<iostream>
    #include<iomanip>
    #include<cstring>
    #include<cstdio>
    #include<cmath>
    #include<algorithm>
    #include<map>
    using namespace std;
    #define INF 0x3f3f3f3f
    inline int read() {
        char ch;
        bool bj=0;
        while(!isdigit(ch=getchar()))
            bj|=(ch=='-');
        int res=ch^(3<<4);
        while(isdigit(ch=getchar()))
            res=(res<<1)+(res<<3)+(ch^(3<<4));
        return bj?-res:res;
    }
    void printnum(int x) {
        if(x>9)printnum(x/10);
        putchar(x%10+'0');
    }
    inline void print(int x,char ch) {
        if(x<0) {
            putchar('-');
            x=-x;
        }
        printnum(x);
        putchar(ch);
    }
    int n,k;
    struct node {
        int h,w;
        inline bool operator < (node x)const {
            return h<x.h;
        }
    } a[105];
    int f[105][105];
    int ans=0x3f3f3f3f;
    signed main() {
        n=read();
        k=n-read();
        for(int i=1; i<=n; i++) {
            a[i].h=read();
            a[i].w=read();
        }
        sort(a+1,a+n+1);
        memset(f,0x3f,sizeof(f));
        for(int i=1; i<=n; i++)f[i][1]=0; 
        for(int i=2; i<=n; i++)
            for(int j=2; j<=k; j++)
                for(int l=j-1; l<i; l++)f[i][j]=min(f[i][j],f[l][j-1]+abs(a[i].w-a[l].w));
        for(int i=k; i<=n; i++)ans=min(ans,f[i][k]);
        print(ans,'
    ');
        return 0;
    }
  • 相关阅读:
    Pytorch——张量 Tensors
    Pytorch——cuda的使用
    神经网络训练模型的两种写法
    Pytorch——torch.nn.init 中实现的初始化函数
    线性回归的简洁实现
    Pytorch——net.parameters()参数获取
    Tensor和NumPy相互转换
    Codeforces Round #600 (Div. 2) A、B
    2020-2021 ACM-ICPC, Asia Seoul Regional Contest G. Mobile Robot
    大组合数模板
  • 原文地址:https://www.cnblogs.com/soledadstar/p/11370179.html
Copyright © 2011-2022 走看看