水(NOIP模擬賽Round 10)

2022-05-16 03:44:14 字數 1016 閱讀 1106

題目描述:

小z有乙個長度為

的數列。他有

次令人窒息的操作,每次操作可以使某個數字

或。他當然是希望這些數字的乘積盡量小了。為了簡化題目,你只需輸出操作完成後的數列即可。

————————————————我是分割線————————————————

這道題目,我們可以先自己手動模擬一遍,就能發現,首先我們需要盡量讓乘積最小,那麼首先我們希望乘積為負數,

所以假設一開始的時候乘積為整數,我們先拿出絕對值最小的那個數,如果是正數就-x,如果是負數就+x直到乘積變為負數。

在乘積變為負數之後,我們來看乙個問題:

3 4 6 3個數中,在任意乙個數上+1,問加在哪個數的時候,使他們的乘積增加最大?顯然是3。所以在乘積為負的時候,我們每次取絕對值最小的數讓他的絕對值變大即可

下面貼**

#include#include

#include

using

namespace

std;

long

long aqs(long

long a)

struct

number

}qaq[

200005

];int zheng=1

,n,k,x;

priority_queue

q;bool

cmp(number a,number b)

intmain()

for(int i=1;i<=k;i++)

else

else tmp.num-=x,q.push(tmp);}}

for(int i=1;i<=n;i++)

sort(qaq+1,qaq+n+1

,cmp);

for(int i=1;i"

%lld

",qaq[i].num);

printf(

"%lld\n

",qaq[n].num);

return0;

}

noip模擬賽 水題

題目描述 lyk出了道水題。這個水題是這樣的 有兩副牌,每副牌都有n張。對於第一副牌的每張牌長和寬分別是xi和yi。對於第二副牌的每張牌長和寬分別是aj和bj。第一副牌的第i張牌能覆蓋第二副牌的第j張牌當且僅當xi aj並且yi bj。注意牌不能翻轉 當然一張牌只能去覆蓋最多一張牌,而不能覆蓋好多張...

YYH的王國(NOIP模擬賽Round 6)

yyh擁有乙個有n個城市的國家,編號為1 n。其中城市i到城市j的路徑長度為i和j的最小公倍數。現在yyh想建一些高速公路,使得任意兩座城市都能通過高速公路直接或間接到達。建造一條高速公路的代價為這條高速公路的長度,他想知道最小代價是多少?輸入格式 第一行輸入乙個整數,t,表示有t組資料。接下來t行...

俄羅斯方塊(NOIP模擬賽)(水 模擬)

真是一道神奇的題目233 原題傳送門 迫不得已貼了個題解的鏈結。好吧,這道題就是分情況討論,純模擬,沒有什麼難的。腦洞要大,四面都要考慮,不能漏 include include using namespace std intc,p,ans int l 101 int absq int a,int b...