《算法競賽進階指南》0.4二分

102. 最佳牛圍欄

農夫約翰的農場由N塊田地組成,每塊地里都有一定數量的牛,其數量不會少于1頭,也不會超過2000頭。

約翰希望用圍欄將一部分連續的田地圍起來,并使得圍起來的區域內每塊地包含的牛的數量的平均值達到最大。

圍起區域內至少需要包含 F塊地,其中 F會在輸入中給出。

在給定條件下,計算圍起區域內每塊地包含的牛的數量的平均值可能的最大值是多少。

輸入格式
第一行輸入整數 N和 F,數據間用空格隔開。

接下來 N行,每行輸出一個整數,第i+1行輸出的整數代表,第i片區域內包含的牛的數目。

輸出格式
輸出一個整數,表示圍起區域內每塊地包含的牛的數量的平均值可能的最大值乘以1000得到的數值。

數據范圍
1≤N≤100000
1≤F≤N

輸入樣例:
10 6
6
4
2
10
3
8
5
9
4
1

輸出樣例:
6500

#include <iostream>
#include <algorithm>using namespace std;const int N = 100010;int n, m;
int cows[N];
double sum[N];bool check(double avg)
{for(int i = 1; i <= n; i++) sum[i] = sum[i - 1] + cows[i] - avg;double minv = 0;for(int i = 0, j = m; j <= n; j++, i++){minv = min(minv, sum[i]);if(sum[j] >= minv) return true;}return false;
}int main()
{cin >> n >> m;for(int i = 1; i <= n; i++) cin >> cows[i];double l = 0, r = 2000;while(r - l > 1e-5) //保留3位小數 保留k位小數,取eps = -10^-(k+2) //***這里是r - l,右減左{double mid = (l + r) / 2;if(check(mid)) l = mid; // 這里l r 都可以,把小的干掉就行else r = mid;}printf("%d\n", (int)(r * 1000));return 0;
}

113. 特殊排序

有N個元素,編號1.2..N,每一對元素之間的大小關系是確定的,關系不具有傳遞性。

也就是說,元素的大小關系是N個點與N*(N-1)/2條有向邊構成的任意有向圖。

然而,這是一道交互式試題,這些關系不能一次性得知,你必須通過不超過10000次提問來獲取信息,每次提問只能了解某兩個元素之間的關系。

現在請你把這N個元素排成一行,使得每個元素都小于右邊與它相鄰的元素。

你可以通過我們預設的bool函數compare來獲得兩個元素之間的大小關系。

例如,編號為a和b的兩個元素,如果元素a小于元素b,則compare(a,b)返回true,否則返回false。

將N個元素排好序后,把他們的編號以數組的形式輸出,如果答案不唯一,則輸出任意一個均可。

數據范圍
1≤N≤1000

輸入樣例
[[0, 1, 0], [0, 0, 0], [1, 1, 0]]

輸出樣例
[3, 1, 2]

注意:不存在兩個元素大小相等的情況。

// Forward declaration of compare API.
// bool compare(int a, int b);
// return bool means whether a is less than b.class Solution {
public:vector<int> specialSort(int N) {vector<int> res;res.push_back(1);for(int i = 2; i <= N; i++){int l = 0, r = res.size() - 1;while(l < r){int mid = l + r + 1 >> 1;if(compare(res[mid], i)) l = mid; // res[mid] < i, 不在左半邊里else r = mid - 1;}res.push_back(i);for(int j = res.size() - 2; j > r; j --) swap(res[j], res[j + 1]);if(compare(i, res[r])) swap(res[r], res[r + 1]); //i < res[r]}return res;}
};

轉載于:https://www.cnblogs.com/wmxnlfd/p/10847657.html

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

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

相關文章

Hibernate 自動創建表

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 在 hibernate.cfg.xml 添加這句話&#xff0c;可以自動生成數據表 : <property name"hibernate.hbm2ddl.auto">upd…

程序員越老越優秀嗎?

Peter Knego 向我們展示了一些有趣的東西&#xff1a; 官方數據&#xff1a;程序員年紀越大越出色、越稀有。他使用StackOverflow的聲譽值和其它幾個指標來印證他的觀點。 他的總結是&#xff1a; 隨著年齡的增加&#xff0c;程序員的數量急劇下降。程序員數量的峰值出現在2…

小程序學習(一):點擊愛心變色 -- 最簡單的事件實現

最近在學習小程序&#xff0c;想通過寫文章來記錄自己的學習歷程&#xff0c;希望能做到每周都寫…… 如何綁定一個事件 微信小程序中&#xff0c;綁定事件要在標簽內寫入這兩段代碼&#xff1a; bindtap"fnActive" data-favourite "{{isLike}}" 復制代碼…

安全通信

安全通信 應用層協議大多數自己都沒有實現加解密功能&#xff0c;比如http等。http就是直接把數據加載進來然后做簡單編碼&#xff08;也就是流式化&#xff09;然后響應客戶端&#xff0c;然后數據在瀏覽器展示&#xff0c;這個數據在傳輸過程是明文的&#xff0c;你截獲就可以…

出現 java.lang.NullPointerException 的幾種原因、可能情況

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。一般報 java.lang.NullPointerException的 原因有以下幾種&#xff1a;1. 字符串變量未初始化 。 2. 接口類型的對象沒有用具體的類初始化…

純JPA 入門小案例(2)

2019獨角獸企業重金招聘Python工程師標準>>> JPA中的主鍵生成策略 通過annotation&#xff08;注解&#xff09;來映射hibernate實體的,基于annotation的hibernate主鍵標識為Id, 其生成規則由GeneratedValue設定的.這里的id和GeneratedValue都是JPA的標準用法。 JPA…

spring IoC/DI

一、spring創建對象的三種方式&#xff1a;1、通過構造方法創建無參構造創建&#xff1a;默認情況有參構造創建&#xff1a;需要明確配置<constructor-arg>中配置index&#xff1a;參數索引name&#xff1a;參數名type&#xff1a;參數類型&#xff08;區分基本數據類型和…

并發不是并行,它更好!

原文鏈接&#xff0c;譯文鏈接&#xff0c;譯者&#xff1a;雷哥&#xff0c;饒命&#xff0c;校對&#xff1a;李任 現代社會是并行的&#xff1a;多核、網絡、云計算、用戶負載&#xff0c;并發技術對此有用。 Go語言支持并發&#xff0c;它提供了&#xff1a;并發執行&…

詳解設計模式在Spring中的應用

設計模式作為工作學習中的枕邊書&#xff0c;卻時常處于勤說不用的尷尬境地&#xff0c;也不是我們時常忘記&#xff0c;只是一直沒有記憶。 今天&#xff0c;在IT學習者網站就設計模式的內在價值做一番探討&#xff0c;并以spring為例進行講解&#xff0c;只有領略了其設計的思…

開大你的音響,感受HTML5 Audio API帶來的視聽盛宴

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 話說HTML5的炫酷真的是讓我愛不釋手&#xff0c;即使在這個提到IE就傷心不完的年代。但話又說回來&#xff0c;追求卓越Web創造更美世界…

Microsoft Visual Studio 2010(vs2010) 中文版安裝

Microsoft Visual Studio 2010(vs2010) 中文版安裝 日期&#xff1a;2019-05-12 時間&#xff1a;20:03:36 編輯&#xff1a;張國富 下載地址 基本簡介 Microsoft Visual Studio&#xff08;vs2010是簡稱&#xff09;是微軟公司推出的開發環境。visual studio 2010…

JVM的幾點性能優化

HotSpot&#xff0c;家喻戶曉的JVM&#xff0c;我們的Java和Scala程序就運行在它上面。年復一年&#xff0c;一次又一次的迭代&#xff0c;經過無數工程師的不斷優化&#xff0c;現在它的代碼執行的速度和效率已經逼近本地編譯的代碼了。 它的核心是一個JIT&#xff08;Just-I…

IDEA配置 及 快捷鍵

出處&#xff1a; https://www.cnblogs.com/hero123/p/10120552.html 快捷鍵&#xff1a; 格式化代碼 CtrlaltL 后退Ctrlalt <- 格式化代碼快捷鍵&#xff1a;Ctrl Alt L 刪除整行&#xff1a;CtrlX 實現類 ctrl alt CtrlN 查找類 CtrlShiftN 查找文件 CTRLSHIFTALTN 查找…

LeetCode Decode Ways

123123轉載于:https://www.cnblogs.com/ZHONGZHENHUA/p/10854545.html

SpringBoot 之集成 Spring AOP

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 在開始之前&#xff0c;我們先把需要的jar包添加到工程里。新增Maven依賴如下&#xff1a; <dependency><groupId>org.spri…

9件事把你從消極情緒中解救出來

也許你很難相信&#xff0c;但是情緒可以通過重復形成習慣。消極情緒甚至可以變成某種嵌入你每日生活的東西。 如何將它們趕跑? 你發現你不斷地埋怨世界和自己?你可以輕易地生氣并且對人變得刻薄?那憤怒又是否成為你對事情本能的回應了?如果你對所述問題中的一個回答了“是…

數據庫主鍵自增插入顯示值

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主同意不得轉載。 https://blog.csdn.net/nwsuaf2009012882/article/details/32703597 SQL Server 2008 數據庫主鍵自增插入顯示值 前幾天在工作的時候遇到在刪除數據庫中表的數據的時候。刪除之后&#xff0c;又一次…

解決: This application has no explicit mapping for /error, so you are seeing this as a fallback.

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 報錯如題&#xff0c;出現這個異常說明了跳轉頁面的url無對應的值. 原因1: Application啟動類的位置不對.要將Application類放在最外側…

Selenium自動化獲取WebSocket信息

性能日志 ChromeDriver支持性能日志記錄&#xff0c;您可以從中獲取域“時間軸”&#xff0c;“網絡”和“頁面”的事件&#xff0c;以及指定跟蹤類別的跟蹤數據。啟用性能日志 默認情況下不啟用性能日志記錄。因此&#xff0c;在創建新會話時&#xff0c;您必須啟用它。 Desir…

零負債之人的10個習慣

無論你是已下定決心要于今年實現零負債&#xff0c;還是距離這個目標的實現有很長的路要走&#xff0c;能受到啟發總是好事。 看看你認識的已經過上“無債一身輕”生活的人──朋友、家人、同事或是你認為可能與其他無負債之人具有類似品質的人。 下文為無負債之人的10個共同…