【ZOJ 3463】Piano
ZOJ 3463
題意:有一個鋼琴,一個人把左手放在L位置上,右手放在R位置上,要彈某\(n\)個鍵,每個手最多能夠得著9個位置,並且兩只手不能交叉。把手移動的代價是大拇指移動的距離的平方根。問彈完這麽多鍵之後最少花的代價。
思路:肯定是dp啊。考慮\(dp(i,j,k)\)表示當前要彈第i個鍵,左手大拇指在j位置,右手大拇指在k位置,最少代價。
然後轉移的時候肯定只會移動一只手。那麽從J移動到j‘,從i移動到i‘都要被算到。
並且還要判斷兩只手是否會重疊,我數數都能數錯。。。連wa兩次。。。真是。。。
【ZOJ 3463】Piano
相關推薦
【ZOJ 3463】Piano
一個 把手 span 能夠 重疊 zoj 平方根 交叉 class ZOJ 3463 題意:有一個鋼琴,一個人把左手放在L位置上,右手放在R位置上,要彈某\(n\)個鍵,每個手最多能夠得著9個位置,並且兩只手不能交叉。把手移動的代價是大拇指移動的距離的平方根。問彈完這麽多鍵
【ZOJ - 2836】【Number Puzzle】(容斥定理)
題目: Given a list of integers (A1, A2, ..., An), and a positive integer M, please find the number of positive integers that are not greater than M
【ZOJ 4062】Plants vs. Zombies
【連結】 我是連結,點我呀:) 【題意】 【題解】 二分最後的最大抵禦值mid。 然後對於每個蘑菇。 都能算出來它要澆水幾次mid/ai 然後如果第i個蘑菇沒澆水達到要求次數。 就在i和i+1之間來回走動(注意改變第i+1個蘑菇的狀態) 直到滿足每個蘑菇的澆水需求為止。 注意如果到了
【ZOJ 4070】Function and Function
【連結】 我是連結,點我呀:) 【題意】 【題解】 遞迴一會。 會發現最後肯定是0,1一直迴圈。 開始迴圈之後就直接返回結果就好。 【程式碼】 #include <bits/stdc++.h> #define ll long long #define rep1(i
【ZOJ 4060】Flippy Sequence
zoj pri lld n) pac %s col std bubuko 【鏈接】 我是鏈接,點我呀:) 【題意】 【題解】 按照兩個區間的排列方式 我們可以分成以下幾種情況 會發現這兩個區間的作用 最多只能把兩段連續不同的區間變為相同。 那麽寫個for處
【ZOJ - 2836 】Number Puzzle (容斥原理)
題幹: Given a list of integers (A1, A2, ..., An), and a positive integer M, please find the number of positive integers that are not greater than M
【ZOJ 1081】Points Within
【題目】 傳送門 Statement of the Problem Several drawing applications allow us to draw polygons and almost all of them allow us to fill them with som
【ZOJ 4053】【青島網路賽主席樹+啟發式合併】
題意: 給你一個數組,每次給你一個數,將這個數從整個陣列中刪去。然後陣列被劃分成了多個小區間,問你各個區間中最大的逆序對是多少。 思路: 首先建立一顆主席樹維護區間[1,x]的資訊。
Matrix Searching 【ZOJ - 2859】【二維線段樹】
題目連結 簡單的二維線段樹求區間最小值問題,還不用修改操作。 #include <iostream> #include <cstdio> #include <cmath> #include <string> #includ
【ZOJ 2996】(1+x)^n(二項式定理)
Please calculate the coefficient modulo 2 of x^i in (1+x)^n. Input For each case, there are two integers n, i (0<=i<=n<=2^31-1) Output For eac
ZOJ 3278 8G Island【二分答案】
十分簡單的一道二分答案了: #include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #defi
ZOJ 1610 Count the Colors【線段樹】【暴力】
Painting some colored segments on a line, some previously painted segments may be covered by some the subsequent ones. Your task is counting the seg
【非原創】ZOJ - 4062 Plants vs. Zombies【二分】
題目:戳這裡 題意:機器人走過一個花,可以給那個花澆水,給定步數下,問花的最小的最大能量值。 學習部落格:戳這裡 本人程式碼: 1 #include <bits/stdc++.h> 2 typedef long long ll; 3 const int maxn
ZOJ - 1450 Minimal Circle HDU - 3007 Buried memory 最小圓覆蓋模板 【隨機函式】【增量法】
題意 給N個點,求最小的圓將這N個點全部覆蓋,輸出圓心座標和半徑 分析 最小的圓肯定落在三個點上,因此暴力列舉圓上的三個點即可,點增量演算法O(n ^ 3),加入隨機化,平均複雜度可以降到O(n^2) #include<iostream> #include<
【ZOJ Problem Set - 1067】Color Me Less
Problem:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=67 Code: #include<iostream> #include<cmath> using namespace
【ZOJ Problem Set - 1049】I Think I Need a Houseboat
題目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=49 程式碼: #include<iostream> #include<iomanip> #define E 3.14 using
【概率DP】zoj 3329
刷著刷著概率DP專題,一臉懵逼的情況下翻到了一個部落格,概率DP三部曲,感覺自己對期望這一塊真的是很不熟悉啊,今天又來取經一把。 拿到題目第一時間應該要求出,搖到每次一的
【ZOJ】2676 Network Wars 01分數規劃+最小割
題目分析:01分數規劃+最小割。因為要求r = sigma(x*c/x*k)(x取0或1)最小,那麼不妨設g(r) = x*c - r*x*k。由01規劃的性質,我們可知:g(r)=0時是最優解,當g(r)<0時r可以繼續減小,調整二分上界,當g(r)>0時
【九度】題目1006:ZOJ問題
題目描述: 對給定的字串(只包含'z','o','j'三種字元),判斷他是否能AC。 是否AC的規則如下: 1. zoj能AC; 2. 若字串形式為xzojx,則也能AC,其中x可以是N個'o' 或者為空; 3. 若azbjc 能AC,則azbojac也能AC,其中a,b,
【解題報告】 ZOJ 3641 Information Sharing
/* ZOJ 3641 Information Sharing 並查集+模擬 題意:給出了一些人對應了幾個數字(information) 然後又有一些人會分享數字(share information)分享是雙向的,取並集 最後會問某些人在此刻擁有哪些數字(infor