精華區beta Marginalman 關於我們 聯絡資訊
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
Sougou: 大師 10/18 10:22