<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem bitset</title>
<link>https://forum.pasja-informatyki.pl/tag/bitset</link>
<description>Powered by Question2Answer</description>
<item>
<title>Zadanie Vasya and sets Eolymp, problem z bitsetem / maskami bitowymi</title>
<link>https://forum.pasja-informatyki.pl/583263/zadanie-vasya-and-sets-eolymp-problem-z-bitsetem-maskami-bitowymi</link>
<description>

&lt;p&gt;Mam problem z takim zadaniem:&amp;nbsp;&lt;a href=&quot;https://www.eolymp.com/en/contests/14738/problems/149026&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.eolymp.com/en/contests/14738/problems/149026&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Zapewne jest ono jakies proste, napisałem kod na 80pkt(przekroczono limit czasu)&amp;nbsp;przy pomocy bitseta. Zastanawiam się dlaczego nie wchodzi na 100pkt, pewnie coś źle napisałem w bitsecie, czy te and-owanie / or-owanie / count nie powinny działać w O(SIZE / 64)? Jest to moje pierwsze zadanie, w którym skorzystałem z bitseta, więc z góry ostrzegam może być tragicznie....&lt;/p&gt;



&lt;p&gt;Kod:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;bitset&amp;gt;

using namespace std;

int n = 0, m = 0, z = 0, wczytana_liczba = 0, a = 0, b = 0, wyn = 0;
const unsigned long long SIZE = 1e6+1;
string decyzja;
vector&amp;lt;bitset&amp;lt;SIZE&amp;gt;&amp;gt; czy_mamy;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    cin &amp;gt;&amp;gt; n;
    czy_mamy.assign(n,{});

    for (int i = 0; i &amp;lt; n; ++i)
    {
        cin &amp;gt;&amp;gt; z;
        while(z--)
        {
            cin &amp;gt;&amp;gt; wczytana_liczba;
            czy_mamy[i].set(wczytana_liczba);
        }
    }

    cin &amp;gt;&amp;gt; m;
    for (int i = 0; i &amp;lt; m; ++i)
    {
        cin &amp;gt;&amp;gt; decyzja &amp;gt;&amp;gt; a &amp;gt;&amp;gt; b;
        a--, b--;
        if (decyzja == &quot;INTERSECTION&quot;)
            cout &amp;lt;&amp;lt; (czy_mamy[a] &amp;amp; czy_mamy[b]).count() &amp;lt;&amp;lt; '\n';
        else
            cout &amp;lt;&amp;lt; (czy_mamy[a] | czy_mamy[b]).count() &amp;lt;&amp;lt; '\n';
    }

    return 0;
}&lt;/pre&gt;



&lt;p&gt;Z góry dziękuję za pomoc i poświęcony czas!&lt;/p&gt;</description>
<category>Algorytmy</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/583263/zadanie-vasya-and-sets-eolymp-problem-z-bitsetem-maskami-bitowymi</guid>
<pubDate>Mon, 03 Apr 2023 22:52:28 +0000</pubDate>
</item>
<item>
<title>C++ Zamiana bitset&lt;32&gt;  na bitset&lt;8&gt;</title>
<link>https://forum.pasja-informatyki.pl/481812/c-zamiana-bitset-32-na-bitset-8</link>
<description>Witam.&lt;br /&gt;
Pewna funkcja w C++ zwraca mi wynik w bitset&amp;lt;32&amp;gt;. Czy da się stworzyć drugą funkcję, która &amp;quot;podzieli&amp;quot; mi tą 32-bitową liczbę na 4 liczby 8-bitowe? Przykładowo: bitset&amp;lt;32&amp;gt;x = 11111111000000001111111100000000 i teraz liczby miałyby się równać:&lt;br /&gt;
&lt;br /&gt;
a=11111111, b=00000000, c=11111111, d=00000000&lt;br /&gt;
&lt;br /&gt;
Lub od razu w systemie dziesiętnym (a=255, b=0, c=255, d=0)&lt;br /&gt;
&lt;br /&gt;
Kompletnie nie wiem jak operować na takim typie danych... Z góry dziękuję za pomoc.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/481812/c-zamiana-bitset-32-na-bitset-8</guid>
<pubDate>Mon, 13 Apr 2020 16:25:05 +0000</pubDate>
</item>
<item>
<title>Bitset c++ dec to bin</title>
<link>https://forum.pasja-informatyki.pl/389533/bitset-c-dec-to-bin</link>
<description>

&lt;p&gt;Witam! Potrzbuję pomocy:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
string dec_to_bin(int liczba, int ile)
{
   string binary = bitset&amp;lt;ile&amp;gt;(liczba).to_string();
        return binary;
}
&lt;/pre&gt;



&lt;p&gt;Mam funkcje ktora konwertuje mi ilczbe na binarną no i dla przykladu&lt;/p&gt;



&lt;p&gt;11&amp;nbsp;to 1011 w systemie dwojkowym&lt;/p&gt;



&lt;p&gt;ale chce zrobic tak ze ona ma miec dlugosc 5 czyli dodaje zero na koncu&amp;nbsp;&lt;/p&gt;



&lt;p&gt;odpowiada za to ten nawias &amp;lt;ile&amp;gt; (po &quot;bitset&quot; w kodzie)&lt;/p&gt;



&lt;p&gt;i problem jest taki ze jesli do tych nawiasów wpisze poprostu liczbe jaką kolwioek to dopisuje mi te zera na poczatek, natomiast gdy wstawiam tam zmienną kompilator głupieje:&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=2722815765598909099&quot; style=&quot;height:337px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/389533/bitset-c-dec-to-bin</guid>
<pubDate>Sun, 28 Oct 2018 13:27:41 +0000</pubDate>
</item>
<item>
<title>bitset problem z ilością bitów</title>
<link>https://forum.pasja-informatyki.pl/323976/bitset-problem-z-iloscia-bitow</link>
<description>

&lt;p&gt;Witam, chciałem zdefiniować ilość bitów w obiekcie bitset za pomocą zmiennej i o ile w normalnym pliku działa tak już w pliku nagłówkowym nie :/ Ktoś ma pomysł co i jak? Z góry dzięki za pomoc :D
&lt;br&gt;
&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=3655051634696914634&quot; style=&quot;height:265px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/323976/bitset-problem-z-iloscia-bitow</guid>
<pubDate>Sun, 04 Feb 2018 13:35:22 +0000</pubDate>
</item>
<item>
<title>Konstruktor dla bitsetu, biorący char* za parametr</title>
<link>https://forum.pasja-informatyki.pl/64724/konstruktor-dla-bitsetu-bioracy-char-za-parametr</link>
<description>

&lt;p&gt;Witam. Klasa reprezentuje zbiór. Do tego celu użyłem kontenera bitset
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
template &amp;lt;class T, int N&amp;gt;
class Zbior
{
    bitset&amp;lt;N&amp;gt; bity;

public:
    Zbior();
    Zbior(int);
    Zbior(char*);&lt;/pre&gt;



&lt;p&gt;
&lt;br&gt;
........................
&lt;br&gt;

&lt;br&gt;
Mam problem z konstruktorem, ktory bierze tablicę znaków.
&lt;br&gt;
Powinno działać to tak:
&lt;br&gt;
tworzymy obiekt w taki sposób: Zbior przyklad(&quot;000100110110&quot;)
&lt;br&gt;
(symbolizuje to zbiór {1,2,4,5,8}
&lt;br&gt;

&lt;br&gt;
Napisałem takie coś ():&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
template &amp;lt;class T, int N&amp;gt;
Zbior&amp;lt;T,N&amp;gt;::Zbior(char* a)
{
    string b=string(a);
    bitset&amp;lt;N&amp;gt; nowy(string(&quot;1101110&quot;));
//    bitset&amp;lt;N&amp;gt; nowy(string(b));
    bity=nowy;
}
&lt;/pre&gt;



&lt;p&gt;
&lt;br&gt;
To, co jest, działa, jeśli podam wprost jakąś liczbę, ale nie wiem, dlaczego się sypie, gdy próbuję uruchomić to, co jest teraz zakomentowane...&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/64724/konstruktor-dla-bitsetu-bioracy-char-za-parametr</guid>
<pubDate>Tue, 29 Sep 2015 22:12:31 +0000</pubDate>
</item>
</channel>
</rss>