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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

POJ 2018 Best Cow Fences (二分答案构造新权值 or 斜率优化)

發布時間:2023/12/10 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ 2018 Best Cow Fences (二分答案构造新权值 or 斜率优化) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

$ POJ~2018~Best~Cow~ Fences $(二分答案構造新權值)



$ solution: $

題目大意:

給定正整數數列 $ A $ ,求一個平均數最大的長度不小于 $ L $ 的子段

  • 這道題首先我們如果沒有長度限制,直接掃一遍數組即可
  • 而有了長度限制之后我們的候選集合發生改變,很容讓我們想到DP
  • 事實上這一道題可以DP,用斜率優化復雜度極小,就是有點常數(事實上最優)
  • 但是我們可以參考類似01規劃的做法,因為答案具有單調行。
  • 我們讓數組中每一個數都減去我們二分答案枚舉的值,然后求前綴和,我們只要掃描一遍即可
  • 因為我們們可以從后往前,求出以每一個數為左端點的最大字段和,然后我們只需要知道將后面離它距離大于\(L\)的最大值即可,這個可以邊掃描邊維護(就是更新最大值)。


  • $ code: $

    #include<iostream> #include<cstdio> #include<iomanip> #include<algorithm> #include<cstring> #include<cstdlib> #include<ctime> #include<cmath> #include<vector> #include<queue> #include<map> #include<set>#define ll long long #define db double #define rg register intusing namespace std;const int mod=9901;int n,m,ans;inline int qr(){register char ch; register bool sign=0; rg res=0;while(!isdigit(ch=getchar()))if(ch=='-')sign=1;while(isdigit(ch))res=res*10+(ch^48),ch=getchar();if(sign)return -res; else return res; }inline int ksm(ll x,int y){ll res=1;while(y){if(y&1)res=res*x%mod;x=x*x%mod; y>>=1;}return res; }inline int ask(int x,int y){if(y==1)return x;if(y&1) return ((ll)ask(x,y>>1)*(ksm(x,y>>1)+1)%mod+ksm(x,y)%mod)%mod;else return (ll)ask(x,y>>1)*(ksm(x,y>>1)+1)%mod; }int main(){//freopen(".in","r",stdin);//freopen(".out","w",stdout);while(~scanf("%d%d",&n,&m)){if(m==0){puts("1");continue;}ans=1;for(rg i=2;i*i<=n;++i){if(n%i)continue;rg x=0; while(!(n%i))++x,n/=i;ans=(ll)ans*(ask(i%mod,x*m)+1)%mod;}if(n!=1)ans=(ll)ans*(ask(n%mod,m)+1)%mod;printf("%d\n",ans);}return 0; }

    轉載于:https://www.cnblogs.com/812-xiao-wen/p/11248810.html

    總結

    以上是生活随笔為你收集整理的POJ 2018 Best Cow Fences (二分答案构造新权值 or 斜率优化)的全部內容,希望文章能夠幫你解決所遇到的問題。

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