JZOJ 5276 神奇的玩具

2021-08-06 06:15:26 字數 1149 閱讀 4387

是不是一眼很像什麼網路流線性規劃之類的?

然而並無思路,打乙個暴力,加上剪枝卻跑得飛快

構出圖,玩具為邊,商店為點

爆搜哪些點選,那麼一條邊鏈結的兩個點必有乙個選

另外加上一些可行性,最優性剪枝

複雜度據說是o(fibonacci(40))??

by alan_cty (orz)

#include 

#include

#include

#define fo(i,a,b) for(int i=a;i<=b;i++)

#define rep(i,a) for(int i=last[a];i;i=next[i])

using namespace std;

const int m=45,n=105;

int n,m,k,a,b,c,d,l,sum,ans,tot,val[m],bz[m];

intlast[m],next[n*2],t[n*2],v[n*2];

void add(int

x,int

y,int z)

void dfs(int

x,int

y,int z)

if (bz[x]) dfs(x+1,y,z);

else

bz[x]=0;

dfs(x+1,y,z+val[x]);

rep(i,x)

bz[x]=1;

dfs(x+1,y+1,z);

bz[x]=0;

}}int main()

if (a>c) swap(a,c),swap(b,d);

add(a,c,max(d-b,0));

val[c]+=max(b-d,0);

sum+=min(b,d);

}ans=0x7fffffff;

dfs(1,tot,0);

printf("%d\n",sum+ans);

}

hdu 5276 鐘錶 暴力 數學

題意 給出時針和分針的角,所有可能滿足出現這個角度的時間點。要求精確到10秒的單位 自己接暴力,因為題目要求角角度 180,並且 12000。所給角度x不超過2160000 現在我們把 2160000看做是 180擴大12000倍 時針走180 6小時 6 60分 6 3600秒 21600秒 分針...

JZOJ 交換 模擬

給出字串s和字串t,現在你要把s的某乙個字元和t的某乙個字元交換,使得交換之後的s至少要有三個連續相同的字元,交換之後的t也要有三個連續相同的字元。問有多少種不同的交換方式。第一行,乙個字串s。s只含有 r g b 三種字元,長度不超過50,不小於3。而且s任意兩個相鄰的字元都不相同。第二行,乙個字...

JZOJ 規律 遊戲

有一堆金塊,king和貓老大輪流抽金塊,每次抽的個數必然是2的次方冪,求勝利 抽走最後一塊 的是誰 三行每行乙個數 n 0對於每局,如果 king 必勝則輸出一行 king will win.否則第一行輸出 maolaoda willwin.第二行輸出他第一次拿的最小數量。8 42maolaoda ...