[bzoj2091][Poi2010]The Minima Game_動態規劃
The Minima Game bzoj-2091 Poi-2010
題目大意:給出N個正整數,AB兩個人輪流取數,A先取。每次可以取任意多個數,直到N個數都被取走。每次獲得的得分為取的數中的最小值,A和B的策略都是儘可能使得自己的得分減去對手的得分更大。在這樣的情況下,最終A的得分減去B的得分為多少。
註釋:$1\le n\le 10^6$。
想法:顯然從大到小依次選。
之後暴力地dp,根本意義上是一種模擬貪心。
Code:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #define N 1000010 using namespace std; int a[N]; int main() { int n; cin >> n ; for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1); int x=0; for(int i=1;i<=n;i++) x=max(a[i]-x,x); cout << x << endl ; return 0; }
小結:水題。
相關推薦
[bzoj2091][Poi2010]The Minima Game_動態規劃
The Minima Game bzoj-2091 Poi-2010 題目大意:給出N個正整數,AB兩個人輪流取數,A先取。每次可以取任意多個數,直到N個數都被取走。每次獲得的得分為取的數中的最小值,A和B的策略都是儘可能使得自己的得分減去對手的得分更大。在這樣的情況下,最終A的得分減去B的得分為多少。
poj 3267 The Cow Lexicon (動態規劃)
input mil sys 裏的 single ont n-1 ret map The Cow Lexicon Time Limit: 2000MS Memory Limit: 65536K Total Submissio
UVa Live 3942 Remember the Word - Hash - 動態規劃
ble body ng- 哪些 AR AC dex pro 平板電視 題目傳送門 高速路出口I 高速路出口II 題目大意 給定若幹種短串,和文本串$S$,問有多少種方式可以將短串拼成長串。 顯然,你需要一個動態規劃。 用$f[i]$表
【POJ-1050】To The Max(動態規劃)
ref script greate err sca max des eat tput To the Max Time Limit: 1000MS Memory Limit: 10000K Description Given a two-dimensional array
POJ-3666 Making the Grade 【動態規劃DP+滾動陣列】
題目傳送門 題目:輸入n個數,第i個數字的值為a[i],把第i個數變為j的代價為a[i]-j的絕對值,求把這n個數組成的數列變成單調數列的最小代價。 題解:dp[i][j]表示前i個數最大值為b[j]時的最小代價,即第i個數在總數列中的值為第j小的時候的最小代價。 動態轉移方程:dp
BZOJ5467 PKUWC2018Slay the Spire(動態規劃)
即求所有情況的最大傷害之和。容易發現應該先打強化牌,至少打一張攻擊牌。同樣顯然的是強化牌和攻擊牌都應該按從大到小的順序打。進一步可以發現,只要還有強化牌,就應該使用(當然至少留一次攻擊的機會)。 於是將強化牌和攻擊牌各自從大到小排序。顯然可以將其分開考慮。對強化牌,設f[i][j]為前i張牌抽到j張
poj 1050 To the Max(動態規劃處理二維最大子段和)
2、題目大意: 給一個N,然後給定一個N*N的二維陣列,然後求一個子矩陣,使得其中的數加起來和最大 3、思路: 將二維陣列轉換成一維陣列,假設二維陣列是M行N列,那麼將二維陣列分成N條,用dp[i]記錄第i列的和(可以是任意連續長度,for迴圈就能實現),那麼將dp[i]
HDOJ 1081(ZOJ 1074) To The Max(動態規劃)
Problem Description Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array o
bzoj 2091 [Poi2010]The Minima Game
題意 給出N個正整數,AB兩個人輪流取數,A先取。每次可以取任意多個數,直到N個數都被取走。 每次獲得的得分為取的數中的最小值,A和B的策略都是儘可能使得自己的得分減去對手的得分更大。 在這樣的情況下,最終A的得分減去B的得分為多少。 題解 首先,我們把陣列按從小到大排序 每
zoj1074 TO THE MAX(動態規劃)
1、問題描述 2、用陣列b表示陣列a的i~j行對應列元素的和,然後對陣列b計算最大欄位和,這就將二維動態規劃問題轉化為一維動態規劃的問題。 #include <iostream> #include<cstring> using nam
[POI2010]GRA-The Minima Game
++ 個數 color printf %d std can mini 最優 OJ題號:洛谷3507 如果選了$k_i$,那麽你的對手就可以選上所有$\geq{k_i}$的數。那麽他其中獲得的分數也一定$\geq{k_i}$。 如果你選了$k_i$以及所有$\geq{k_
【洛谷P2858·動態規劃】[USACO06FEB]奶牛零食Treats for the Cows
greate single nes 得到 form images include 規劃 ive 題面 題目描述 FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money
UVA1025-A Spy in the Metro-動態規劃
https str 結果 cstring algorithm eof possible 還需要 ++ A Spy in the Metro 題意:一人要從一號車站做車去n號車站,輸入每兩個車站間的通過時間,和兩頭火車的出發時間,求這個人最少要在車站等多久; 思路:動態規劃,
動態規劃-Predict the Winner
his rom output XP har == 動態規劃 IT you 2018-04-22 19:19:47 問題描述: Given an array of scores that are non-negative integers. Player 1 picks on
Codeforces 835F Roads in the Kingdom - 動態規劃
com content AS == clas turn std new void 題目傳送門 傳送點I 傳送點II 傳送點III 題目大意 給定一顆基環樹,要求刪去其中一條邊,使得剩下的圖形是一棵樹,並且最長路的長度最短,求最長路的最短長度。
UVA1025-A Spy in the Metro(動態規劃)
read min 圖片 ret 站點 pos ssi height names Problem UVA1025-A Spy in the Metro Accept: 713 Submit: 6160Time Limit: 3000 mSec Problem Descr
Codeforces 840C On the Bench - 動態規劃 - 組合數學
題目傳送門 傳送門I 傳送門II 傳送門III 題目大意 給定$n$個數,我們認為它們互不相同,即使它們數值上相等,問存在多少排列方式,使得任意兩個相鄰位置上的數的乘積不是完全平方數。 顯然一個正整數$x$可以被表示為$d_{1}\cdot s_{1}^
動態規劃——A Spy in the Metro UVA - 1025
題解: 這道題目基本上是線性dp,,只需要在記率每個時刻,每個車站左邊或者右邊有木有車駛來, 一共有三種狀態(等待,上左車,上右車),就可以判斷下一狀態需要等待的時間了,具體解法紫書上有說明 注意點:需要注意你儲存每一站的時間的下標是怎樣的,然後根據你的下標在你記錄車輛的時候注意下標
The King’s Ups and Downs(HDU 4489,動態規劃遞推,組合數,國王的遊戲)
題意: 給一個數字n,讓1到n的所有數都以波浪形排序,即任意兩個相鄰的數都是一高一低或者一低一高 比如:1324 4231,再比如4213就是錯的,因為4高,2低,接下來1就應該比2高,但是它沒有 點選開啟題目連結 接下來思
POJ 1050 To the Max(動態規劃)
Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1*1 or greater located within the