首页 > 其他分享 >从数字三角形开始的DP生活——第二天

从数字三角形开始的DP生活——第二天

时间:2023-07-15 18:14:45浏览次数:22  
标签:int 1e3 cin sync 第二天 ans 三角形 include DP

题目链接

#include<iostream>
#include<cstdio>
using namespace std;
const int N=105,M=1e3+5;
int n,m;
int f[N][M],v[N],w[N];
int ans;
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>m>>n;
    for(int i=1;i<=n;i++)cin>>w[i]>>v[i];
    for(int i=1;i<=n;i++){
        for(int j=w[i]-1;~j;j--)
            f[i][j]=f[i-1][j];
        for(int j=m;j>=w[i];j--)
            f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+v[i]);
    }
        
    for(int i=1;i<=m;i++)ans=max(ans,f[n][i]);
    cout<<ans<<endl;
    return 0; 
}
//coder:Iictiw
//date:23/07/15
#include<iostream>
#include<cstdio>
using namespace std;
const int N=105,M=1e3+5;
int n,m;
int f[M],v[N],w[N];
int ans;
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>m>>n;
    for(int i=1;i<=n;i++)cin>>w[i]>>v[i];
    for(int i=1;i<=n;i++)
        for(int j=m;j>=w[i];j--)
            f[j]=max(f[j],f[j-w[i]]+v[i]);
    for(int i=1;i<=m;i++)ans=max(ans,f[i]);
    cout<<ans<<endl;
    return 0; 
}
//coder:Iictiw
//date:23/07/15

标签:int,1e3,cin,sync,第二天,ans,三角形,include,DP
From: https://www.cnblogs.com/Iictiw/p/17556615.html

相关文章

  • abc082d <bitset 状压dp>
    题目D-FTRobot思路动态规划的方式记录每次行动后,机器人在坐标系中所有可能位置通过bitset对状态进行压缩,即每个位置有机器人trueor没有false因为机器人仅按坐标轴方向前进,因而可将xy坐标状态分开存储,进一步降低计算量,也方便使用bitset通过bitset的移位......
  • centos7上源码编译安装LAMP的多虚拟主机wordpress,discuz,用lamp.sh脚本实现
    环境:centos7.4apr-1.6.3.tar.gzapr-util-1.6.1.tar.gzhttpd-2.4.33.tar.bz2mariadb-10.2.15-linux-x86_64.tar.gzphp-7.1.18.tar.bz2wordpress-4.9.4-zh_CN.tar.gz1安装包:yumgroupinstall"developmenttools"yuminstallpcre-develope......
  • Thread 和 ThreadPool 简单梳理(C#)【并发编程系列】
    〇、前言对于Thread和ThreadPool已经是元老级别的类了。Thread是C#语言对线程对象的封装,它从.NET1.0版本就有了,然后ThreadPool是.NetFramework2.0版本中出现的,都是相当成熟的存在。当然,现在已经出现了Task和PLinq等更高效率的并发类,线程和线程池在实际开发......
  • Linux命令----modprobe命令详解
    【原文链接】Linux命令----modprobe命令详解一、modprobe命令的作用加载内核模块:使用modprobe命令可以加载指定的内核模块到运行中的内核中。加载内核模块可以在运行时添加新的功能、驱动程序或修改内核行为。解决模块依赖关系:modprobe命令可以自动解决内核模块之间的依......
  • 7.14 海高集训 DP 专题 2
    出题人:\(\text{D}\color{red}\text{eaphetS}\)#A.[NOIP2012提高组]开车旅行倍增优化dp。这题难就难在预处理。首先预处理出A和B每个人从一个城市出发的目标是哪个城市。可以用平衡树找一个点的前驱和后继,或者双向链表。我当然选择了最偷懒的set。(ps:这里如果用set......
  • 动能芯片 | DPU1.1S—高性能、低功耗4口高速USB2.0HUB控制器芯片
    DPU1.1S是一款高性能、低功耗4口高速USB2.0HUB控制器,上行端口兼容高速480MHz和全速12MHz两种模式,4个下行端口兼容高速480MHz、全速12MHz、低速1.5MHz三种模式。   DPU1.1S采用状态机单事务处理架构,而非单片机架构,多个事务缓冲区,这样减小了芯片的系统响应时间,用最少的硬件......
  • ABC222D-Between Two Arrays(前缀和优化dp)
    题意:给定两个递增数列A和B,构造一个ai <=ci<=bi的递增数列C,询问满足条件的C的个数。普通dp会超时,用前缀和优化n=int(input())a=list(map(int,input().split()))b=list(map(int,input().split()))l=3010dp=[[0]*lfor_inrange(n+1)]dp[0][0]=1foriinrange(n)......
  • CF1336C(挺重要的区间dp)
    KaaviandMagicSpell-洛谷|计算机科学教育新生态(luogu.com.cn)我们直接考虑如何构造出来的字符串,这个字符串显然只能每次最左端加或者最右端加入。对于第一个字符,显然每个位置都够能放置,且有两种方案。接着下一个字符加入它的左端或者右端,依次类推。令dp[i][j]为s(1......
  • ReadPaper-Pulsar Survey
    1.TheGiantMetrewaveRadioTelescope(GMRT)1,TheGMRTHighResolutionSouthernSkySurveyforPulsarsandTransients.I.SurveyDescriptionandInitialDiscoverieshttps://ui.adsabs.harvard.edu/abs/2016ApJ...817..130B/abstract2,TheGMRTHigh-resolut......
  • 动态DP
    题目链接题目大意:动态维护树上最大权独立集。所谓动态DP,就是把原先能用DP解决的问题变成动态维护DP值。如果DP数组可以支持合并两条链的话,可以直接用线段树维护,否则需要考虑把DP的转移改成矩阵,这样就可以用线段树维护矩阵,不过支持合并链以及维护矩阵都需要树链剖分,所以......