洛谷 P3817 【小A的糖果】
題目描述
小A有N個糖果盒,第i個盒中有a[i]顆糖果。
小A每次可以從其中一盒糖果中吃掉一顆,他想知道,要讓任意兩個相鄰的盒子中加起來都只有x顆或以下的糖果,至少得吃掉幾顆糖。
問題連結
https://www.luogu.org/problemnew/show/P3817
問題解答:
典型的貪心:
ans要開long long
為了使吃的最少,要改變兩盒糖果中後面那盒
程式碼:
#include<bits/stdc++.h>
using namespace std; int main() { long long ans=0,N,x,i; cin>>N>>x; int a[N]; for(i=0;i<N;i++) cin>>a[i]; for(i=0;i<N-1;i++) { if(a[i]+a[i+1]>x) { ans+=a[i]+a[i+1]-x; a[i+1]=x-a[i]; } } cout<<ans<<endl; return 0; }
相關推薦
洛谷 P3817 【小A的糖果】
題目描述 小A有N個糖果盒,第i個盒中有a[i]顆糖果。 小A每次可以從其中一盒糖果中吃掉一顆,他想知道,要讓任意兩個相鄰的盒子中加起來都只有x顆或以下的糖果,至少得吃掉幾顆糖。 問題連結 https://www.luogu.org/problemnew/show/P3817
洛谷OJ 1373 小a和uim之大逃離 DP
方法 blog brush cnblogs 計算 memset end namespace cpp https://www.luogu.org/problem/show?pid=1373 題意:n*m地圖,n,m<=800,起點,終點任意,兩個人每次輪流取出點中的數並
洛谷P4749 【[CERC2017]Kitchen Knobs】
inline 兩個 多少 clas getchar max 最終 同事 adl 簡明題意如下: 有n個轉盤,每個轉盤上都有著7個數字(1~9),現在每次可以選定一個區間[L,R],將區間內的轉盤順時針同事轉動若幹次,使每個轉盤在最後的時候本身所表示的數字最大
洛谷 P3328 【[SDOI2015]音質檢測】
這題我做的好麻煩啊。。。 一開始想分塊來著,後來發現可以直接線段樹 首先考慮一個性質,我們如果有數列的相鄰兩項f[i]和 f[i+1]那麼用這兩項向後推k項其線性表示係數一定(表示為f[i+k]=a∗f[i]+b∗f[i+1]+c的形式),那麼這樣我們預處理這些係數,注意到維護的是一個乘積的形式,那麼我們
洛谷 P1228 【地毯填補問題】
事實上感覺四個的形狀分別是這樣: spj報錯: 1:c 越界 2:x,y 越界 3:mp[x][y] 已被佔用 4:mp[x][y] 從未被使用 題解: 初看這個問題,似乎無從下手,於是我們可以先考慮最簡單的情況,既n = 2時 0 0 0 1 這時,無論公主在哪個格子,我們都可以用一塊毯
洛谷比賽【泯滅:整除】
題目連結 官方的題解看不懂,問了Shone{\rm Shone}Shone終於聽懂了,感覺是一個很神奇的方法,所以就記一下了。 首先題目要求求出xm≡x(modn)x^m\equiv x({\rm mod\ }n)xm≡x(modn)的方程的解的個數,其中x∈[
洛谷題解【彈珠遊戲】
cor game std lse ans cin else names lin 題目傳送門 思路 純模擬題,對於每一個可以落腳的地方計算同行同列的敵人數目總和,取最大值即可 如果沒有落腳的地方則輸出:‘‘Bad Game!‘‘. 時間復雜度為O(n2*(n+n))即
洛谷 P3817 小A的糖果
namespace get %d https 解釋 ostream ans cstring 整數 P3817 小A的糖果 題目描述 小A有N個糖果盒,第i個盒中有a[i]顆糖果。 小A每次可以從其中一盒糖果中吃掉一顆,他想知道,要讓任意
洛谷P4907【CYH-01】小奔的國慶練習賽 :$A$換$B$ $problem$(DFS,剪枝)
技巧 show -h 可能 reg http 復雜度 tex \n 洛谷題目傳送門 順便提一下題意有一個地方不太清楚,就是如果輸出No還要輸出最少需要添加多少張牌才能滿足要求。蒟蒻考完以後發現四個點Too short on line 2。。。 比較需要技巧的搜索 既然是同一
[洛谷3381]【模板】最小費用最大流
main 最小費用最大流 spf 最大流模板題 rem digi span mem spfa 思路:最小費用最大流模板題。用EdmondsKarp,增廣時使用SPFA求最短路。 1 #include<queue> 2 #include<cstd
[洛谷P3381]【模板】最小費用最大流
code main sdi span printf fast tdi nbsp optimize 題目大意:給出一個網絡圖,以及其源點和匯點,每條邊已知其最大流量和單位流量費用,求出其網絡最大流和在最大流情況下的最小費用。 解題思路:最小費用最大流模板。雖說此題最後兩個點
洛谷P1919 【模板】A*B Problem升級版(FFT快速傅裏葉)
題目 計算 printf n) freopen sam 升級 double 輸入輸出格式 題目描述 給出兩個n位10進制整數x和y,你需要計算x*y。 輸入輸出格式 輸入格式: 第一行一個正整數n。 第二行描述一個位數為n的正整數x。 第三行描述一個位數為n的
洛谷P3381 【模板】最小費用最大流(dijstra費用流)
就是 tro fin https copy priority 而不是 ++ printf 題目描述 如題,給出一個網絡圖,以及其源點和匯點,每條邊已知其最大流量和單位流量費用,求出其網絡最大流和在最大流情況下的最小費用。 輸入輸出格式 輸入格式: 第一行包含四
BZOJ1563/洛谷P1912 詩人小G 【四邊形不等式優化dp】
set har 方案 zoj #define 證明 isp 現在 fine 題目鏈接 洛谷P1912【原題,需輸出方案】 BZOJ1563【無SPJ,只需輸出結果】 題解 四邊形不等式 什麽是四邊形不等式? 一個定義域在整數上的函數\(val(i,j)\),滿足對\(\fo
洛谷P1919 【模板】A*B Problem升級版(FFT)
targe 空間 break 這就是 bre color show print lex 傳送門 話說FFT該不會真的只能用來做這種板子吧…… 我們把兩個數字的每一位都看作多項式的系數 然後這就是一個多項式乘法 上FFT就好了 然後
洛谷P4716 【模板】最小樹形圖(朱劉算法)
就是 ans read lin for getc its ons https 題意 題目鏈接 Sol 朱劉算法?感覺又是一種神仙貪心算法 大概就是每次貪心的用每個點邊權最小的入邊更新答案,如果不行的話就縮起來找其他的邊 不詳細說了,丟鏈接走人.. #include<b
洛谷 P1919 【模板】A*B Problem升級版(FFT快速傅立葉)
題目來源 吐槽下P3803都是紫題... 真心好寫,本想一遍過的...但是 我真是太菜了... 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int MAXN=200000; 4 const dou
洛谷 P1919 【模板】A*B Problem升級版(FFT快速傅裏葉)
urn == mes span operator scanf spa a* printf 題目來源 吐槽下P3803都是紫題... 真心好寫,本想一遍過的...但是 我真是太菜了... 1 #include<bits/stdc++.h> 2
洛谷 P3378 【模板】堆(小根堆)
三種 clas 代碼 輸入 print 支持 load prior cst 題目描述 如題,初始小根堆為空,我們需要支持以下3種操作: 操作1: 1 x 表示將x插入到堆中 操作2: 2 輸出該小根堆內的最小數 操作3: 3 刪除該小根堆內的最小數 輸入輸出格式 輸入格式:
洛谷 P3381【模板】最小費用最大流
getc isdigit bfs queue struct 依次 就是 pre spfa 題目描述 如題,給出一個網絡圖,以及其源點和匯點,每條邊已知其最大流量和單位流量費用,求出其網絡最大流和在最大流情況下的最小費用。 輸入輸出格式 輸入格式: 第一行包含四個正整數N、M