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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

BZOJ 1432 [ZJOI2009]Function

發布時間:2024/9/5 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ 1432 [ZJOI2009]Function 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1432: [ZJOI2009]Function

Description

Input

一行兩個整數n; k。

Output

一行一個整數,表示n 個函數第k 層最少能由多少段組成。

Sample Input

1 1

Sample Output

1

HINT

對于100% 的數據滿足1 ≤ k ≤ n ≤ 100。


  很明顯這是一道結論題。又是愣沒想出來,以下來自:http://blog.csdn.net/zmoiynlp/article/details/44226459

  n=1的時候輸出1,其余時候輸出2*k,

  假如k>(n>>1)的話,令k=n-k+1(因為1和n-1是對稱的)。
  為什么呢……
  我們畫一個圖。(這個圖是很經典的)

  這是5條直線(函數)。可以看到,這些點以
  A
  BC
  DEF
  GHIJ
  的方式排列。
  第一個部分只經過A(這樣一定是最優的)
  第二個部分只經過BAC
  第三個部分只經過DBECF……
  1
  1+2
  2+3
  3+4……
  線段數比點數多一,所以就是
  2
  4
  6
  8……
  特別地,當n=1時是1。

  當然,對于結論題,代碼往往都很短……

  當時圖已經畫出來了,但因為題目中的“連續函數”(天知道是不是線性的),卡了很久。但現在一想,只有線性最優啊……

  我又先看了題解,罪過啊……

1 /************************************************************** 2 Problem: 1432 3 User: Doggu 4 Language: C++ 5 Result: Accepted 6 Time:0 ms 7 Memory:820 kb 8 ****************************************************************/ 9 10 #include <cstdio> 11 #include <algorithm> 12 int n, k, a; 13 int main() { 14 scanf("%d%d",&n,&k); 15 if(n==1) a=1; 16 else if(k<=(n>>1)) a=2*k; 17 else a=2*(n-k+1); 18 printf("%d\n",a); 19 return 0; 20 } 結論題

?

  

轉載于:https://www.cnblogs.com/Doggu/p/bzoj1432.html

總結

以上是生活随笔為你收集整理的BZOJ 1432 [ZJOI2009]Function的全部內容,希望文章能夠幫你解決所遇到的問題。

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