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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CF#1288A Deadline (函数求最值问题)

發布時間:2025/3/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CF#1288A Deadline (函数求最值问题) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述

題目大意

輸入 nnnddd , 能否找到 xxx 使得 x+?dx+1?≤n,(x≤n)x+ \lceil \fracozvdkddzhkzd{x+1} \rceil \leq n \, ,(x \leq n)x+?x+1d??n,(xn)
如果可以就輸出"YES",否則輸出"NO"。

題目解析

這是一道有意思的題目,用上了高中的函數最值問題的求解。

f(x)=x+?dx+1?,x≤nf(x)=x+ \lceil \fracozvdkddzhkzd{x+1}\rceil \, ,x \leq nf(x)=x+?x+1d??,xn

問題就轉換為,判斷 f(x)min≤nf(x)_{min} \leq nf(x)min?n是否成立。

我們先忽略向上取整符號,只要最后 f(x)f(x)f(x) 的結果向上取整就可以了。

u=x+1,u≤n+1u=x+1\, ,u \leq n + 1u=x+1,un+1

于是,f(u)=u+du?1,u≤n+1f(u)=u+ \fracozvdkddzhkzd{u} - 1\, ,u \leq n + 1f(u)=u+ud??1,un+1

我們對f(u)f(u)f(u) 求導,得 f′(u)=1?du2f^{'}(u)=1- \fracozvdkddzhkzd{u^{2}}f(u)=1?u2d?

f′(u)=0f^{'}(u)=0f(u)=0,得 u=d,x=d+1u= \sqrtozvdkddzhkzd\ ,x=\sqrtozvdkddzhkzd+1u=d??,x=d?+1

u>du > \sqrtozvdkddzhkzdu>d? 時, f′(u)>0f^{'}(u)>0f(u)>0, f′(u)f^{'}(u)f(u)單調遞增。
u<du < \sqrtozvdkddzhkzdu<d? 時, f′(u)<0f^{'}(u)<0f(u)<0, f′(u)f^{'}(u)f(u)單調遞減。

所以 x=d+1x=\sqrtozvdkddzhkzd+1x=d?+1 時,f(x)f(x)f(x)取得最小值, f(x)min=2d?1f(x)_{min}=2\sqrtozvdkddzhkzd-1f(x)min?=2d??1,只要判斷 2d?1≤n2\sqrtozvdkddzhkzd-1 \leq n2d??1n是否成立即可。

看似推導過程很長,但是只要是考過高考的人其實也就是兩分鐘的事情,還好我高中的東西還沒有還給老師hhh。

題目代碼

/*** Author: Veggie*/ #include <bits/stdc++.h> using namespace std; int T, s, d;//ceil是向上取整函數 int ok(int n, int d) {return ceil(2.0 * sqrt(d) - 1) <= n; } int main() {cin >> T;while(T--) {cin >> n >> d;if (d <= n || ok(n, d))printf("YES\n");elseprintf("NO\n");}return 0; }

總結

以上是生活随笔為你收集整理的CF#1288A Deadline (函数求最值问题)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。