問題描述
東東在玩遊戲「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時...