国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

電子商城網(wǎng)站開發(fā)教程網(wǎng)絡推廣引流是做什么工作

電子商城網(wǎng)站開發(fā)教程,網(wǎng)絡推廣引流是做什么工作,專業(yè)建筑設計網(wǎng)站平臺,t云建站目錄 今日知識點: 計算最長子序列的方案個數(shù),類似最短路徑個數(shù)問題 四柱河內(nèi)塔問題:dp[i]min{ (p[i-k]f[k])dp[i-k] } 紙帶 圍欄木樁 四柱河內(nèi)塔 紙帶 思路: 我們先設置dp[i]表示從i到n的方案數(shù)。 那么減法操作中&#xff…

目錄

今日知識點:

計算最長子序列的方案個數(shù),類似最短路徑個數(shù)問題

四柱河內(nèi)塔問題:dp[i]=min{ (p[i-k]+f[k])+dp[i-k] }?

紙帶

圍欄木樁

?四柱河內(nèi)塔


????????

????????
紙帶

思路:

我們先設置dp[i]表示從i到n的方案數(shù)。

那么減法操作中:i可以移動到[1,i-1]中的任意一個格子。反過來可以認為:i可以從i+1到n轉移過來。所以得出dp[i]=dp[i+1]+…dp[n];(使用后綴和即可)

然后除法操作中:i可以移動到[1,i/2]中的任意一個格子。反過來可以認為:i可以從x/2==i的任意x移動過來。所以得出dp[i]+=sum[i*j]-sum[i*j+j](i*j<=n)

#include <bits/stdc++.h>
using namespace std;
const int N=4e6+5;
int n,mod,dp[N],sum[N];int main(){cin>>n>>mod;dp[n]=sum[n]=1;for(int i=n-1;i>=1;i--){dp[i]=sum[i+1];//減法for(int j=2;j*i<=n;j++){//除法int r=min(n,i*j+j-1);dp[i]=(dp[i]+sum[i*j]-sum[r+1])%mod;}sum[i]=(sum[i+1]+dp[i])%mod;}	cout<<dp[1];
}

????????

?????????

圍欄木樁

?輸入:
3
9 10 1 9 8 7 6 3 4 6
3 100 70 102
6 40 37 23 89 91 12

思路:

其實就是先找最長上升子序列,然后再求有多少個最長的上升子序列。

首先設置dp[i]表示以i結尾的最長上升子序列。

轉移:(i能拼在j后面的話)dp[i]=max(dp[j])+1;

那么要求有多少個最長上升子序列的話就要進行修改,

把dp[i]=max(dp[j])+1改成?if(dp[j]+1>dp[i]) dp[i]=dp[j]+1;

這樣的話就能知道什么時候修改了dp[i],當修改dp[i]的時候自然是因為i可以拼在j之后且拼完后dp[i]會變大。

故:f[i]=f[j]

當dp[j]+1=dp[i]時候,說明i即便拼在j后面dp也不會變化,那就說明拼在這個j后面也是最優(yōu)解。

故:f[i]+=f[j]

類似最短路徑個數(shù)問題嘛!

#include <bits/stdc++.h>
using namespace std;
const int N=27;
int n,m,h[N],dp[N],f[N],ans1,ans2;int main(){cin>>m;while(m--){cin>>n;ans1=0;ans2=0;for(int i=1;i<=n;i++){cin>>h[i];dp[i]=f[i]=1;}for(int i=2;i<=n;i++)for(int j=i-1;j;j--){if(h[j]<=h[i]){if(dp[j]+1>dp[i]){//更新最優(yōu)解就繼承dp[i]=dp[j]+1;f[i]=f[j];}else if(dp[j]+1==dp[i])//當前的j也是可以使變成最優(yōu)解的jf[i]+=f[j];}}for(int i=1;i<=n;i++)ans1=max(ans1,dp[i]);for(int i=1;i<=n;i++)if(dp[i]==ans1)ans2+=f[i];cout<<ans1<<" "<<ans2<<'\n';}	
}

????????

?????????

?四柱河內(nèi)塔

思路:

這道題聽過的很簡單,沒見過的確實很難做了。

首先我們從最簡單的3柱開始:就如下圖,對于n柱的河內(nèi)塔把第一柱上面n-1個放到中間的柱子上,然后剩下的一個放到最右邊,然后就轉化成了把n-1個盤子的三柱河內(nèi)塔問題。

設置dp[i]表示i個盤子的三柱河內(nèi)塔問題。

那么對應轉移方程:dp[i]=(dp[i-1]+1)+dp[i-1]=2*dp[i-1]+1

那么現(xiàn)在來考慮四柱河內(nèi)塔情況:

對于n個盤子的四柱河內(nèi)塔,我們先將上面的n-k個放到任意一柱上,然后剩余的k個放到最右邊柱子。最后也轉化成了n-k個盤子的四柱河內(nèi)塔問題。

要注意的一點是:在轉移k個盤子的情況屬于3柱的河內(nèi)塔問題,因為有一柱是不能使用的。

轉移方程:dp[i]=(p[i-k]+f[k])+dp[i-k]? 其中f[k]是三柱k個盤子的河內(nèi)塔問題。dp[i-k]是四柱n-k個盤子的河內(nèi)塔問題。但是我們并不確定到底是讓k取多少,但是我們確定的是k的選值必須使得dp[i]最小。那么就有dp[i]=min{ (p[i-k]+f[k])+dp[i-k] }?

?????????

下面是代碼部分?

#include <bits/stdc++.h>
using namespace std;
const int INF=0x3f3f3f3f;
int f,dp[55];
int main(){cin>>f;memset(dp,INF,sizeof(dp));dp[0]=0;dp[1]=1;dp[2]=3;//初始化cout<<1<<'\n'<<3<<'\n';for(int i=3;i<=f;i++){for(int j=1;j<i;j++){if(dp[i]>2*dp[i-j]+pow(2,j)-1)//pow(2,j)-1就是f[j]的值dp[i]=2*dp[i-j]+pow(2,j)-1;}cout<<dp[i]<<'\n';}
}

http://m.aloenet.com.cn/news/38376.html

相關文章:

  • bootstrap微網(wǎng)站模板下載新聞播報最新
  • 網(wǎng)站域名備案資料seo客服
  • 青島正規(guī)的網(wǎng)站建設公司沈陽網(wǎng)頁建站模板
  • 企業(yè)宣傳網(wǎng)站制作外鏈系統(tǒng)
  • 做創(chuàng)意ppt網(wǎng)站有哪些網(wǎng)頁在線生成
  • asp汽車租憑網(wǎng)站源碼搜索引擎推廣的關鍵詞
  • 西安 網(wǎng)站搭建深圳seo網(wǎng)絡優(yōu)化公司
  • wordpress tag 去掉優(yōu)化公司排行榜
  • 無錫企業(yè)網(wǎng)站的建設競價廣告是怎么推廣的
  • 引流軟件下載站網(wǎng)推和地推的區(qū)別
  • 網(wǎng)站建設的日常工作有什么做個公司網(wǎng)站多少錢
  • 購物網(wǎng)站的功能網(wǎng)站建設策劃書
  • 網(wǎng)站后臺管理系統(tǒng)欄目位置天津疫情最新消息
  • 甘肅疫情遭中央批評原因西安seo優(yōu)化培訓
  • 做相親網(wǎng)站常用的seo查詢工具
  • 東莞做網(wǎng)站要多少錢seo外鏈專員
  • 遼源網(wǎng)站建設公司成都網(wǎng)絡推廣外包
  • 1688做網(wǎng)站多少錢seox
  • 廣東省示范校建設專題網(wǎng)站推廣系統(tǒng)
  • 如何做百度收錄的網(wǎng)站做推廣app賺錢的項目
  • 漢川市建設局網(wǎng)站網(wǎng)絡營銷的優(yōu)化和推廣方式
  • 泉州做網(wǎng)站seo前端優(yōu)化網(wǎng)站
  • 做的圖怎么上傳到網(wǎng)站宣傳推廣方式有哪些
  • 哪個網(wǎng)站做外貿(mào)年費比較便宜宣傳渠道有哪些
  • 怎么看別人網(wǎng)站怎么做的網(wǎng)站頁面優(yōu)化內(nèi)容包括哪些
  • 網(wǎng)站建站行業(yè)公司主頁建設希愛力副作用太強了
  • 滄州商貿(mào)行業(yè)網(wǎng)站建設自己有域名怎么建網(wǎng)站
  • 做網(wǎng)站收會員費違法嗎網(wǎng)站外鏈平臺
  • 成都專門做公司網(wǎng)站的公司全網(wǎng)引擎搜索
  • 南通網(wǎng)站優(yōu)化深圳市社會組織總會