- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在学习子集和问题,我想在这里问一些问题
刚才看了这个链接的C代码,不知道为什么作者可以定义?
S[i,0]=true ,S[0,j]=false
S[i,0]
表示求和为0
củasubset[1,...i]
,为什么可以赋值到ĐÚNG VẬY
。?如果想打印子集的内容,我该如何修改这个算法?因为好像不能跟作者私聊,所以只好贴出来了。
(2)如果数组中有负数,我试过不适合。如何定义S[i,0]
Và的初始值S[0,j]
?
谁能帮我解释一下?
Cảm ơn trước nhé!
1 Câu trả lời
建议的基本子句有问题,因为有了它,您还可以将 s[n,0]
作为初始值。
subset-sum 递归公式的一个更好的停止子句是 s[i,xi] = true
。这个想法很简单,集合 {x1,x2,...,xi}
包含总和为 xi
的子集 - 它是子集 {xi}
。递归稍后会处理其余部分,如果有一个总和为 0 的子集,它将找到它。
根据这种方法,基本子句是:
s[i,xi] = true (for each i)
s[0,j] = false (for each j)
递归公式为:
s[i,j] = s[i-1,j] OR s[i-1,j-xi]
要获得哪些元素实际上在子集中,您需要遵循您使用动态规划构建的矩阵。 “遵循”矩阵所做的选择,并坚持一条产生 true 的路径,直到找到“停止子句”(s == xi)
它可以递归地描述为:
getSubset(i,s):
if s[i-1,s]: //there is a solution without choosing xi
return getSubset(i-1, s)
if (xi == s): //true base clause
l <- new list
l.append(xi)
return l
if s[i -1, s-xi]: //there is a solution when choosing xi
l <- getSubset(i-1,s-xi)
l.append(xi)
return l
它很像(确保你明白为什么):How to find which elements are in the bag, using Knapsack Algorithm [and not only the bag's value]?
关于c - 如何理解子集和问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14143457/
Tôi đang thực hiện việc chia nhỏ một đối tượng ffdf lớn và tôi nhận thấy rằng khi sử dụng subset.ff, nó tạo ra rất nhiều NA. Tôi đã thử một cách tiếp cận khác bằng cách sử dụng ffwhich và nó nhanh hơn nhiều và không tạo ra NA nào. Đây là bài kiểm tra của tôi:
Tôi còn khá mới với Prolog. Tôi đang cố viết một hàm subset(Set, Subset) để xác định xem Subset có phải là tập hợp con của Set hay không (điều hiển nhiên). Ngoài ra, nếu đối số thứ hai không được khởi tạo, nó sẽ xuất ra mọi tập hợp con có thể
1. Câu hỏi đưa cho bạn một mảng số nguyên nums và các phần tử trong mảng này là khác nhau. Trả về tất cả các tập hợp con có thể có (tập hợp lũy thừa) của mảng. Bộ giải pháp không thể chứa các tập hợp con lặp lại. Bạn có thể trả lại các giải pháp theo bất kỳ thứ tự nào. 2. Ví dụ đầu vào: nums = [1,2
Tôi muốn loại trừ một cột khỏi một hoạt động trên một khung dữ liệu. Tất nhiên tôi có thể sao chép khung dữ liệu mà không cần loại trừ các cột, nhưng điều này có vẻ như là một giải pháp tạm thời. Tôi nghĩ phải có cách nào đó dễ hơn để thực hiện phép chia con. Vì vậy, đoạn mã ví dụ này sẽ cho thấy những gì tôi đang làm. df cộtMe
Tôi có một SpatialPolygonsDataFrame mà tôi đã tạo bằng cách đọc shapefile bằng readOGR trong gói rgdal. Tôi đang cố gắng sử dụng điều này để tạo lưới lấy mẫu bằng spsample
Tôi đang cố gắng giải quyết một vấn đề đơn giản nhưng không tìm ra giải pháp mặc dù đã thử nhiều cách khác nhau. Tôi đang sử dụng SICStus Prolog (nếu điều đó quan trọng) và tôi muốn lấy tất cả các danh sách con/tập hợp con (tôi không biết thuật ngữ nào là đúng) của một danh sách, trong đó
Hiện tại tôi đang sử dụng shinyTable, đây là một triển khai tương thích với shiny của HandsonTable (https://github.com/trestletech/shinyTable). Thật tình cờ, tôi nhận ra
Tôi đang xây dựng một biểu mẫu trong Delphi có danh sách thả xuống các dịch vụ và một lưới thành phần bổ sung để chọn dịch vụ. Dữ liệu tôi nhận được đến từ API và tôi lưu trữ dữ liệu của dịch vụ trong ADODataSet như thế này: ID (số nguyên
Có vấn đề với hàm subset(). Làm thế nào tôi có thể phân chia một hệ số trong khung dữ liệu của mình theo số lượng quan sát? TÊN LỚP MÀU GIÁ TRỊ antonio
Tôi tự hỏi liệu có thuật toán đơn giản nào để so sánh xem một hàm băm có phải là tập hợp con của một hàm băm khác hay không. Ví dụ, nếu $HASH{A} = B; $HASH{B} = C; $HASH{C} = D; $HASH2{A} = B; $HA
Câu hỏi này đã có câu trả lời tại đây: Kết hợp mảng không lặp lại (1 câu trả lời) Đã đóng 8 năm trước. Cho một mảng, làm thế nào để tìm một kích thước nhất định trong postgresql
Tôi có quy trình tiếp theo. Tôi nên sử dụng trình lặp trong main như thế nào để hiển thị tập hợp con có tổng bằng 0? Chương trình của tôi sẽ in ra: 2 -2 5 -5 # include # include sử dụng không gian tên st
Tôi đang tìm kiếm một trình phân tích cú pháp Markdown có thể tùy chỉnh, tốt nhất là bằng Javascript. Đặc biệt, tôi muốn loại bỏ tùy chọn sử dụng thẻ HTML thực tế. Tôi đã thử chỉnh sửa nguồn của showdown nhưng không thể tìm ra cách. Tích hợp Jquery cũng tốt, mặc dù
Tôi có một tệp có danh sách tên (tệp tham chiếu 1): Apple Bat Cat Tôi có một tệp khác (tệp tham chiếu 2) có danh sách tên và thông tin chi tiết tham chiếu: Apple bla blaa aaaaaaaaaagggggg
Tôi có hai tập tin với các dòng được sắp xếp. Một tệp (B) là tập hợp con của tệp khác (A). Tôi muốn tìm tất cả các hàng trong A không có trong B. Lý tưởng nhất là tôi muốn tạo một tệp (C) chứa những dòng này. Điều này có thể thực hiện được trong Unix không? Tôi đang tìm kiếm một
Tôi có một khung dữ liệu với một cột chứa các chuỗi peptide và tôi chỉ muốn giữ lại các hàng không có chữ "R" hoặc "K" bên trong chuỗi. df1 <- data.frame( Peptide = c("ABCOIIJUHFSAUJHR", "AOFI
Câu hỏi này đã có câu trả lời tại đây: Cách chia ma trận thành một cột, duy trì kiểu dữ liệu ma trận, duy trì hàng/cột na
Giả sử tôi có một vector danh sách: library(tidyverse) d 2) # A tibble: 5 x 1 x 1 2 3 4 5 Câu trả lời tốt nhất phải là lengt
Tôi chưa bao giờ tự chạy javadoc (từ dòng lệnh hoặc với tác vụ javadoc của ant; tôi sẽ sử dụng ant) -- Tôi cần tạo một javadoc cho thư viện mà tôi đang viết. Vấn đề là thư viện java của tôi được tổ chức thành nhiều gói, trong
Giả sử có một chương trình mã hóa nhiều bên, tương tự như câu trả lời cho câu hỏi: Mã hóa bằng nhiều khóa khác nhau? . Nghĩa là. Một bộ khóa K có thể được sử dụng để giải mã văn bản mã hóa. Có cách nào để hết hạn: K'⊆ K sao cho K \ K
Tôi là một lập trình viên xuất sắc, rất giỏi!