codeforces George and Job

 1 /*
 2     題意:給一個長度為n的序列, 從中選擇長度為m的k個區間(任意兩個區間不會有公共部分)
 3     使得所選擇的區間的和最大!
 4     思路:這是一種很常見的dp
 5     
 6     dp[i][j] 表示的是前 i 個數選擇 j 個 長度為m區間的最大和! 
 7     s[i]記錄的是前 i 個數字的和! 
 8     dp[i][j] = max( dp[i - 1][j], dp[i - m][j - 1] + s[i] - s[i-m] );
 9 */
10 #include<iostream>
11 #include<cstdio>
12 #include<cstring>
13 #include<algorithm>
14 #define N 5005
15 using namespace std;
16 typedef long long ll;
17 
18 ll dp[N][N];
19 ll s[N];
20 
21 int main(){
22     int n, m, k;
23     scanf("%d%d%d", &n, &m, &k);
24     for(int i = 1; i <= n; ++i){
25         scanf("%lld", &s[i]);
26         s[i] += s[i-1];
27     }
28     
29     for(int j = 1; j <= k; ++j)
30         for(int i = j*m; i <= n; ++i)
31            dp[i][j] = max( dp[i - 1][j], dp[i - m][j - 1] + s[i] - s[i-m] );
32            
33     printf("%lld\n", dp[n][k]);
34     
35     return 0; 
36 }

?

附一個經典的dp!

題意: 給定2個字符串a, b,求b的子序列在a中出現的次數。要求可以是不連續的,但是b在a中的順序必須和b以前的一致。 思路: dp[i][j]表示:b的前j個字符在a的前i個字符中出現的次數。 似乎這種表示方法司空見慣,但是一開始我還真沒能搞懂如何去遞推。事情的真相是: 如果a[i]
== b[j]則 dp[i][j] = dp[i-1][j] + dp[i-1][j-1];
如果a[i]
!= b[j]則 dp[i][j] = dp[i-1][j];

?

轉載于:https://www.cnblogs.com/hujunzheng/p/3991460.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531642.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531642.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531642.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

oracle表空間 設置,Oracle表空間怎么設置和管理

前言表空間是 Oracle 特有的一種邏輯結構&#xff0c;是管理和組織 Oracle 數據文件一種方式&#xff0c;一個Oracle 數據庫能夠有一個或多個表空間&#xff0c;而一個表空間則對應一個或多個物理的數據庫文件。Oracle 的表空間分為永久空間和臨時表空間&#xff0c;同時又分為…

2014 網選 5024 Wang Xifeng's Little Plot

題意&#xff1a;從任意一個任意一個可走的點開始找一個最長的路&#xff0c;這條路如果有轉彎的話&#xff0c; 那么必須是 90度&#xff0c;或者沒有轉彎&#xff01; 思路&#xff1a; 首先用dfs將所有可走點開始的 8 個方向上的線段的最長長度求出來 &#xff01; step[i][…

aix升級新安裝oracle,AIX 5L上安裝和升級Oracle

1、檢查環境檢查硬件與OS位數&#xff0c;一定確保64bit#bootinfo -y64#bootinfo -K64檢查內存大小&#xff0c;至少需要512M以上#/usr/sbin/lsattr -E -l sys0 -a realmemrealmem 12582912 Amount of usable physical memory in Kbytes False 臨時目錄的大小&#xff0c;至少5…

Adobe InDesign各版本安裝指南

下載鏈接 https://pan.baidu.com/s/11sTpMUbQEXhyjpkBlixcLg?pwd0531 #2024版 1.鼠標右擊【Ai2024(64bit)】壓縮包&#xff08;win11及以上系統需先點擊“顯示更多選項”&#xff09;【解壓到 Ai2024(64bit)】。 2.打開解壓后的文件夾&#xff0c;鼠標右擊【Setup】選擇【以…

java中如何將JScrollPane的垂直滾動條自動移動到最下端

JPanel QQP new JPanel();              JScrollPane jsp new JScrollPane(QQP);              JScrollBar jsb jsp.getVerticalScrollBar();QQP.updateUI();//利用當前外觀的值重置 UI 屬性。 也可以保證滾動條隨時的更新//終于搞好了&#xf…

codeforces MUH and Important Things

/*   題意&#xff1a;給一個序列&#xff0c;表示每一項任務的難度&#xff0c;要求完成每一項任務的循序是按照難度由小到大的&#xff01;輸出三種符合要求的工作順序的序列&#xff01;   思路&#xff1a;直接看代碼.... */ 1 #include<iostream>2 #include<…

oracle11g ogg報價,Oracle11g GoldenGate配置錯誤OGG-00868 Attaching to ASM server

GGSCI (CBDBS01) 9> start eiexaa錯誤&#xff1a;2011-02-24 10:32:45 ERROR OGG-00868 Oracle GoldenGate Capture for Oracle, eiexaa.prm: Attaching to ASM server CBOMS:1568/ASM1: (12154) ORA-12154: TNS:could not resolve the connect identifier specified.…

Linux啟動更新命令,Linux更新和查詢命令chkconfig詳細介紹

chkconfig在Linux下是管理服務/啟動項在各個系統運行級別中的設置&#xff0c;在Linux中系統有7個運行級別&#xff0c;分別是&#xff1a;1.運行級別0&#xff1a;表示關機2.運行級別1&#xff1a;表示單用戶模式3.運行級別2&#xff1a;無網絡連接的多用戶命令行模式4.運行級…

怎樣永久更改嵌入式linux系統ip,如何修改嵌入式系統IP

如何修改嵌入式系統IP(2012-06-05 01:36:56)標簽&#xff1a;嵌入式如何雜談如何修改嵌入式系統IP我的嵌入式設備的根文件系統是用busybox作的&#xff0c;現在我想在程序里面更改它的IP地址等網絡信息&#xff0c;但是沒有找到方法&#xff0c;希望有知道的給我幫助&#xff0…

codeforces MUH and Cube Walls

題意&#xff1a;給定兩個序列a ,b, 如果在a中存在一段連續的序列使得 a[i]-b[0]k, a[i1]-b[1]k.... a[in-1]-b[n-1]k 就說b串在a串中出現過&#xff01;最后輸出b串在a串中出現幾次&#xff01; 思路&#xff1a; KMP變形&#xff01;如何轉換成KMP求解呢&#xff1f; 舉一個例…

linux release 版本的區別,編譯debug版本和編譯release版本的區別

大項目的版本編譯會區別debug和release&#xff0c;那debug和release會有什么區別呢&#xff1f;通過對比這兩者的編譯選項可以找到答案。1.對比編譯過程debug:-DOS_LINUX -DDEBUG_VERSION -fno-builtin -pipe -Wall -fsigned-char -g-mlongcall -DCPUPPC85XX -mcpu8548 -m…

java模仿qq好友面板的布局(BoxLayout問題)

..............JLabel ll new JLabel(dlg.getNameText() ":" dlg.getIPText(), ii[index], JLabel.LEFT);tmp new JPanel();//將標簽添加到這個面板中tmp.setLayout(new FlowLayout(FlowLayout.CENTER));tmp.setBackground(new Color(255, 0, 255));/** BoxLayo…

linux apple開發環境,Objective-C開發環境設置

如果要安裝自己的Objective-C編程語言編程環境&#xff0c;則需要在計算機上安裝文本編輯器和GCC編譯器。1. 文本編輯器文本編輯器用于編寫程序代碼。一些常見的編輯器如&#xff1a;Windows Notepad&#xff0c;OS Edit命令&#xff0c;Brief&#xff0c;Epsilon&#xff0c;E…

codeforces C. Design Tutorial: Make It Nondeterministic

題意&#xff1a;每一個人 都有frist name 和 last name&#xff01; 從每一個人的名字中任意選擇 first name 或者 last name 作為這個人的編號&#xff01;通過對編號的排序&#xff0c;得到每一個人 最終順序&#xff01;比較中的序列能否得到給定輸出的序列一致&#xff01…

Linux系統擴硬盤,Linux系統硬盤擴容

1、查看硬盤已經用了99%$ df -h #查看硬盤已經使用了99%文件系統 容量 已用 可用 已用% 掛載點devtmpfs 2.0G 0 2.0G 0% /devtmpfs 2.0G 12K 2.0G 1% /dev/shmtmpfs 2.0G 11M 2.0G 1% /runtmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup/dev/mapper/centos-root 47G 47G 687M 99% / ####…

codeforce A. Design Tutorial: Learn from Math

題意&#xff1a;將一個數拆成兩個合數的和&#xff0c; 輸出這兩個數&#xff01;&#xff08;這道題做的真是TMD水啊&#xff09;開始的時候不知道composite numbers是啥意思&#xff0c;看了3遍才看懂.... 看懂之后又想用素數篩選法來做&#xff0c;后來決定單個判斷一個數是…

設置密碼命名是什么linux,orapwd 工具建立密碼文件遵守的命名方法

orapwd 工具建立建立的密碼文件 一定要orapw實例名嗎我在11g和10g 測試是必須要 orapw實例名 才能登錄成功以下是驗證過程[oracleasm dbs]$ rm orapwasm[oracleasm dbs]$ orapwd fileorapwdasm passwordabcdefg entries10[oracleasm dbs]$ sqlplus /nologSQL*Plus: Release 10.…

codeforces B. Design Tutorial: Learn from Life

題意&#xff1a;有一個電梯&#xff0c;每一個人都想乘電梯到達自己想要到達的樓層&#xff01;從a層到b層的時間是|a-b|&#xff0c; 乘客上下電梯的時間忽略不計&#xff01;問最少需要多少的時間.... 這是一道神題啊&#xff0c;自己的思路不知不覺的就按照注解的思路走…

arm linux 中斷優先級,ARM中斷處理過程

以s3c2440 ARM9核為例&#xff1a;一:s3c2440 ARM處理器特性&#xff1a;1、S3C2440支持60個中斷源&#xff0c;含子中斷源&#xff1b;2、ARM9采用五級流水線方式&#xff1b;3、支持外部中斷和內部中斷&#xff1b;二、s3c2440 支持的寄存器&#xff1a;2.1 外部中斷寄存器24…

codeforces D. Design Tutorial: Inverse the Problem

題意&#xff1a;給定一個矩陣&#xff0c;表示每兩個節點之間的權值距離&#xff0c;問是否可以對應生成一棵樹&#xff0c; 使得這棵樹中的任意兩點之間的距離和矩陣中的對應兩點的距離相等&#xff01; 思路&#xff1a;我們將給定的矩陣看成是一個圖&#xff0c;a 到 b會有…