日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【2020.10.29 洛谷团队赛 普及组】T2 U138014 魔法药水

發(fā)布時間:2023/12/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【2020.10.29 洛谷团队赛 普及组】T2 U138014 魔法药水 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述
小武的實驗室里有一種魔法藥水,這個藥水有個很奇怪的性質,它只能在盛放的體積為2的冪次時保 持穩(wěn)定,例如1,2,4,81,2,4,81,2,4,8。所以小武在實驗室里放置了很多容積為2的冪次的瓶子,其中N瓶放有魔法藥 水,第i瓶魔法藥水的體積為2的L[i]次方。這天小武想要收拾一下實驗室,小武想知道最少用多少個瓶 子能把實驗室的藥水裝完。
假設小武有任意2的冪次容積的瓶子,并且每種瓶子的數(shù)量足夠使用。


輸入格式
第一行一個正整數(shù)N
第二行N個數(shù),表示L[i]L[i]L[i]

輸出格式
一行一個數(shù)表示最少需要多少個瓶子


輸入輸出樣例

輸入 #1
5
1 1 2 3 3
輸出 #1
2

輸入 #2
6
7 6 4 6 7 0
輸出 #2
4

輸入 #3
7
8 6 6 8 2 8 4
輸出 #3
5


說明/提示
數(shù)據范圍
對于20%的數(shù)據,n<=10n<=10n<=10
對于44%的數(shù)據,n<=100n<=100n<=100
對于64%的數(shù)據,n<=10000n<=10000n<=10000
對于76%的數(shù)據,n<=100000n<=100000n<=100000
對于100%的數(shù)據,1<=n<=106,0<=L[i]<=1061<=n<=10^6,0<=L[i]<=10^61<=n<=106,0<=L[i]<=106


樣例解釋
對于樣例1
藥水體積依次為2,2,4,8,82,2,4,8,82,2,4,8,8,前3個可以裝入一個大小為8的瓶子,后2個可以裝入一個大小為16的瓶 子,最少需要2個瓶子


解題思路
先用一個桶記錄藥水的體積,首先我們知道2x*2x=2x+1,所以某個體積的藥水只會有一瓶,否則還能夠合并。
我們不斷的進行合并操作并累加答案。。。


代碼

#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<cmath> #include<algorithm> #include<queue> using namespace std; int n,x,k,ans,maxn,a[2000000]; int main() {scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&x);a[x]++;}for (int i=0;i<=2000000;i++){a[i+1]+=a[i]/2;ans+=a[i]%2;}printf("%d",ans); }

總結

以上是生活随笔為你收集整理的【2020.10.29 洛谷团队赛 普及组】T2 U138014 魔法药水的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。