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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

hdu 5358(尺取法)

發布時間:2025/3/16 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdu 5358(尺取法) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

解題思路:這題可以利用尺取法,不過需要兩個指針。如果采用一個指針,會出現這種情況,由于是取對數,所以中間可能會有很多log2S(i,j)的值相等,如果只有一個指針,會使得一些區間沒有被算進去。比如0,0,1,1,0這種情況。

正解:

1、首先把它展開。發現沒啥用。

2、然后發現S(i,j)最大就是10的十次方。然后一旦log之后,最大就是34貌似。就枚舉所有的log值,算出后面乘以多少。這里可以用一種全新的二分姿勢。

枚舉左端點。好了,現在左端點i固定了。比如從log[S[i,l] ] + 1經過log之后得到k,log[S[i,l+1] ]+ 1 得到的也是k……一直到log[S[i,r-1] ]+1 得到的才是k,然后log[S[i,r] ] + 1 得到的是k+1了。區間是前閉后開的。那么這一段的i和j的總和就是((i + l) + (i+l+1) + ?…… (i + r - 1) )那么一共有(r - l )個i+ 等差數列求和公式(a1+an) * n /2 ? 等比數列求和公式:a1 * (1-q^n)/(1-q)


參考博客:http://www.myexception.cn/ai/1985602.html

http://blog.csdn.net/zjck1995/article/details/47321881


總結

以上是生活随笔為你收集整理的hdu 5358(尺取法)的全部內容,希望文章能夠幫你解決所遇到的問題。

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