洛谷 P1633 二進位制

2021-08-03 14:53:06 字數 707 閱讀 3714

我去考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;

預處理

f[1][0][0][0][0]=0;其他都是inf;

轉移就是考慮當前第i位a,b要不要放1;

然後對應的計算c新增的值;

#include

#define ll long long

using

namespace

std;

const

int n=35;

ll f[n][n][n][n][2],v;

int w,a,b,c,n;

int er(int x)

int main()

if(f[n+1][a][b][c][0]>(1

<<30))printf("-1\n");else

printf("%lld\n",f[n+1][a][b][c][0]);

}

}

洛谷P1582 倒水 二進位制

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

洛谷P2456 二進位制方程

題目 字串模擬 並查集 建立兩個並查集分別存放每個變數的每一位數的祖先,乙個是1乙個是2 考慮每個字母的每一位的數都是唯一的,先模擬,記錄每乙個變數的每一位。一一對映到方程中去,最後將兩個方程進行一一比較,然後合併並查集。中間判斷是否出現一位既是1又是2的情況 最後統計自由元的個數cnt,高精求解2...

二進位制 二進位制起源

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