Member 13906930 Ответов: 3

Запросы диапазона(битовая манипуляция)


https://practice.geeksforgeeks.org/contest-problem/sp-range-queries/0/
выше приведена ссылка на этот вопрос.

Что я уже пробовал:

Я мог получить только метод грубой силы для этого вопроса. Но так как лимит довольно высок.- я получил тле, как и ожидалось.

3 Ответов

Рейтинг:
2

OriginalGriff

Это соревнование: так что ваша просьба о решении здесь является мошенничеством, и мы не помогаем в этом.

Идея в том, что вы жалеете твой мозг и твой навыки против других абитуриентов, не мои.


Member 13906930

конкурс уже закончен, :)

Рейтинг:
2

Patrice T

Эта задача, как и любые другие задачи, состоит в том, чтобы проверить ваши способности, ваши навыки программирования.

Цитата:
Я мог получить только метод грубой силы для этого вопроса.

В грубой силе есть разные уровни. Вы должны показать свой код.

На 'geeksforgeeks.org-проблемы, как известно, сложны, и только ваше знание алгоритмов и структур данных может помочь вам.

Вообще говоря, грубая сила-это первое решение, которое можно найти, а затем изучение того, что полезно и что можно удалить, - это путь к лучшему решению.


Рейтинг:
2

Member 13906930

Это моя логика грубой силы

//
// Created by B Sriman on 10-07-2018.
//

#include <iostream>
using namespace std;

int main() {
    //code
    int t;
    cin>>t;
    while(t--){
        int q;
        cin>>q;
        while(q--){
            int l,r;
            cin>>l>>r;
            int total_count = 0;
            for(int i=l;i<=r;i++){
                int count = 0;
                int j = i;
                while(j){
                    j &= j-1;
                    count++;
                }
                if(count <= 3)
                    total_count++;
            }

            cout<<total_count<<endl;
        }
    }
    return 0;
}


Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.