Re: [閒聊] 每日leetcode
2044. or找最大 然後 conut
##ㄙ路
好難ㄛ是不是要開bitmap==
1.
先找max好了
先猜prefix sum ,要cnt是不是要開線段樹
不對欸是or不是xor
全部瞎雞巴亂加就是maxㄌ
2.
有maxㄌ怎麼找set
看一下constraint
len = 16 ,爆搜好了==
報搜好快
class Solution {
public:
int countMaxOrSubsets(vector<int>& nums) {
// find max
int maxi = nums[0];
for(int i: nums){
maxi |= i;
}
cout << maxi;
// conut
int res = 0;
cnt_max(maxi, nums, 0, 0, res);
return res;
}
void cnt_max(const int maxi, vector<int>& nums, int idx, int or_val, int& res){
if(idx == nums.size()){
if(or_val == maxi) res++;
return;
}
// get this
cnt_max(maxi, nums, idx+1, or_val | nums[idx], res);
// not get this
cnt_max(maxi, nums, idx+1, or_val, res);
}
};
--
很姆的咪
姆之咪
http://i.imgur.com/5sw7QOj.jpg

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.121.194 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1729218039.A.111.html
推
10/18 10:22,
1年前
, 1F
10/18 10:22, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1000 之 1549 篇):