(貪心)程式碼源每日一題 Div1 Ayoub's function
作者:由 嚴格鴿 發表于 舞蹈時間:2022-04-06
題目連結:Daimayuan Online Judge
題意:
思路:
我們需要轉換下思路,最後的答案應該為總的區間數,減去不包含
的區間數量。
我們希望不包含
的區間數量最少。
比如
我們得到答案為
,我們希望0的區間儘可能的平均。
對於
,我們可以獲得
個0的區間,也就是將
個0平均的分配到
裡面,我們只需要簡單討論下即可。
比如
我們希望得到的是
。
具體證明呢,我不會啊,但是
,我們希望
最小,當然是讓
儘可能的相等。
code
void
slove
()
{
cin
>>
n
>>
m
;
int
tot
=
n
*
(
n
+
1
)
/
2
;
if
((
n
-
m
)
%
(
m
+
1
)
==
0
)
{
int
p
=
(
n
-
m
)
/
(
m
+
1
);
cout
<<
tot
-
(
m
+
1
)
*
p
*
(
p
+
1
)
/
2
<<
endl
;
}
else
{
int
p
=
(
n
-
m
)
/
(
m
+
1
);
int
r
=
(
n
-
m
)
%
(
m
+
1
);
cout
<<
tot
-
r
*
(
p
+
1
)
*
(
p
+
2
)
/
2
-
(
m
+
1
-
r
)
*
p
*
(
p
+
1
)
/
2
<<
endl
;
}
}