洛谷P2456 二進位制方程

2022-03-17 17:06:49 字數 1022 閱讀 2387

題目

字串模擬+並查集

建立兩個並查集分別存放每個變數的每一位數的祖先,乙個是1乙個是2

考慮每個字母的每一位的數都是唯一的,先模擬,記錄每乙個變數的每一位。

一一對映到方程中去,最後將兩個方程進行一一比較,然後合併並查集。中間判斷是否出現一位既是1又是2的情況

最後統計自由元的個數cnt,高精求解2^cnt

#include #include #include #include #define int long long

#define n 100100

using namespace std;

int k, tot, len, len1, len2, tot1, tot2;

int x[n], y[n], sum[n], fa[n], jin[n]; //sum[i]表示i所代表的字母的開始位置

string s1, s2;

int find(int a)

signed main()

else x[++tot1] = s1[i] - '0';

} for (int i = 0; i < len2; i++)

else y[++tot2] = s2[i] - '0';

} if (tot1 != tot2)

printf("0"), exit(0);

for (int i = 1; i <= tot1 * 4; i++)

fa[i] = i;

for (int i = 1; i <= tot1; i++)

int big[100010]= , top=1;

for(int i=tot; i>=1; i--)

for(; big[top]; ++top)

}for(int i=top-1; i>=0; --i) printf("%lld", big[i]);

return 0;}/*

54 2 4 4 2

1bad1

acbe

*/

洛谷 P1633 二進位制

我去考fop zz的 結果他真的秒掉了 我們考慮三個長度為l的串 顯然如果這3個串符合條件的話 我們就只要保證增加2 l級別的值滿足加法原則就好了 所以我們大力dp f i a b c 0 1 i表示位數 a表示x串前i 1個字元所有的1的數量 b,c同理 0 1表示c串在第i位是1還是0 預處理 ...

洛谷P1582 倒水 二進位制

一天,cc買了n個容量可以認為是無限大的瓶子,開始時每個瓶子裡有1公升水。接著 cc發現瓶子實在太多了,於是他決定保留不超過k個瓶子。每次他選擇兩個當前含水量相同的瓶子,把乙個瓶子的水全部倒進另乙個裡,然後把空瓶丟棄。不能丟棄有水的瓶子 顯然在某些情況下cc無法達到目標,比如n 3,k 1。此時cc...

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...