BSOJ 2423 -- 【PA2014】Final Zarowki

Description

有n個房間和n盞燈,你需要在每個房間里放入一盞燈。每盞燈都有一定功率,每間房間都需要不少于一定功率的燈泡才可以完全照亮。?
你可以去附近的商店換新燈泡,商店里所有正整數功率的燈泡都有售。但由于背包空間有限,你至多只能換k個燈泡。?
你需要找到一個合理的方案使得每個房間都被完全照亮,并在這個前提下使得總功率盡可能小。

Input

第一行兩個整數n,k(1<=k<=n<=500000)。?
第二行n個整數pi,表示你現有的燈泡的功率。?
第三行n個整數wi,表示照亮每間房間所需要的最小功率。

Output

如果無法照亮每間房間,僅輸出NIE。?
否則輸出最小的總功率。

Sample Input

6 2 12 1 7 5 2 10 1 4 11 4 7 5?

Sample Output

33?

?

看到數據范圍,想到可能是貪心。

我們先按照燈的功率從小到大排序,然后從小到大依次讓燈去選擇房間。很顯然每個燈都要選擇自己能夠照明的需要功率最大的房間。然后剩下的沒有選擇的房間只能通過購買燈泡來完成。判斷無解也非常容易,如果剩下的房間大于k個就無解。

但是如果剩下房間小于k個,我么顯然可以將之前配對好的燈泡替換了來降低答案值。所以我們開個大根堆,維護配對了的p[i]-w[j]的最大值就可以了。

代碼:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<set>
#include<map>
#include<vector>
#include<ctime>
#define ll long long
#define N 500005using namespace std;
inline int Get() {int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9') {if(ch=='-') f=-1;ch=getchar();}while('0'<=ch&&ch<='9') {x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}return x*f;}int n,k;
ll p[N],w[N];
priority_queue<ll>cha;
multiset<ll>s;
multiset<ll>::iterator it;
ll ans;
int main() {n=Get(),k=Get();for(int i=1;i<=n;i++) p[i]=Get();for(int i=1;i<=n;i++) {w[i]=Get();s.insert(w[i]);}sort(p+1,p+1+n);for(int i=1;i<=n;i++) {it=s.upper_bound(p[i]);if(it==s.begin()) continue ;it--;ans+=p[i];cha.push(p[i]-*it);s.erase(it);if(!s.size()) break;}if(s.size()>k) {cout<<"NIE";return 0;}for(it=s.begin();it!=s.end();it++) {ans+=*it;}k-=s.size();for(int i=1;i<=k;i++) {ans-=cha.top();cha.pop();if(!cha.size()) break;}cout<<ans;return 0;
}

?

轉載于:https://www.cnblogs.com/hchhch233/p/9735811.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/389598.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/389598.shtml
英文地址,請注明出處:http://en.pswp.cn/news/389598.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WPF綁定資源文件錯誤(error in binding resource string with a view in wpf)

報錯&#xff1a;無法將“***Properties.Resources.***”StaticExtension 值解析為枚舉、靜態字段或靜態屬性 解決辦法&#xff1a;嘗試右鍵單擊在Visual Studio解決方案資源管理器的資源文件&#xff0c;并選擇屬性選項&#xff0c;然后設置自定義工具屬性 PublicResXFile cod…

因果推論第六章

因果推論 (Causal Inference) This is the sixth post on the series we work our way through “Causal Inference In Statistics” a nice Primer co-authored by Judea Pearl himself.這是本系列的第六篇文章&#xff0c;我們將通過Judea Pearl本人與他人合著的《引誘統計學…

如何優化網站加載時間

一、背景 我們要監測網站的加載情況&#xff0c;可以使用 window.performance 來簡單的檢測。 window.performance 是W3C性能小組引入的新的API&#xff0c;目前IE9以上的瀏覽器都支持。一個performance對象的完整結構如下圖所示&#xff1a; memory字段代表JavaScript對內存的…

VMWARE VCSA 6.5安裝過程

https://www.tech-coffee.net/step-by-step-deploy-vcenter-server-appliance-vcsa-6-5/ vcsa 6.0&#xff0c;6.5 注冊機下載 鏈接:https://pan.baidu.com/s/1X5V-iWpvxozrwE7Ji099jw 密碼:jt8l 轉載于:https://www.cnblogs.com/flyhgx/p/9073485.html

熊貓數據集_處理熊貓數據框中的列表值

熊貓數據集Have you ever dealt with a dataset that required you to work with list values? If so, you will understand how painful this can be. If you have not, you better prepare for it.您是否曾經處理過需要使用列表值的數據集&#xff1f; 如果是這樣&#xff0…

聊聊jdk http的HeaderFilter

序 本文主要研究一下jdk http的HeaderFilter。 FilterFactory java.net.http/jdk/internal/net/http/FilterFactory.java class FilterFactory {// Strictly-ordered list of filters.final LinkedList<Class<? extends HeaderFilter>> filterClasses new Linked…

旋轉變換(一)旋轉矩陣

1. 簡介 計算機圖形學中的應用非常廣泛的變換是一種稱為仿射變換的特殊變換&#xff0c;在仿射變換中的基本變換包括平移、旋轉、縮放、剪切這幾種。本文以及接下來的幾篇文章重點介紹一下關于旋轉的變換&#xff0c;包括二維旋轉變換、三維旋轉變換以及它的一些表達方式&#…

數據預處理 泰坦尼克號_了解泰坦尼克號數據集的數據預處理

數據預處理 泰坦尼克號什么是數據預處理&#xff1f; (What is Data Pre-Processing?) We know from my last blog that data preprocessing is a data mining technique that involves transforming raw data into an understandable format. Real-world data is often incom…

Pytorch中DNN入門思想及實現

DNN全連接層&#xff08;線性層&#xff09; 計算公式&#xff1a; y w * x b W和b是參與訓練的參數 W的維度決定了隱含層輸出的維度&#xff0c;一般稱為隱單元個數&#xff08;hidden size&#xff09; b是偏差值&#xff08;本文沒考慮&#xff09; 舉例&#xff1a; 輸…

IDEA去除mapper.xml文件中的sql語句的背景色

2019獨角獸企業重金招聘Python工程師標準>>> IDEA版本 2017.3 mapper.xml文件中的sql語句&#xff0c;總是黃色一大片&#xff0c;看起來不舒服。 按如下設置進行設置即可 此時設置完還有點背景色 再進行一個設置 Ok,完美解決 轉載于:https://my.oschina.net/u/3939…

vc6.0 繪制散點圖_vc有關散點圖的一切

vc6.0 繪制散點圖Scatterplots are one of the most popular visualization techniques in the world. Its purposes are recognizing clusters and correlations in ‘pairs’ of variables. There are many variations of scatter plots. We will look at some of them.散點圖…

sudo配置臨時取得root權限

sudo配置臨時取得root權限系統中的普通用戶有時需要root權限執行某種操作&#xff0c;要是使用su - root的話必須要知道root的密碼&#xff0c;這是不安全的&#xff0c;所以有了sudo&#xff0c;root可以對/etc/sudoers做一定的配置&#xff0c;讓普通用戶在不切換到root的情況…

Pytorch中RNN入門思想及實現

RNN循環神經網絡 整體思想&#xff1a; 將整個序列劃分成多個時間步&#xff0c;將每一個時間步的信息依次輸入模型&#xff0c;同時將模型輸出的結果傳給下一個時間步&#xff0c;也就是說后面的結果受前面輸入的影響。 RNN的實現公式&#xff1a; 個人思路&#xff1a; 首…

小扎不哭!FB又陷數據泄露風波,9000萬用戶受影響

對小扎來說&#xff0c;又是多災多難的一個月。 繼不久前Twitter曝出修補了一個可能造成數以百萬計用戶私密消息被共享給第三方開發人員的漏洞&#xff0c;連累Facebook股價跟著短線跳水之后&#xff0c;9月28日&#xff0c;Facebook又雙叒叕曝出因安全漏洞遭到黑客攻擊&#…

在衡量歐洲的政治意識形態時,調查規模的微小變化可能會很重要

(Related post: On a scale from 1 to 10, how much do the numbers used in survey scales really matter?)(相關文章&#xff1a; 從1到10的量表&#xff0c;調查量表中使用的數字到底有多重要&#xff1f; ) At Pew Research Center, survey questions about respondents’…

Pytorch中CNN入門思想及實現

CNN卷積神經網絡 基礎概念&#xff1a; 以卷積操作為基礎的網絡結構&#xff0c;每個卷積核可以看成一個特征提取器。 思想&#xff1a; 每次觀察數據的一部分&#xff0c;如圖&#xff0c;在整個矩陣中只觀察黃色部分33的矩陣&#xff0c;將這【33】矩陣(點乘)權重得到特…

java常用設計模式一:單例模式

1、餓漢式 package singleton.demo;/*** author Administrator* date 2019/01/07*/ public class Singleton {//在調用getInstance方法前&#xff0c;實例已經創建好private static Singleton instance new Singleton();//私有構造&#xff0c;防止被實例化private Singleton(…

SDUT-2121_數據結構實驗之鏈表六:有序鏈表的建立

數據結構實驗之鏈表六&#xff1a;有序鏈表的建立 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 輸入N個無序的整數&#xff0c;建立一個有序鏈表&#xff0c;鏈表中的結點按照數值非降序排列&#xff0c;輸出該有序鏈表。 Input 第一行輸入整數個數N&…

事件映射 消息映射_映射幻影收費站

事件映射 消息映射When I was a child, I had a voracious appetite for books. I was constantly visiting the library and picking new volumes to read, but one I always came back to was The Phantom Tollbooth, written by Norton Juster and illustrated by Jules Fei…

前端代碼調試常用

轉載于:https://www.cnblogs.com/tabCtrlShift/p/9076752.html