thảo luận Leetcode contest, đường tới Guardian

  • Người tạo chủ đề Người tạo chủ đề freedom.9
  • Ngày bắt đầu Ngày bắt đầu
Trạng thái
Không mở để trả lời thêm.
Giải câu 3 dùng set thì bị memory lồi mồm.
Còn 15p nữa hết contest mà chỉ có 600 người giải dc Q3 :ops:
counter theo k thì ăn TLE
UKiCiKh.png
 
đi đọc sol q4, bên cạnh các thể loại segment tree thì em thấy có mấy thánh cài dp đơn giản vãi @@
 
đi đọc sol q4, bên cạnh các thể loại segment tree thì em thấy có mấy thánh cài dp đơn giản vãi @@
Bài đó dùng dp mà.
Code của t đây, hơi rác nhưng chạy đc, :ah:
Python:
class Solution:
    def minimumValueSum(self, nums: List[int], andValues: List[int]) -> int:
        @cache
        def dfs(idx_nums = 0, idx_values = 0, prev_val = -1):
            if idx_nums == len(nums) or idx_values == len(andValues):
                return 0 if (idx_nums == len(nums) and idx_values == len(andValues)) else -1
            
            val = nums[idx_nums] if prev_val == -1 else prev_val& nums[idx_nums]
            
            ret1 = dfs(idx_nums + 1, idx_values, val)
            ret2 = ret1
            if val == andValues[idx_values]:
                ret2 = dfs(idx_nums + 1, idx_values + 1, -1)
                if ret2 >= 0:
                    ret2 += nums[idx_nums]
                
            if ret1 == -1 and ret2 == -1:
                return -1
            if ret1 == -1:
                return ret2
            if ret2 == -1:
                return ret1
            return min(ret1, ret2)
        return dfs()
 
Bài đó dùng dp mà.
Code của t đây, hơi rác nhưng chạy đc, :ah:
Python:
class Solution:
    def minimumValueSum(self, nums: List[int], andValues: List[int]) -> int:
        @cache
        def dfs(idx_nums = 0, idx_values = 0, prev_val = -1):
            if idx_nums == len(nums) or idx_values == len(andValues):
                return 0 if (idx_nums == len(nums) and idx_values == len(andValues)) else -1
           
            val = nums[idx_nums] if prev_val == -1 else prev_val& nums[idx_nums]
           
            ret1 = dfs(idx_nums + 1, idx_values, val)
            ret2 = ret1
            if val == andValues[idx_values]:
                ret2 = dfs(idx_nums + 1, idx_values + 1, -1)
                if ret2 >= 0:
                    ret2 += nums[idx_nums]
               
            if ret1 == -1 and ret2 == -1:
                return -1
            if ret1 == -1:
                return ret2
            if ret2 == -1:
                return ret1
            return min(ret1, ret2)
        return dfs()
nãy em cứ sợ tle nên không nghĩ ra cài dp đơn giản như này :ops:
 
Bài đó dùng dp mà.
Code của t đây, hơi rác nhưng chạy đc, :ah:
Python:
class Solution:
    def minimumValueSum(self, nums: List[int], andValues: List[int]) -> int:
        @cache
        def dfs(idx_nums = 0, idx_values = 0, prev_val = -1):
            if idx_nums == len(nums) or idx_values == len(andValues):
                return 0 if (idx_nums == len(nums) and idx_values == len(andValues)) else -1
           
            val = nums[idx_nums] if prev_val == -1 else prev_val& nums[idx_nums]
           
            ret1 = dfs(idx_nums + 1, idx_values, val)
            ret2 = ret1
            if val == andValues[idx_values]:
                ret2 = dfs(idx_nums + 1, idx_values + 1, -1)
                if ret2 >= 0:
                    ret2 += nums[idx_nums]
               
            if ret1 == -1 and ret2 == -1:
                return -1
            if ret1 == -1:
                return ret2
            if ret2 == -1:
                return ret1
            return min(ret1, ret2)
        return dfs()

Thấy AC Q4 thấp quá ko đi làm, thấy bài 4 xài DP còn dễ thở hơn bài 3 =((
 
Q3 dính MLE, nghĩ là phải dùng binary search và include/exclude với từng subset của array. Nhưng không đủ thời gian để implement.
Thánh dirigibility code Python vừa ngắn vừa dễ hiểu vãi.
 
Q3 nãy có ông spoil ý tưởng nên làm xong ở phút 90, chứ thật sự không nghĩ ra cách làm :eek:
1713068664888.png

Tổng kết contest này được 3/4 câu, ổn rồi :D
1713068790733.png
 
Nay vướng hẹn không tham gia được contest. Các thím chinh chiến kinh thặc sự :D
 
zFNuZTA.png
sáng ra gặp 2 bài hard, không làm được giờ chán không muốn làm gì nữa
Tuyệt cmn vời
 
Q1 tưởng mỗi mình làm if else thần chưởng ai ngờ xem solve top 20 cũng toàn if else y chang mình
vKigGok.png
 
Trạng thái
Không mở để trả lời thêm.

Thống kê chủ đề

Ngày tạo
freedom.9,
Người trả lời cuối
freedom.9,
Trả lời
2.480
Lượt xem
130.264
Quay lại
Lên đầu trang