嘩啦啦村襲擊了喵哈哈村!
度度熊為了拯救喵哈哈村,帶著自己的夥伴去救援喵哈哈村去了!度度熊與夥伴們很快的就過來佔據了喵哈哈村的各個軍事要地,牢牢的守住了喵哈哈村。
但是度度熊發現,這是一場曠日持久的戰鬥,所以度度熊決定要以逸待勞,儲存盡量多的體力,去迎戰嘩啦啦村的戰士。
於是度度熊決定派盡量多的人去休息,但是同時也不能鬆懈對喵哈哈村的保護。
換句話而言,度度熊希望盡量多的人休息,而且存在乙個包圍圈由剩下的人組成,且能夠恰好的包圍住喵哈哈村的所有住房(包括邊界)。
請問最多能讓多少個人休息呢?
當時看這個題的時候,完全不會做-w-
於是今天重新看了一次
發現我會做啦!!這好像沒什麼好驕傲啊吧
我們認為地規定乙個方向,就是讓點都在有向線段的左邊
然後找最小環就可以了
code:
#include
#include
#include
#include
using namespace std;
const int max=1
<<28;
const int n=505;
int n,m;
int f[n][n];
struct qq
a[n],b[n];
int mul (qq x,qq y,qq z)
int main()
int cnt=0,cnt1=0;
for (int j=1;j<=n;j++)
if (cnt==0) f[u][i]=1;
else f[u][i]=max;
}/*for (int u=1;u<=m;u++)
*/for (int u=1;u<=m;u++)
for (int i=1;i<=m;i++)
/*for (int u=1;u<=m;u++)
*/int ans=max;
for (int u=1;u<=m;u++)
ans=min(ans,f[u][u]);
if (ans==max) printf("tot\n");
else
printf("%d\n",m-ans);
}return
0;}
百度之星度度熊保護村莊
比賽的時候並沒有做出這道題。於是在賽後決定更正一下 把度度熊和它的夥伴們當成黑點,所有的村莊當成紅點 考慮對所有的黑點建圖 o n 暴力列舉所有的黑點點對,對於每個點對 a,b o n 檢測所有紅點 如果所有的紅點都在點對 a,b a b 的右側,則a到b連線一條長度為1的單向邊 如果所有的紅點都在...
HDU 6375 度度熊學佇列
danshlem description 度度熊正在學習雙端佇列,他對其翻轉和合併產生了很大的興趣。初始時有 n 個空的雙端佇列 編號為 1 到 n 你要支援度度熊的 q 次操作。1 u w val 在編號為 u 的佇列裡加入乙個權值為 val 的元素。w 0 表示加在最前面,w 1 表示加在最後面...
hdu6376 度度熊剪紙條
度度熊有一張紙條和一把剪刀。紙條上依次寫著 n 個數字,數字只可能是 0 或者 1。度度熊想在紙條上剪 k 刀 每一刀只能剪在數字和數字之間 這樣就形成了 k 1 段。他再把這 k 1 段按一定的順序重新拼起來。不同的剪和接的方案,可能會得到不同的結果。度度熊好奇的是,字首 1 的數量最多能是多少。...