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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

NOIP模拟赛

發(fā)布時(shí)間:2023/11/27 生活经验 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NOIP模拟赛 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

T1

1.聰明的小偷

?(thief.pas/c/cpp)

【問(wèn)題描述】

從前有一個(gè)收藏家收藏了許多相同的硬幣,并且將它們放在了n個(gè)排成一排的口袋里,每個(gè)口袋里都裝了一定數(shù)量的硬幣。

這些硬幣價(jià)值不菲,自然引起不少人覬(ji,4)覦(yu,2),于是收藏家每天都會(huì)來(lái)檢查一次這n個(gè)口袋,首先他會(huì)先檢查每個(gè)口袋是不是都有硬幣,之后他會(huì)計(jì)算出第1個(gè)和第2個(gè)口袋的硬幣數(shù)量之和,第2個(gè)與第3個(gè)口袋的硬幣數(shù)量和,如此直到第n-1個(gè)與第n個(gè)口袋的硬幣數(shù)量之和,得到n-1個(gè)數(shù)的序列。

如果收藏家發(fā)現(xiàn)某個(gè)口袋沒(méi)有硬幣,或者他計(jì)算得到的序列較上一天相比有變動(dòng),那么收藏家就知道肯定有人動(dòng)了他的硬幣。

有一個(gè)聰明的小偷,他想在收藏家不知道的情況下偷走一些硬幣,為此,他不僅可以偷偷地從某個(gè)口袋中拿出一些硬幣,也可以將硬幣在口袋間任意移動(dòng),現(xiàn)在他想知道對(duì)于給定的n個(gè)口袋及對(duì)應(yīng)的硬幣數(shù)量,他最多能拿多少枚硬幣。

小偷是很聰明的,他早就算出來(lái)啦,但是他想考考作為徒弟的你……

?

【數(shù)據(jù)規(guī)模與約定】

????對(duì)于50%的數(shù)據(jù),有2≤n≤20,每個(gè)口袋中硬幣數(shù)量≤20。

????對(duì)于100%的數(shù)據(jù),有2≤n≤999,每個(gè)口袋中硬幣數(shù)量≤10000且為正整數(shù)。

?


貪心提,自己造了幾組數(shù)據(jù),連蒙帶猜找到規(guī)律就可以了

當(dāng)n為偶數(shù)時(shí),答案一定為 0,當(dāng) n為奇數(shù)時(shí),答案為所有編號(hào)為奇數(shù)的口袋中硬幣數(shù)量的最小值 -1。

注:n<=3時(shí)奇數(shù)也不行

?

?

?

T2

?

?

2.無(wú)名

?(noname.pas/c/cpp)

【問(wèn)題描述】

????這道題實(shí)在不知道該取什么名字比較好,于是就取了這個(gè)名字。

????給定一個(gè)長(zhǎng)度為n的正整數(shù)序列,你的任務(wù)就是求出至少需要修改序列中的多少個(gè)數(shù)才能使得該數(shù)列成為一個(gè)嚴(yán)格(即不允許相等)單調(diào)遞增的正整數(shù)序列,對(duì)序列中的任意一個(gè)數(shù),你都可以將其修改為任意的正整數(shù)。

?

【數(shù)據(jù)規(guī)模與約定】

對(duì)于30%的數(shù)據(jù),有1≤n≤10。

對(duì)于80%的數(shù)據(jù),有1≤n,T≤50,且輸入序列中每個(gè)數(shù)均不超過(guò)50。

對(duì)于100%的數(shù)據(jù),有1≤n≤50000,1≤T≤5000,輸入序列中每個(gè)數(shù)均為不超過(guò)1000000000(10^9)的正整數(shù),且每個(gè)測(cè)試點(diǎn)中T組數(shù)據(jù)對(duì)應(yīng)的n值總和不超過(guò)500000。

?


看到數(shù)據(jù)范圍就果斷選擇80分算法

80分:


DP
f[i][j] 代表前i個(gè)數(shù)最后一位為j時(shí)的最小改變策略

?

?

x 表示可以任意數(shù)變到的最大值

?

正解:
簡(jiǎn)單來(lái)說(shuō)就是:構(gòu)造序列b[i] = a[i] – i;答案即為序列總長(zhǎng)度減去B的最長(zhǎng)不下降子序列。

(nlogn)二分優(yōu)化lis

?


T3

?

?

3.服務(wù)

?(service.pas/c/cpp)

【問(wèn)題描述】

????一家公司為它在各地的用戶提供服務(wù),公司有三名負(fù)責(zé)這項(xiàng)工作的員工,分別編號(hào)為1,2,3,服務(wù)的地點(diǎn)有n個(gè),分別編號(hào)為1,2,3,...n,把從編號(hào)為p的服務(wù)地點(diǎn)直接到達(dá)編號(hào)為q的服務(wù)地點(diǎn)所需的移動(dòng)費(fèi)用記為C(p,q),顯然C(p,p)=0(停留在原地不需要費(fèi)用),但不保證對(duì)任意p,q均有C(p,q)=C(q,p)。

????初始時(shí)員工1在地點(diǎn)1,員工2在地點(diǎn)2,員工3在地點(diǎn)3,現(xiàn)在公司依次收到了L個(gè)服務(wù)請(qǐng)求,每個(gè)請(qǐng)求需要一名員工趕到其指定的地點(diǎn)進(jìn)行服務(wù),員工可以選擇直達(dá),也可以選擇經(jīng)過(guò)若干個(gè)服務(wù)地點(diǎn)中轉(zhuǎn),特別地,如果指派的員工已在當(dāng)前請(qǐng)求所在地,則該請(qǐng)求不需要任何移動(dòng)費(fèi)用即可被處理。

????出于公平起見(jiàn),所有請(qǐng)求必須按順序處理,這意味著即使一名員工在趕往當(dāng)前請(qǐng)求的途中經(jīng)過(guò)之后的請(qǐng)求所在的地點(diǎn),他也不可以先處理之后的請(qǐng)求,但是公司不限制每位員工趕往請(qǐng)求地點(diǎn)的路線,也允許一個(gè)服務(wù)地點(diǎn)有多名員工。

????你的任務(wù)就是對(duì)于這L個(gè)請(qǐng)求,找到一個(gè)服務(wù)方案(即對(duì)每個(gè)請(qǐng)求分配合適的員工去服務(wù)以及規(guī)劃移動(dòng)路線),使得三名員工提供服務(wù)的總移動(dòng)費(fèi)用最小。

?

【數(shù)據(jù)規(guī)模與約定】

????每個(gè)測(cè)試點(diǎn)5分,各個(gè)測(cè)試點(diǎn)數(shù)據(jù)范圍如下:

測(cè)試點(diǎn)編號(hào)

n

L

1-3

??

4-6

??

7-10

??

11-14

??

15-17

??

18-20

??

????對(duì)于所有的測(cè)試點(diǎn),均有數(shù)據(jù)組數(shù),地點(diǎn)數(shù),給定的C矩陣主對(duì)角線上的數(shù)全部為0,且輸入數(shù)據(jù)中所有的數(shù)均為不超過(guò)2000的非負(fù)整數(shù)。


從考試開(kāi)始到結(jié)束都沒(méi)想過(guò)4維的DP
打了不知道多長(zhǎng)時(shí)間的暴力后 果斷放棄提交()

正解:

首先用Floyd求最短路。

4 維 DP f[k][i1][i2][i3] 代表做到第 k 個(gè)任務(wù)是3人在 i1 i2 i3 時(shí)的費(fèi)用。
5重循環(huán)。


優(yōu)化
因?yàn)橛腥蝿?wù),所以可已確定完成這個(gè)任務(wù)前后某個(gè)人的位置 完成第 k 個(gè)任務(wù)前一定有一個(gè)人在 b[k1-1] 的位置 完成第 k 個(gè)任務(wù)后一定有一個(gè)人在 p[k1] 的位置。所以就能剩一沖循環(huán)了(4重)。

因?yàn)榭梢源_定某個(gè)人的位置,所以可以再省略一維 i3。i1,i2都不到p[k1]的位值,i3一定就在;i1或 i2到 b[k1]的位值,i3一定就不在;
所以:并列3個(gè)核心

注:初始化f[0][1][2]=0;

b[0]=3;

?

轉(zhuǎn)載于:https://www.cnblogs.com/cylyz/p/9757264.html

總結(jié)

以上是生活随笔為你收集整理的NOIP模拟赛的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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