【SDUTOJ 3307】 a (第k小揹包)
其實原本讓我補這些結訓題我是拒絕的 尼瑪能好好起名字麼= =
不過看在第一次接觸這知識點 知識點就補了吧 揹包九講以前就看完前三 補這題順便也把後幾講學了學
第k大就是多了一維度 存放第1,2....k大 每次更新先把所有轉移後的價值放進佇列 然後佇列前k大就是這次轉移後的值 挨個存入即可
由於這題就要第2小 沒用佇列直接上if...
程式碼如下:
#include <bits/stdc++.h> using namespace std; int dp[1111][2]; int main() { int t,n,m,i,j,p,c; scanf("%d",&t); while(t--) { scanf("%d %d",&n,&m); memset(dp,0,sizeof(dp)); for(i = 0; i < m; ++i) { scanf("%d %d",&c,&p); for(j = n; j >= c; --j) { if(dp[j-c][0]+p > dp[j][0]) { if(dp[j][0] > dp[j-c][1]+p) { dp[j][1] = dp[j][0]; } else if(dp[j-c][1]+p < dp[j-c][0]+p && dp[j-c][1]+p > dp[j][1]) { dp[j][1] = dp[j-c][1]+p; } dp[j][0] = dp[j-c][0]+p; } else if(dp[j-c][0]+p != dp[j][0] && dp[j-c][0]+p > dp[j][1]) { dp[j][1] = dp[j-c][0]+p; } else if(dp[j-c][1]+p != dp[j][0] && dp[j-c][1]+p > dp[j][1]) { dp[j][1] = dp[j-c][1]+p; } // printf("%d:%d %d\n",j,dp[j][0],dp[j][1]); } } printf("%d\n",dp[n][0]+dp[n][1]); } return 0; }
相關推薦
【SDUTOJ 3307】 a (第k小揹包)
其實原本讓我補這些結訓題我是拒絕的 尼瑪能好好起名字麼= = 不過看在第一次接觸這知識點 知識點就補了吧 揹包九講以前就看完前三 補這題順便也把後幾講學了學 第k大就是多了一維度 存放第1,2...
【XSY2720】區間第k小 整體二分 可持久化線段樹
cpp markdown 區間 序列 printf line 線段 using back 題目描述 給你你個序列,每次求區間第\(k\)小的數。 本題中,如果一個數在詢問區間中出現了超過\(w\)次,那麽就把這個數視為\(n\)。 強制在線。 \(n\leq
【GDOI2018模擬8.12】區間第k小
Description 給出一個長度為n的序列a,q次詢問某個區間[l,r]中的區間第k小,注意如果一個數的出現次數大於w就把它當成n 詢問強制線上 n,q,ai<=10^5 Solution Orz 資料結構 根號演算法講師 首先如果詢問
【LeetCode】230. 二叉搜尋樹中第K小的元素 結題報告 (C++)
原題地址:https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/submissions/ 題目描述: 給定一個二叉搜尋樹,編寫一個函式 kthSmallest 來查詢其中第 k 個最小的元素。 說明: 你可以假設 k
【xsy1098】第k小 可持久化trie
printf code 相同 異或操作 bsp use namespace print ret 題目大意:你要維護一個長度為$n$的序列,資瓷對整個序列$xor,and,or$一個數,以及區間第k小查詢。 數據範圍:$n≤50000$,所有數字$<2^{31}$。
spoj COT - Count on a tree (樹上第K小 LCA+主席樹)
roo sizeof 過程 mes problems ems name ret bit 鏈接: https://www.spoj.com/problems/COT/en/ 思路: 首先看到求兩點之前的第k小很容易想到用主席樹去寫,但是主席樹處理的是線性結構,而這道題要
LeetCode-230 kth smallest element in a bst 二叉搜尋樹中第K小的元素
題目連結 https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/ 題意 中文題,對於二叉搜尋樹而言,找其中的第K小的數 題解 很有趣的題,但是很簡單
【LeetCode】60. 第k個排列
題目連結:https://leetcode-cn.com/problems/permutation-sequence/description/ 題目描述 給出集合 [1,2,3,…,n],其所有元素共有 n! 種排列。 按大小順序列出所有排列情況,並一一標記,當 n = 3
【LeetCode】 779. 第K個語法符號
遞迴 題目 在第一行我們寫上一個 0。接下來的每一行,將前一行中的0替換為01,1替換為10。 給定行數 N 和序數 K,返回第 N 行中第 K個字元。(K從1開始) 例子: 輸入: N = 1, K = 1 輸出: 0 輸入: N = 2, K = 1 輸
【演算法】尋找第k大的數
目錄: 1、引子 2、排序解決法 3、類快排解法 4、最小堆解法 1、引子 日常編碼中,常見遇到這樣的問題,“尋找最大的數”,此問題非常容易,可暴力直接遍歷找出,也可使用分冶策略找出最大值(詳見分冶演算法)。 本文中需要尋找第k大的數,筆者目前想到3個方法可解決它。 2、排序解決法
Count on a tree 樹上 (u,v)的路上的第K小的權值(主席樹+樹剖lca
題目連結 題目大意: 就是求在樹上 (u,v)的路上的第K小的權值 解題思路: 首先對於求第K小的問題 我們可以用主席樹搞 ,沒有問題, 但是對於一個樹形結構,我們需要將其轉化為線性,然後需要樹剖才能做. 然後考慮鏈上的第k值怎麼維護 , 發現如果樹剖計算的話
【Codeforces Round 332 (Div 2)A】【水題】A. Patrick and Shopping 遍歷三元環的最小成本
Today Patrick waits for a visit from his friend Spongebob. To prepare for the visit, Patrick needs to buy some goodies in two stores located near his hous
Kth Smallest Element in a BST 二叉搜尋樹中第K小的元素
給定一個二叉搜尋樹,編寫一個函式kthSmallest來查詢其中第 k 個最小的元素。說明:你可以假設 k 總是有效的,1 ≤ k ≤ 二叉搜尋樹元素個數。示例 1:輸入: root = [3,1,4,null,2], k = 1 輸出: 1示例 2:輸入: root = [
[LeetCode] Kth Smallest Element in a BST 二叉搜尋樹中的第K小的元素
Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Note: You may assume k is always valid, 1 ≤ k ≤ BST's
[LeetCode] Kth Smallest Element in a Sorted Matrix 有序矩陣中第K小的元素
Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth smallest element in the matrix. Note that it is the
[Swift]LeetCode230. 二叉搜尋樹中第K小的元素 | Kth Smallest Element in a BST
Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Note: You may assume k is always vali
王小草【深度學習】筆記第七彈--RNN與應用案例:注意力模型與機器翻譯
標籤(空格分隔): 王小草深度學習筆記 1. 注意力模型 1.2 注意力模型概述 注意力模型(attention model)是一種用於做影象描述的模型。在筆記6中講過RNN去做影象描述,但是精準度可能差強人意。所以在工業界,人們更喜歡用atten
【連結串列&刪除倒數第K個節點】Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3-&g
007-尋找第k小元素-分治法-《演算法設計技巧與分析》M.H.A學習筆記
在n個元素的陣列中查詢第k小的元素。Θ(n) 顯然先排序的話,複雜度為O(nlogn)。 但我們還有一個很漂亮的Θ(n)的演算法。 先說一下分治法的閾值:我們有一種吊炸天的分治演算法,可以用很好的效率求解出某個問題,分治演算法當然在達到一個非常小的規模時,會能
王小草【深度學習】筆記第四彈--卷積神經網路與遷移學習
標籤(空格分隔): 王小草深度學習筆記 1. 影象識別與定位 影象的相關任務可以分成以下兩大類和四小類: 影象識別,影象識別+定位,物體檢測,影象分割。 影象的定位就是指在這個圖片中不但識別出有只貓,還把貓在圖片中的位置給精確地摳出來今天我們來講