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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

汉子编码比字母编码长_字母/博客作者编码问题(使用动态编程)

發布時間:2025/3/11 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汉子编码比字母编码长_字母/博客作者编码问题(使用动态编程) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

漢子編碼比字母編碼長

Problem statement:

問題陳述:

Shivang is a blog writer and he is working on two websites simultaneously. He has to write two types of blogs which are:

Shivang是一位博客作家,他同時在兩個網站上工作。 他必須寫兩種類型的博客:

  • Technical blogs for website_1: X of this type can be written in an hour. (X will be the input)

    website_1的技術博客 :此類X可以在一小時內編寫。 ( X將作為輸入)

  • Fun blogs for website_2: Y of this type can be written in an hour. (Y will be input)

    網站_2的趣味博客 :可以在一個小時內編寫此類Y。 (將輸入Y )

You are to help him to save time. Given N number of total blogs, print the minimum number of hours he needs to put for combination of both the blogs, so that no time is wasted.

您是要幫助他節省時間。 給定總數為N的博客,請打印他將兩個博客組合在一起所需最少小時數 ,以免浪費時間。

Input:N: number of total blogsX: number of Technical blogs for website_1 per hourY: number of Fun blogs for website_2 per hourOutput:Print the minimum number of hours Shivang needs to write the combination of both the blogs (total N). If it is NOT possible, print "?1".

Example:

例:

Input:N: 33X: 12Y: 10Output:-1 Input:N: 36X: 10Y: 2Output:6 (10*3+2*3)

Explanation:

說明:

For the first case,No combination is possible that's why output is -1.For the second test case,Possible combinations are 30 technical blogs (3 hours) + 6 fun blogs (3 hours)20 technical blogs (2 hours) + 16 fun blogs (8 hours)10 technical blogs (1 hours) + 26 fun blogs (13 hours)0 technical blogs (0 hours) + 36 fun blogs (18 hours)So, best combination is the first one which takes total 6 hours

The problem is basically solving equation,

問題基本上是解決方程式,

aX + bY = N where we need to find the valid integer coefficients of X and Y. Return a+b if there exists such else return -1.

aX + bY = N ,我們需要找到XY的有效整數系數。 如果存在則返回a + b ,否則返回-1

We can find a recursive function for the same too,

我們也可以找到相同的遞歸函數,

Say,

說,

f(n) = minimum hours for n problemsf(n) = min(f(n-x) + f(n-y)) if f(n-x), f(n-y) is solved already

We can convert the above recursion to DP.

我們可以將上述遞歸轉換為DP。

Solution Approach:

解決方法:

Converting the recursion into DP:

將遞歸轉換為DP:

1) Create DP[n] to store sub problem results2) Initiate the DP with -1 except DP[0], DP[0]=03) Now in this step we would compute values for DP[i]4) for i=1 to nif i-x>=0 && we already have solution for i-x,i.e.,DP[i-x]!=-1 DP[i]=DP[i-x]+1;end ifif i-y>=0 && we already have solution for i-y,i.e.,DP[i-y]!=-1)if DP[i]!=-1DP[i]=min(DP[i],DP[i-y]+1);elseDP[i]=DP[i-y]+1;End ifEnd ifEnd for5) Return DP[n]

C++ Implementation:

C ++實現:

#include <bits/stdc++.h> using namespace std;int minimumHour(int n, int x, int y) {int a[n + 1];a[0] = 0;for (int i = 1; i <= n; i++)a[i] = -1;for (int i = 1; i <= n; i++) {if (i - x >= 0 && a[i - x] != -1) {a[i] = a[i - x] + 1;}if (i - y >= 0 && a[i - y] != -1) {if (a[i] != -1)a[i] = min(a[i], a[i - y] + 1);elsea[i] = a[i - y] + 1;}}return a[n]; }int main() {int n, x, y;cout << "Enter total number of blogs, N:\n";cin >> n;cout << "Enter number of techical blogs, X:\n";cin >> x;cout << "Enter number of fun blogs, Y:\n";cin >> y;cout << "Minimum hour to be dedicated: " << minimumHour(n, x, y) << endl;return 0; }

Output

輸出量

RUN 1: Enter total number of blogs, N: 36 Enter number of techical blogs, X: 10 Enter number of fun blogs, Y: 2 Minimum hour to be dedicated: 6RUN 2: Enter total number of blogs, N: 33 Enter number of techical blogs, X: 12 Enter number of fun blogs, Y: 10 Minimum hour to be dedicated: -1

翻譯自: https://www.includehelp.com/icp/letter-blog-writer-coding-problem-using-dynamic-programming.aspx

漢子編碼比字母編碼長

總結

以上是生活随笔為你收集整理的汉子编码比字母编码长_字母/博客作者编码问题(使用动态编程)的全部內容,希望文章能夠幫你解決所遇到的問題。

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