K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

Mn giúp mik bt Tin Học với ạ..! Mn lm đc bài nào thì làm nha ...!Câu 1 (7,0 điểm): Số chính phương.Cho trước số nguyên dương N (0< N≤ 106 ). Yêu cầu: Tìm số nguyên dương K nhỏ nhất sao cho tích của K và N là một số chính phương. Dữ liệu vào: File CP.INP chứa số N. Dữ liệu ra: File CP.OUT ghi số nguyên K tìm được.Câu 2 (6,0 điểm): Dòng lớn nhất.Cho một tệp tin gồm nhiều dòng. Trên mỗi dòng chứa...
Đọc tiếp

Mn giúp mik bt Tin Học với ạ..! Mn lm đc bài nào thì làm nha ...!

Câu 1 (7,0 điểm): Số chính phương.

Cho trước số nguyên dương N (0< N≤ 106 ). Yêu cầu: Tìm số nguyên dương K nhỏ nhất sao cho tích của K và N là một số chính phương. Dữ liệu vào: File CP.INP chứa số N. Dữ liệu ra: File CP.OUT ghi số nguyên K tìm được.

Câu 2 (6,0 điểm): Dòng lớn nhất.

Cho một tệp tin gồm nhiều dòng. Trên mỗi dòng chứa một xâu kí tự chỉ gồm các kí tự chữ cái và chữ số, độ dài của mỗi xâu không quá 255 kí tự.

Yêu cầu: Đưa ra dòng có nhiều kí tự chữ cái nhất, nếu có nhiều dòng thỏa mãn thì đưa ra dòng đầu tiên có nhiều kí tự chữ cái nhất. Dữ liệu vào: File DLN.INP gồm:

+ Dòng đầu ghi số N là số lượng dòng chứa các xâu kí tự.

+ N dòng tiếp theo: mỗi dòng ghi một xâu kí tự. Dữ liệu ra: File DLN.OUT ghi ra dòng có nhiều kí tự chữ cái nhất, nếu có nhiều dòng thỏa mãn thì đưa ra dòng đầu tiên có nhiều kí tự chữ cái nhất.

Câu 3 (4,0 điểm): Dãy con đối xứng.

Một dãy số liên tiếp gọi là dãy đối xứng nếu đọc các số theo thứ tự từ trái sang phải cũng giống như khi đọc theo thứ tự từ phải sang trái. Cho dãy số A gồm N số nguyên dương: a1, a2,..., aN (1≤ N≤ 10000; 1≤ ai≤ 32000; 1≤ i≤ N)

Yêu cầu: Hãy tìm dãy con đối xứng dài nhất của dãy A. Nếu có nhiều dãy con thoả mãn thì lấy dãy con xuất hiện đầu tiên trong dãy A. Dữ liệu vào: File DX.INP gồm 2 dòng:

- Dòng 1: ghi số nguyên dương N.

- Dòng 2: ghi N số nguyên dương lần lượt là giá trị của các số trong dãy A, các số được ghi cách nhau ít nhất một dấu cách.

Dữ liệu ra: File DX.OUT ghi dãy tìm được trên cùng một dòng, các số được ghi cách nhau một dấu cách.

Câu 4 (3,0 điểm): Dãy nguyên tố.

Cho một dãy số B gồm n số nguyên dương (n ≤ 1000), mỗi phần tử trong dãy có giá trị không quá 30000. Yêu cầu:

+ Tìm dãy con dài nhất (liên tiếp hoặc không liên tiếp) các phần tử là những số nguyên tố có giá trị tăng dần của dãy B và thứ tự của các phần tử không đổi so với ban đầu. Ví dụ: Dãy 8 phần tử {4, 2, 5, 6, 3, 3, 7, 9} có dãy con nguyên tố tăng dài nhất là {2, 5, 7}.

+ Nếu có nhiều dãy con thoả mãn thì lấy dãy con xuất hiện đầu tiên trong dãy B. Dữ liệu vào: File NT.INP gồm 2 dòng:

- Dòng 1: Ghi số nguyên dương n.

- Dòng 2: Ghi n số nguyên dương, các số được ghi cách nhau một dấu cách. Dữ liệu ra: File NT.OUT ghi dãy con tìm được trên cùng 1 dòng, giữa 2 phần tử liền kề trong dãy có một dấu cách.

0
 Dãy con của một dãy là dãy có thể đạt được bằng cách xoá đi một số phần tử trong dãy ban đầu. Dãy rỗng và dãy ban đầu cũng là dãy con của dãy ban đầu. Bài toán tìm một dãy con tăng dài nhất trong một tập các phần tử là tìm một dãy con của dãy ban đầu sao cho trong dãy con này phần tử đứng sau lớn hơn hẵn phần tử đứng trước. Dãy con này không cần thiết phải liền kề, hoặc là duy nhất.     Bài toán dãy...
Đọc tiếp

 Dãy con của một dãy là dãy có thể đạt được bằng cách xoá đi một số phần tử trong dãy ban đầu. Dãy rỗng và dãy ban đầu cũng là dãy con của dãy ban đầu. Bài toán tìm một dãy con tăng dài nhất trong một tập các phần tử là tìm một dãy con của dãy ban đầu sao cho trong dãy con này phần tử đứng sau lớn hơn hẵn phần tử đứng trước. Dãy con này không cần thiết phải liền kề, hoặc là duy nhất.

     Bài toán dãy con tăng dài nhất được áp dụng rộng rãi ở nhiều lĩnh vực: Toán học (thuật toán, lý thuyết ma trận, lý thuyết đại diện) hay Vật Lý. Trong bài tập này nhiệm vụ của bạn cần thực hiện là viết chương trình nhận đầu vào là một dãy số nguyên có N phần tử A1, A2, ..., An, tìm dãy con tăng dài nhất của dãy đã cho.

Dữ liệu nhập:

  - Dòng đầu tiên là số nguyên dương N (1 ≤ N ≤ 5.000)

  - Dòng thứ hai chứa N số nguyên thuộc dãy A. (|Ai| ≤ 109 Với i=1..N)

Kết quả:

  - Ghi ra một số nguyên là độ dài dãy con tăng dài nhất tìm được.

Ví dụ

input

5
1 1 3 4 1

output

3                                                                         

 Giúp ạ

1
26 tháng 6 2023

n = int(input())
a = list(map(int, input().split()))

dp = [a[0]] 

for i in range(1, n):
     left, right = 0, len(dp) - 1
    pos = len(dp)
    while left <= right:
        mid = (left + right) // 2
        if dp[mid] < a[i]:
            left = mid + 1
        else:
            pos = mid
            right = mid - 1
        if pos == len(dp):
        dp.append(a[i])
      else:
        dp[pos] = a[i]

print(len(dp))  
    

11 tháng 8 2023

#include <iostream>

#include <vector>

using namespace std;

pair<int, int> findMaxSubarray(vector<int> nums) {

     int n = nums.size();

     int maxSum = nums[0];

     int currentSum = nums[0];

     int start = 0;

     int end = 0;

     for (int i = 1; i < n; i++) {

          if (currentSum < 0) {

               currentSum = nums[i];

               start = i;

               end = i;

          } else {

               currentSum += nums[i];

               end = i;

          }

          if (currentSum > maxSum) {

               maxSum = currentSum;

          }

     }

     return make_pair(start, end);

}

int main() {

     int numTests;

     cin >> numTests;

     for (int t = 0; t < numTests; t++) {

          int n;

          cin >> n;

          vector<int> nums(n);

          for (int i = 0; i < n; i++) {

               cin >> nums[i];

          }

          pair<int, int> maxSubarray = findMaxSubarray(nums);

          cout << maxSubarray.first << " " << maxSubarray.second << endl;

     }

     return 0;

}