給出m維平面上的n個點,每個點的每維座標在[0,3]範圍內
對於i=0~3m,求曼哈頓距離為i的點對數量
n<=200000,m<=9
被鞋墊教做題qwq我真是太菜了
才不是什麼fwt呢
考慮狀壓dp,壓4進製m位
fi,j,s表示考慮完前i為,走了j步,到狀態為j的點數
然後直接求答案即可
複雜度o(4^(m+1)*3m^2)
#include
#include
#include
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fd(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
typedef long long ll;
intread()
const int m=(1
<<18)+5,n=10;
int n,m,a[n],b[m][n],four[n];
ll f[2][m][n*3],ans[n*3];
int abs(int
x) int in(int
*a)
int main()
fo(i,1,m) a[i]=3;int all=in(a);
four[0]=1;fo(i,1,m) four[i]=four[i-1]<<2;
int p=0,q=1;
fo(i,1,m)
swap(p,q);memset(f[q],0,sizeof(f[q]));
}fo(i,1,n)
fo(i,0,3
*m) printf("%lld ",ans[i]);
}
51nod 貪心入門
有若干個活動,第i個開始時間和結束時間是 si,fi 活動之間不能交疊,要把活動都安排完,至少需要幾個教室?分析 能否按照之一問題的解法,每個教室安排盡可能多的活動,即按結束時間排序,再貪心選擇不衝突的活動,安排乙個教室之後,剩餘的活動再分配乙個教室,繼續貪心選擇 反例 a 1,2 b 1,4 c ...
51nod 迷宮問題
1459 迷宮遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 你來到乙個迷宮前。該迷宮由若干個房間組成,每個房間都有乙個得分,第一次進入這個房間,你就可以得到這個分數。還有若干雙向道路鏈結這些房間,你沿著這些道路從乙個房間走到另外乙個房間需要一些時間。遊戲規定了你的...
51nod 硬幣遊戲
有乙個簡單但是很有趣的遊戲。在這個遊戲中有乙個硬幣還有一張桌子,這張桌子上有很多平行線 如下圖所示 兩條相鄰平行線之間的距離是1,硬幣的半徑是r,然後我們來拋硬幣到桌子上,拋下之後硬幣有時候會和一些直線相交 相切的情況也算是相交 有時候不會。請你來計算一下拋一次硬幣之後,該硬幣和直線相交數目的期望。...