第10周作業

2021-10-06 03:24:34 字數 2676 閱讀 3935

問題描述

東東在玩遊戲「game23」。在一開始他有乙個數字n,他的目標是把它轉換成m,在每一步操作中,他可以將n乘以2或乘以3,他可以進行任意次操作。輸出將n轉換成m的操作次數,如果轉換不了輸出-1。

思路首先計算出兩者相差的倍數

進行除6運算,cnt+2;

然後測試除2或者除3,cnt+1;

注意除0導致的re

**

#include

using

namespace std;

intmain()

if(m == n)

if(m % n !=0)

int q =0;

int ans = m / n;

while

(ans %6==

0&& ans !=1)

if(ans ==1)

if(ans %2==

0)if(ans ==1)

else

}else

if(ans %3==

0)if(ans ==1)

else

}else

}

問題描述

給定兩個序列a和b。

求序列a的lis和序列ab的lcs的長度。

注意,lis為嚴格遞增的,即a1input

第一行兩個數n,m(1<=n<=5,000,1<=m<=5,000)

第二行n個數,表示序列a

第三行m個數,表示序列b

output

輸出一行資料ans1和ans2,分別代表序列a的lis和序列ab的lcs的長度

思路lcs

假設f[i][j] 為 a1, a2, …, ai 和 b1, b2, …, bj 的 lcs 長度

初始時f[1][0] = f[0][1] = f[0][0] = 0

當 ai == bj 時,f[i][j] = f[i-1][j-1] + 1,否則 f[i][j] = max(f[i-1][j], f[i][j-1])

然後f[m][n]的值即為lcs 的長度。

lis

定義 fi 表示以 ai 為結尾的最長上公升序列的方程。

初始化時f1 = 1,轉移過程如下:

f[i]=max(f[j]|j#include

#include

using

namespace std;

int a[

5100

], b[

5100];

int x[

5100][

5100];

int dp1[

5100];

intmain()

for(

int i =

1; i <= m; i++

) dp1[1]

=1;for

(int i =

2; i <= n; i++)}

dp1[i]

= max +1;

}int mi =0;

for(

int i =

0; i <= n; i++

) cout << mi <<

" ";

for(

int i =

1; i <= n; i++

)else}}

cout << x[n]

[m]<< endl;

}問題描述

給 n 個數,每一步能拿走乙個數,比如拿第 i 個數, ai = x,得到相應的分數 x,但拿掉這個 ai 後,x+1 和 x-1 (如果有 aj = x+1 或 aj = x-1 存在) 就會變得不可拿(但是有 aj = x 的話可以繼續拿這個 x)。求最大分數。

input

第一行包含乙個整數 n (1 ≤ n ≤ 100000),表示數字裡的元素的個數

第二行包含n個整數a1, a2, …, an (1 ≤ ai ≤ 100000)

output

輸出乙個整數:n你能得到最大分值。

思路與上課講的取數問題基本一致,就是需要換一種儲存方式, 對於數值x,陣列a中a[x]為其出現的次數。max為x中的最大值,之後計算過程與上課講的類似。

初始時dp[0] = 0, dp[1] = a[1].

dp[i] = max(dp[i-1], dp[i-2]+a[i]*i);

答案輸出dp[max1]

注意:1 ≤ n ≤ 100000和1 ≤ ai ≤ 100000,因此最終結果要使用long long int型別的變數來記錄。

#include

using

namespace std;

const

int max =

100010

;int x[max]

;long

long

int dp[max]

;int n, m, sum, cnt;

intmain()

dp[0]

=0, dp[1]

= x[1]

;for

(int i =

2; i <= cnt; i++

) cout << dp[cnt]

<< endl;

}//注意long long int

第10周作業

1 編寫指令碼selinux.sh,實現開啟或禁用selinux功能 2 統計 etc fstab檔案中每個檔案系統型別出現的次數 awk uuid end etc fstab sort nr 3 提取出字串yd c m05mb 9 bdh7dq yvixp3vpw中的所有數字 echo yd c ...

第10周作業

1.通過dockerfile 製作centos系統映象然後再製作 nginx編譯映象 docker pull centos centos7.7.1908 vim dockerfile centos系統映象 from centos centos7.7.1908 label maintainer yin...

第10周作業 二

程式的版權和版本宣告部分 檔名稱 函式 作 者 李超 完成日期 2011 年 10 月 26 日 版 本號 01.10.2 對任務及求解方法的描述部分 輸入描述 函式自變數x 問題描述 求函式的值 當x 0.3時,f x 0 當0.3 x 0.8時,f x x 0.3 0.8 0.3 當x 0.8時...