貪心/二分查找 BestCoder Round #43 1002 pog loves szh II

?

題目傳送門

 1 /*
 2     貪心/二分查找:首先對ai%=p,然后sort,這樣的話就有序能使用二分查找。貪心的思想是每次找到一個aj使得和為p-1(如果有的話)
 3                 當然有可能兩個數和超過p,那么an的值最優,每次還要和an比較
 4     注意:不能選取兩個相同的數
 5     反思:比賽時想到了%p和sort,lower_bound,但是還是沒有想到這個貪心方法保證得出最大值,還是題目做的少啊:(
 6 */
 7 #include <cstdio>
 8 #include <algorithm>
 9 #include <cstring>
10 #include <cmath>
11 using namespace std;
12 
13 typedef long long ll;
14 const int MAXN = 1e5 + 10;
15 const int INF = 0x3f3f3f3f;
16 ll a[MAXN];
17 
18 int main(void)        //BestCoder Round #43 1002 pog loves szh II
19 {
20 //    freopen ("B.in", "r", stdin);
21 
22     int n;    ll p;
23     while (scanf ("%d%I64d", &n, &p) == 2)
24     {
25         for (int i=1; i<=n; ++i)    {scanf ("%I64d", &a[i]);    a[i] %= p;}
26         sort (a+1, a+1+n);
27 
28         ll ans = 0;
29         for (int i=1; i<=n; ++i)
30         {
31             int pos = lower_bound (a+1+i, a+1+n, p - a[i]) - a;    pos--;
32             if (pos <= n && pos != i)    ans = max (ans, (a[i] + a[pos]) % p);
33             if (i != n)    ans = max (ans, (a[i] + a[n]) % p);
34         }
35 
36         printf ("%I64d\n", ans);
37     }
38 
39     return 0;
40 }

?

轉載于:https://www.cnblogs.com/Running-Time/p/4560261.html

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

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

相關文章

nohup命令輸出日志_逼格高又實用的Linux高級命令,開發運維都要懂

在運維的坑里摸爬滾打好幾年了&#xff0c;我還記得我剛開始的時候&#xff0c;我只會使用一些簡單的命令&#xff0c;寫腳本的時候&#xff0c;也是要多簡單有多簡單&#xff0c;所以有時候寫出來的腳本又長又臭&#xff0c;像一些高級點的命令&#xff0c;比如說Xargs 命令、…

JavaScript中OOP——面向對象中的繼承/閉包

前 言 OOP JavaScript中OOP——>>>面向對象中的繼承/閉包 1.1面向對象的概念 使用一個子類繼承另一個父類&#xff0c;子類可以自動擁有父類的屬性和方法。>>> 繼承的兩方&#xff0c;發生在兩個類之間。1.2JS模擬實現繼承的三種方式&#xff1a; 首先&am…

js常用字符串函數

這些東西是以前整理的&#xff0c;放到這里&#xff0c;有需要的可以看看~挺全的~ /** * anchor()方法 * 在對象中的指定文本兩端放置一個有Name屬性的HTML錨點 * strVariable.anchor(anchorString) anchorString為錨點名稱 * 它本身不會檢查其他的ahchor錨點是否有name指…

c++11中的智能指針

在C11中有四種智能指針&#xff0c;auto_ptr&#xff0c;shared-ptr&#xff0c;unique_ptr和weak-ptr&#xff0c;其中auto_ptr有許多不足之處&#xff0c;在C11中已經建議廢棄使用。 1. shared_ptr std::shared_ptr智能指針可以通過共享指向對象的所有權&#xff0c;從而實現…

ubuntu14.04設置靜態IP

啊&#xff0c;最近懶惰了&#xff0c;好久沒有寫博客了。 一般機器啟動的時候會自動從DHCP服務器上面獲取動態IP地址&#xff0c;這是一件很方便的事情&#xff0c;可以不用手動設置網絡相關的蠶參數&#xff0c;但是有時候還是需要機器固定IP地址的。 第一步&#xff0c;編輯…

高中學歷python培訓靠譜嗎_高中學歷學完Python就能干人工智能?

最近Python大熱&#xff0c;主要是人工智能的熱度&#xff0c;昨天后院活動部介紹了一位女網友為男朋友選擇Java還是Python&#xff0c;大量的程序員熱議&#xff0c;也有人詢問如何學習Python&#xff0c;比如這位網友詢問高中學歷學習Python是不是就能干人工智能。兄弟&#…

curl+個人證書(又叫客戶端證書)訪問https站點

目前&#xff0c;大公司的OA管理系統&#xff08;俗稱內網&#xff09;&#xff0c;安全性要求較高&#xff0c;通常采用https的雙向 認證模式。 首先&#xff0c;什么是https&#xff0c;簡單的說就是在SSL協議之上實現的http協議&#xff08;get、post等操作&#xff09;。更…

boot.oat FC問題分析報告

【NE現場】 pid: 5252, tid: 5252, name: ndroid.contacts >>> com.android.contacts <<< signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1458x0 0000000000000000 x1 0000000090d9892c x2 0000000000000001 x3 000000000000012cx4 …

c++ 虛函數的實現機制

轉載自&#xff1a;http://blog.csdn.net/jiangnanyouzi/article/details/3720807 1、c實現多態的方法 其實很多人都知道&#xff0c;虛函數在c中的實現機制就是用虛表和虛指針&#xff0c;但是具體是怎樣的呢&#xff1f;從more effecive c其中一篇文章里面可以知道&#xff…

powerdesigner 技巧

1.修改建表腳本生成規則。如果每個表格都有相同的字段&#xff0c;可以如下修改&#xff1a; Database -> Edit Current DBMS 展開 Script -> Object -> Table -> Create 見右下的Value值&#xff0c;可以直接修改如下&#xff1a;/* tablename: %TNAME% */ create…

勒索病毒攻擊應急防范

北京時間5月12日&#xff0c;互聯網上出現針對Windows操作系統的勒索軟件&#xff08;Wannacry&#xff09;攻擊案例。勒索軟件利用此前披露的Windows SMB服務漏洞&#xff08;對應微軟漏洞公告&#xff1a;MS17-010&#xff09;攻擊手段&#xff0c;向終端用戶進行滲透傳播&am…

C++中虛析構函數的作用

C中的虛析構函數到底什么時候有用的&#xff0c;什么作用呢。 總的來說虛析構函數是為了避免內存泄露&#xff0c;而且是當子類中會有指針成員變量時才會使用得到的。也就說虛析構函數使得在刪除指向子類對象的基類指針時可以調用子類的析構函數達到釋放子類中堆內存的目的&…

蘋果Swift編程語言入門教程【中文版】

http://www.25pp.com/news/news_60984.html轉載于:https://www.cnblogs.com/niaowo/p/4564298.html

python正則表達式匹配aabb_Python正則表達式拆分多個匹配項

我正在嘗試將包含2個不同字符的序列的字符串拆分為多個組.如果我們假設字符是a和b,則用于分組的純文本規則為&#xff1a;>組包含0 a,后跟1 b>后面的所有a都包含在下一組中,除非我們在單詞末尾.例如&#xff1a;處理測試后,目標是分成預期的組.tests [abab,ababab,aabab…

MEF 導入(Import)和導出(Export)

前言&#xff1a; MEF不同于其他IOC容器&#xff08;如&#xff1a;Castle&#xff09;很重要的原因在于它使用了特性化編程模型&#xff08;涉及到兩個概念&#xff1a;“特性”和“編程模型”&#xff09;。 特性&#xff08;Attribute&#xff09;&#xff1a;舉例來說就是我…

Android SimpleAdapter的參數

1.作用是ArrayList和 ListView的橋梁。這個ArrayList里邊的每一項都是一個Map<String,?>類型。 ArrayList當中的每一項 Map對象都和ListView里邊的每一項進行數據綁定一一對應。2.SimpleAdapter的構造函數&#xff1a;SimpleAdapter(Context context, List<? …

JMeter 教程匯總鏈接

http://www.360doc.com/content/14/0318/23/16361380_361732630.shtml 可以作為入門系列教程。 盡管網頁也給出了視頻鏈接&#xff0c;但是我不建議看視頻學習&#xff01; 建議直接看文字&#xff08;可以跳躍式學習&#xff0c;視頻的則是線性學習&#xff09;轉載于:https:…

C++ STL中set底層實現方式

Q&#xff1a;STL中set底層實現方式&#xff1f; 為什么不用hash&#xff1f; A: 第一個問題:set底層實現方式為RB樹&#xff08;即紅黑樹&#xff09;。 第二個問題: 首先set&#xff0c;不像map那樣是key-value對&#xff0c;它的key與value是相同的。關于set有兩種說法&…

python自動獲取天氣_用python獲取天氣數據,并作定時播報

原標題&#xff1a;用python獲取天氣數據&#xff0c;并作定時播報數據挖掘入門與實戰 公眾號&#xff1a; datadw思路1.調用和風天氣的API&#xff0c;獲取天氣數據2.用百度語音API&#xff0c;將天氣數據合成語音3.用樹莓派每天早上定時播報天氣(定時任務crontab Python腳本…

c++實現解析文件路徑

注意&#xff1a;本實現只能解析類似linux下的路徑&#xff0c;即“/data/a.txt”&#xff0c;而不能解析“c:\a.txt” 或者“c:\\a.txt”&#xff0c;但是應該很容易擴展改寫實現此功能。 FilepathParse.h #include <string> using std::string;void parseFilepath(str…