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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

洛谷P1650:田忌赛马(贪心)

發(fā)布時間:2023/12/3 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷P1650:田忌赛马(贪心) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

解析

其實并不簡單的一道題。

是劉汝佳老師的例題,搜到之后按照講的策略寫了一發(fā)。
(由于這個策略并不完全正確,就不展開講了)

好啊!
可是感覺講的策略特別對,為什么呢?

原因在于,課上的策略是建立于 比賽非贏即輸?shù)那疤嵯?#xff0c;而本題存在平局。
當(dāng)最小值相等時,這個貪心直接讓最小值去找最大值送死或者讓兩個最小值打平都不一定是最優(yōu)的。
分別的hack數(shù)據(jù):

5 1 1 7 9 10 1 3 5 6 9 3 6 7 9 6 8 10

(以下設(shè) a1...na_{1...n}a1...n? 是田忌的馬,b1...nb_{1...n}b1...n? 是齊王的馬,按升序排列,x?yx-yx?y 表示 x,yx,yx,y 對局)
那么怎么辦呢?
注意到,我們可以用類似的套路對最大值進行處理,那么我們現(xiàn)在的問題就只在于如何處理最大值和最小值都相等的時候了,即 a1=b1,an=bna_1=b_1,a_n=b_na1?=b1?,an?=bn?
a1=b1=an=bna_1=b_1=a_n=b_na1?=b1?=an?=bn? 的時候怎么選結(jié)果都是一樣的,因此我們只討論 a1<an,b1<bna_1<a_n,b_1<b_na1?<an?,b1?<bn? 的情況。

一個樸素的想法還是用最小值霍霍對方的最大值 (a1?bna_1-b_na1??bn?),而此時這個做法是對的,以下給出證明。
假設(shè)最優(yōu)解并非如此,就有:a1?bj,ai?bna_1-b_j,a_i-b_na1??bj?,ai??bn?,此時的價值優(yōu)于 a1?bn,ai?bja_1-b_n,a_i-b_ja1??bn?,ai??bj?
接下來分情況討論:

  • ai<bja_i<b_jai?<bj?,兩種決策的價值都是-400,換成 a1,bna_1,b_na1?,bn? 不會變劣。
  • ai=bja_i=b_jai?=bj?,右邊的價值是-200,而左邊的價值為-200或-400,換成 a1,bna_1,b_na1?,bn? 不會變劣。
  • ai>bja_i>b_jai?>bj?,右邊的價值是0,而左邊的兩場比賽一場我方是最小值,一場對方是最大值,都贏不了,,換成 a1,bna_1,b_na1?,bn? 不會變劣。
  • 綜上所述,使 a1?bna_1-b_na1??bn? 始終是不劣的。

    代碼

    #include<bits/stdc++.h> using namespace std; #define ll long long #define ull unsigned long long #define debug(...) fprintf(stderr,__VA_ARGS__) #define ok debug("OK\n") inline ll read(){ll x(0),f(1);char c=getchar();while(!isdigit(c)){if(c=='-') f=-1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f; } const int N=2e6+100; const int M=1e6+100; const int mod=1e9; int n; int a[N],b[N],pl,ans;signed main(){#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);#endifn=read();for(int i=1;i<=n;i++) a[i]=read();for(int i=1;i<=n;i++) b[i]=read();sort(a+1,a+1+n);sort(b+1,b+1+n);int al=1,ar=n,bl=1,br=n;while(al<=ar){if(a[al]<b[bl]){++al;--br;ans-=200;}else if(a[al]>b[bl]){++al;++bl;ans+=200;}else if(a[ar]>b[br]){--ar;--br;ans+=200;}else if(a[ar]<b[br]){++al;--br;ans-=200;}else{if(a[al]<b[br]) ans-=200;++al;--br;}}printf("%d\n",ans);return 0; } /* 3 2 2 2 2 2 3 */

    總結(jié)

    以上是生活随笔為你收集整理的洛谷P1650:田忌赛马(贪心)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美在线色 | 国产熟妇久久777777 | 日韩一三区 | 精品午夜一区二区三区在线观看 | 久久中文精品 | 银娇在线观看 | 国产片一区二区 | 精品国产乱码一区二区三区99 | 久久久久亚洲日日精品 | 茄子爱啪啪 | 久久精品视频一区 | 欧美 日韩 中文字幕 | 韩国伦理大片 | 欧美一区二区三区视频 | 波多野结衣免费观看视频 | 亚洲色偷偷综合亚洲av伊人 | 黄色福利片 | 亚洲成人精品视频 | a√在线观看| 欧美成人黑人猛交 | 免费大片在线观看www | 美女校花脱精光 | aaa一区二区 | 钰慧的mv视频在线观看 | 操她视频网站 | 香蕉在线观看视频 | 成人动漫免费观看 | 日本一区二区三区在线视频 | 欧美激情18| 午夜宅男网 | 午夜黄视频 | 日韩精品福利在线 | 久久精品无码Av中文字幕 | 女futa攻玩遍整个后宫 | 成人黄色免费视频 | 中文字幕精品无码一区二区 | 亚洲爽爆 | 国模小丫大尺度啪啪人体 | 伦av综合一区| 91国产丝袜在线播放 | 精品无码人妻一区二区三 | 日日噜 | 久久国产视频一区 | 国产做爰免费视频观看 | 九色在线观看视频 | 日本精品在线视频 | 日本a一级片 | 亚洲巨乳| 黄色永久视频 | 男生女生羞羞网站 | 九月激情网 | 91手机在线播放 | 好男人网站 | 亚洲精品乱码 | 影视av | 91色网站 | 美国三级a三级18 | 日韩精品一区二区三区在线观看 | 影音先锋亚洲精品 | 俄罗斯一级片 | 欧美一级在线 | 嫩草综合| 色综合久| 亚洲无码精品一区二区三区 | 波多野结衣三区 | 欧美成人黑人猛交 | 欧美性生活一区 | 6080毛片| 欢乐谷在线观看免费播放高清 | 伊人88| 亚洲精品你懂的 | 欧美一级片网址 | 国产日韩欧美精品一区二区 | 俄罗斯黄色大片 | 精品国产鲁一鲁一区二区张丽 | 69人妻一区二区三区 | 黄色av电影在线 | 好吊妞在线观看 | 少妇高潮迭起 | 美女又爽又黄又免费 | 亚洲视频在线免费播放 | 国产69精品久久久久777 | 久热国产精品视频 | 深夜国产视频 | 蜜臀va | 国产亚洲自拍av | 欧美午夜在线视频 | 操日本女人| 欧美一级爱爱 | 国产日韩在线免费观看 | 国产精品18久久久 | 午夜免费观看视频 | 欧美大肥婆大肥bbbbb | 亚洲自拍偷拍一区二区 | 翔田千里一区二区 | www.av在线免费观看 | 久久黄色 | 91精品国产综合久久精品图片 | 国产成人免费观看 |