- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Đối với một bài tập, tôi cần phải giải một bài toán. Tôi đã thu hẹp nó xuống như sau:
làm A[1, ...,n]
为 n
Mảng số nguyên.
làmy
là một hằng số nguyên.
Bây giờ tôi phải viết một thuật toán có thể TRÊN)
được tìm thấy trong thời gian Của tôi)
Giá trị tối thiểu của:
M(y) = Tổng |A[i] - y|, i = 1 đến n
. Lưu ý rằng tôi không chỉ sử dụng A[i]-y
, cũng lấy giá trị tuyệt đối của |A[i] - y|
.
Để rõ ràng, tôi cũng đặt phương trình này vào Wolfram Alpha 中.
Tôi đã xem xét bình phương tối thiểu, nhưng tôi không nghĩ điều đó sẽ mang lại Của tôi)
giá trị tối thiểu, nhưng nhiều hơn nữa MỘT
giá trị trung bình. Vì tôi đang sử dụng A[i]-y
giá trị tuyệt đối của , nên tôi cũng không thể so sánh hàm này với y
phân biệt. Ngoài ra, tôi không thể nghĩ ra bất kỳ thuật toán nào vì tôi phải thực hiện nó trong TRÊN)
Hoàn thành trong thời gian. Hơn nữa, tôi tin rằng trong một số trường hợp y
Có thể có nhiều câu trả lời đúng hơn, trong trường hợp đó,y
Giá trị phải bằng Một trong các phần tử nguyên>A
.
Điều này thực sự khiến tôi băn khoăn cả tuần nay mà vẫn chưa tìm ra nguyên nhân. Có ai có thể chỉ cho tôi cách đi hoặc chỉ cho tôi hướng đi đúng không? Tôi bị mắc kẹt. Cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn.
câu trả lời hay nhất
bạn có muốn không M(y) = sum(abs(A[i] - y))
Chọn a y nhỏ nhất. Chúng ta hãy giả sử rằng mỗi Một [tôi]
là dương (nó không làm thay đổi kết quả vì bài toán là bất biến dịch thuật).
Hãy bắt đầu với hai quan sát đơn giản. Đầu tiên, nếu bạn chọn y như thế này y < phút(A)
hoặc y > tối đa(A)
, giá trị của M(y) cuối cùng bạn nhận được lớn hơn giá trị của y bạn chọn, vì vậy phút(A) <= y <= max(A)
.Hơn nữa, A có mức tối thiểu cục bộ hoặc phạm vi giá trị tối thiểu duy nhất (M(y) là lồi).
Vì vậy chúng ta có thể bắt đầu từ trong khoảng [phút(A) .. max(A)]
Bắt đầu bằng cách chọn một số y và cố gắng di chuyển giá trị này để chúng ta có được M(y) nhỏ hơn. Để dễ hiểu hơn, hãy sắp xếp A và [1 .. n]
Chọn một i (vì vậy y = A[i]
).
Có ba tình huống cần xem xét.
nếu nhưA[i+1] > A[i]
, hoặc {n là số lẻ và tôi < (n+1)/2
} hoặc {n là số chẵn và tôi < n/2
}, Sau đó M(A[i+1]) < M(A[i])
.
Điều này là do, từ M(A[i])
至 M(A[i+1])
, số lượng thuật ngữ giảm (tức là ni
) lớn hơn số lượng số hạng tăng lên (tức là Tôi
) và số lượng tăng hoặc giảm luôn không đổi. Khi n là số lẻ thìtôi < (n+1)/2 <=> 2*i < n+1 <=> 2*i < n
, vì 2*i là số chẵn (và do đó phải nhỏ hơn số chẵn lớn hơn mà chúng ta trừ đi một).
Nói một cách chính thức hơn,M(A[i]) = tổng(A[i]-A[s]) + tổng(A[g]-A[i])
, trong đó s và g đại diện cho các chỉ số đó A[s] < A[i]
Và A[g] > A[i]
.vậy nếuA[i+1] > A[i]
, Sau đó M(A[i+1]) = sum(A[i]-A[s]) + i*(A[i+1]-A[i]) + sum(A[g]-A[i] ) - (ni)*(A[i+1]-A[i]) = M(A[i]) + (2*in)*(A[i+1]-A[i])
.từ 2*tôi < n
Và A[i+1] > A[i]
, (2*in)*(A[i+1]-A[i]) < 0
, Vì thế M(A[i+1]) < M(A[i])
.
Tương tự, nếuA[i-1] < A[i]
, hoặc {n là số lẻ và tôi > (n+1)/2
} hoặc {n là số chẵn và tôi > (n/2)+1
}, Sau đó M(A[i-1]) > M(A[i])
.
Cuối cùng, nếu {n lẻ và tôi = (n+1)/2
} hoặc {n là số chẵn và i = (n/2) hoặc (n/2)+1
}, thì bạn có mức tối thiểu, vì việc giảm hoặc tăng dần nên cuối cùng tôi sẽ dẫn bạn đến trường hợp thứ nhất hoặc thứ hai tương ứng. Vẫn còn các giá trị có thể có cho i, nhưng tất cả chúng đều dẫn đến A[i] cũng là giá trị tối thiểu.
Trung vị của A chính xác là giá trị A[i] mà tôi thỏa mãn trường hợp cuối cùng. Nếu số phần tử của A là số lẻ thì chỉ có một giá trị như vậy,y = A[(n+1)/2]
(nhưng có thể có nhiều chỉ mục); nếu nó chẵn thì bạn có một phạm vi (có thể chỉ chứa một số nguyên) các giá trị như thế này,A[n/2] <= y <= A[n/2+1]
.
Có một thuật toán C++ tiêu chuẩn có thể giúp bạn tìm trung vị trong thời gian O(n):phần tử thứ n .Nếu bạn nói ngôn ngữ khác, vui lòng tìm thuật toán trung vị của trung vị (Nico Schertler chỉ ra )thậm chí chọn lọc nội tâm (Đây là mục đích thường được sử dụng của nth_element).
Về mảng - tìm tổng tối thiểu của sự khác biệt giữa A[i] và hằng số, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/39756662/
Tôi không hiểu làm thế nào trí tuệ nhân tạo được lập trình di truyền lại có thể tồn tại được. Bạn có thể xác định khi nào cần có một hằng số trong phương trình cuối cùng. Nếu tôi sử dụng công thức F(m) = ma; F(m) = m9.8 thì AI có biết số thực 9,8 là bao nhiêu không? Theo như tôi biết thì bạn là
Kích thước lô của tôi có thể thay đổi, vì vậy tất cả thông tin đầu vào của tôi đều có dạng tf.placeholder(tf.float32, shape=(None, ...) chấp nhận kích thước lô thay đổi. Tuy nhiên, làm cách nào để tạo một kích thước lô thay đổi với Constant cho kích thước lô
Tôi có mảng Numpy 1D A có độ dài N. Đối với mỗi phần tử x trong mảng, tôi muốn biết tỷ lệ của tất cả các phần tử trong mảng nằm trong phạm vi [x-eps], trong đó eps là a; không thay đổi . Bậc của cường độ N là 15.000.
Nếu tôi đặt một số hằng số trong một tệp như thế này: 'use strict'; Angular.module('balrogApp.config', []) .constant('balrogConfig',
Có ai có thể cho tôi ví dụ về giá trị r không đổi không? Bởi vì rõ ràng các chữ cái đều là giá trị và không phải là giá trị không đổi. Câu trả lời hay nhất const T f(); Theo định nghĩa này, biểu thức f() là một biểu thức giá trị thuộc loại const T, tức là một giá trị không đổi. Giới thiệu về c+
Tôi đang phát triển một ứng dụng Angular và tôi muốn tạo một tệp cấu hình. Từ những gì tôi đã đọc, tôi nên sử dụng hằng số Angular. Vì vậy, tôi đã thử tạo hằng số của mình. Từ những gì tôi đã đọc ( ở đây , ở đây và ở đây +
const int N = 100 void function1(int array[]){ // ... } void function2(int arra
Hãy xem xét đoạn mã (đang hoạt động) sau: Eigen::ArrayXd x (8); x > y (x.data(), 2, 4); const Eigen::ArrayXd const_x = x;
Tôi biết bạn có thể sử dụng: #define _USE_MATH_DEFINES sau đó: M_PI để lấy số pi không đổi. Tuy nhiên, nếu tôi nhớ chính xác (xin chào mừng) thì đây là điều phụ thuộc vào trình biên dịch/nền tảng. Chà, khi tôi thay đổi hằng số pi từ Linu
Tại sao mã này không biên dịch? gói chính const a = 1.000001 const base = 0 const b = a+base func main() { f(b)
Tại sao mọi câu lệnh trong đoạn mã sau đều đề cập đến hằng số Big O (tôi sử dụng 1 ở đây để quy ước)? Ý tôi là, nếu kích thước mảng lớn hơn thì độ phức tạp về thời gian có thể lớn hơn, phải không? Và tổng số sẽ ngày càng lớn hơn, liệu nó có ảnh hưởng đến độ phức tạp không? Mã giả: def find_sum
Tôi đang cố gắng tạo một hàm để điền các số còn thiếu trong nhiều chuỗi, với các thang số khác nhau, đồng thời tạo một cột không đổi cho mỗi chuỗi. từ trình phân tích cú pháp nhập tika nhập gấu trúc dưới dạng pd nhập
Tôi đang cố gắng ước tính giá trị của e (~ 2,7) được xác định bởi điều này, cho mỗi thuật ngữ thứ n bằng cách sử dụng hàm đệ quy trong Python. Cho đến nay tôi đã hiểu được điều này, def NapierConstant(runs): retur
Tôi được nhắc nhập mã để in chuỗi hằng số Champerowne theo một cách nào đó. (Hãy sử dụng nó thực sự!) Vì vậy, chúng tôi muốn tìm số thứ n của chuỗi này: 1234567891011121314... Đây là mã của tôi: #inclu
Tôi đang ôn thi giữa kỳ lý thuyết thạc sĩ và tôi đã xem một ví dụ về trường hợp 2, trong đó k > 0. Tôi biết mọi thứ về định lý ngoại trừ các hằng số và cách chúng tăng lên hoặc được tính toán. Trạng thái trường hợp 2: T(n) = Θ(nlogba logk+1n)
Ví dụ về bài toán: Đồ thị vô hướng và không có trọng số G=(V,E). Hai nút nguồn a và b, hai nút đích c và d và một hằng số D (số dương hoàn hảo). (Chúng ta có thể giả sử rằng lambda(c,d),lambda(a,b)>D, khi lambda(x,y) là
Tôi có một cái bàn lớn. Nó hiện có trong cơ sở dữ liệu MySQL. Tôi sử dụng django. Tôi cần lặp lại các phần tử của mỗi bảng để tính toán trước một số dữ liệu cụ thể (có thể nếu tốt hơn tôi có thể làm điều này, nhưng đó không phải là vấn đề). tôi muốn giữ
Hằng số VBScript Hằng số là một tên có ý nghĩa được sử dụng thay cho một số hoặc chuỗi và giá trị của nó không bao giờ thay đổi. VBScript định nghĩa nhiều hằng số nội bộ. Để biết thêm thông tin, hãy xem Tài liệu tham khảo ngôn ngữ VBScript. Để tạo hằng số bạn có thể sử dụng
Tôi đang học javascript và tôi tìm thấy một tệp có nhiều bài tập được thực hiện bằng toán hạng ://: thay vì "=". Bất chấp tiêu đề của câu hỏi, tôi cũng đã thấy nó không phải là hằng số. Vấn đề là gì? Toán hạng :// ở đây có nghĩa là gì? Cảm ơn. v
Cho rằng ứng dụng bắt đầu: Angular.module("starter", [ "ionic" ]) .constant("DEBUG", true) .run(function() {
Tôi là một lập trình viên xuất sắc, rất giỏi!