首页 > 其他分享 >区间dp

区间dp

时间:2023-11-21 11:22:05浏览次数:21  
标签:std include int 区间 main dp

1.acwing 282石子合并问题

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int n;
 5 const int N = 310;
 6 int s[N];
 7 int f[N][N];
 8 
 9 int main ()
10 {
11     scanf("%d", &n);
12     for (int i = 1; i <= n; i ++ ) scanf("%d", &s[i]);
13     
14     for (int i = 1; i <= n; i ++ ) s[i] += s[i - 1];
15     
16     //区间dp套路:从小到大枚举区间长度和区间起点,在枚举我们的决策
17     //如果len == 1,表示一堆,不需要合并,代价为0;
18     for (int len = 2; len <= n; len ++ )//按照长度从小到大枚举区间长度
19        for (int i = 1; i + len - 1 <= n; i ++ ) //枚举所有区间起点
20        {
21            int l = i, r = i + len - 1; //表示该区间的起点和终点
22            f[l][r] = 1e8;
23            for (int k = l; k < r; k ++ ) //表示该区间的分割点
24            f[l][r] = min(f[l][r],f[l][k] + f[k + 1][r] + s[r] - s[l - 1]);
25        }
26        
27      cout << f[1][n] << endl;
28      return 0;
29        
30 }
View Code

 

标签:std,include,int,区间,main,dp
From: https://www.cnblogs.com/rw666/p/17846200.html

相关文章

  • 线性dp
    1.数字三角形。acwing898.1#include<bits/stdc++.h>2usingnamespacestd;34constintN=520,INF=1e9;5intn;6inta[N][N];//表示每一个点7intf[N][N];//表示状态89intmain()10{11cin>>n;12for(inti=1;i<=n;i......
  • Running DPDK Forwarding Applications With Pktgen-DPDK
    Aspartoftheevaluationstageofourbachelorthesis,wesetupatestbedforrunningforwardingapplicationsinDPDKandwithPktgen-DPDKasthetrafficgenerator.Inthisblog,weaimtocover作为学士论文评估阶段的一部分,我们建立了一个测试平台,用于在DPDK......
  • 关于区间连续段问题 (析合树)
    有部分题目需要处理关于区间连续段的问题(一般来说,对于一个排列,如果一个区间的值连读,就为一个连续段。)区间连续段看似不太好维护,其实有一种处理它的利器:析合树。(也可能只是析合树的思想),就能方便的维护这一个东西。析合树其实这个名字不重要......
  • NEFU OJ Problem 1489 青蛙赶路 题解【动态规划DP】
    Problem:GTimeLimit:2000msMemoryLimit:65535KDescription有一只青蛙,每秒选择走1米或跳m米,青蛙体力不足,所以不能连续两秒都在跳。青蛙将移动到[l,r]之间,它想知道有多少种不同的方式来实现其目标。两种方式是不同的,当且仅当它们移动不同的米或花费不同的秒,或者是在一秒......
  • 【DP】Leetcode 322 Coin Change
    题目链接322.零钱兑换思路因为硬币数量是无限的,所以无法以硬币数量作为状态进行遍历代码classSolution{publicintcoinChange(int[]coins,intamount){intn=coins.length;if(n==0){return-1;}//dp[i]......
  • Oracle expdp参数详解
    数据泵导出实用程序提供了一种用于在Oracle数据库之间传输数据对象的机制。该实用程序可以使用以下命令进行调用:示例:expdpscott/tigerDIRECTORY=dmpdirDUMPFILE=scott.dmp您可以控制导出的运行方式。具体方法是:在'expdp'命令后输入各种参数。要指定各参数,请使用......
  • P1064-DP【绿】
    好多好多天前写了这道题的50分代码,然后不知道错在哪里反复调没调对。然后这周我极度忙,忙死了,好不容易有一点时间再来审视这道题了,然后我5分钟想明白了一切...把DP数组定义的那句intDP[100][5000]改成intDP[100][50000]就直接AC了...此前的50代码错的5个点都是WA而不是RE,说明编......
  • C#实现抓包,并过滤UDP
    C#实现抓包,并过滤UDPusingPacketDotNet;usingSharpPcap;usingSharpPcap.LibPcap;usingSystem;usingSystem.Linq;usingSystem.Net.Sockets;usingSystem.Text;namespaceConsoleAppSharppcap{internalclassProgram{staticvoidMain(string[]a......
  • 区间树上查找所有与给定区间相交的区间-算法复杂度正确性证明
    区间树是在平衡树上维护的数据结构,按照左端点大小排序。详见《算法导论》。算法设计思路红黑树的拓展在红黑树上维护结点属性\(min,max\):\(min\)表示该结点及其所有后代结点中的区间低端的最小值。\(max\)表示该结点及其所有后代结点中的区间高端的最大值。在插入时,对结点......
  • 500mA 线性锂电充电芯片 DP4054/DP4054H完全兼容替代TP4054
    锂电池工作原理锂电池是一种新型的可充电电池,其具有体积小、重量轻、容量大耐用性强等特点,因此被广泛应用于手机、笔记本电脑、移动电源等电了设备上。充电原理是指电池在充电过程中,用电流将锂离子从外部电源输入电池,使其形成一个电荷差,实现充电。锂电池充电原理是采用化学反......