個人感覺是最短路大冒險……
(不知道為啥中暑了腦子反而活躍了起來,就是**實現非常gg)
fzu 2253 salty fish
漁夫翻鹹魚,會把乙個區間裡的1翻成0 0翻成1
區間長度至少為1
問最多有幾個1
統計原先的鹹魚數量
考慮每翻一次,如果本來是1 會使鹹魚數量-1,如果本來是0,會使鹹魚數量+1
所以把陣列更改為-1 +1
即陣列變為翻該魚會對總魚數的影響
然後求乙個最大連續子串行和
最大值(翻身影響)+原來的魚數=最大魚數
但是因為至少要翻一條魚
所以特殊情況就是明明本來都是翻身的鹹魚,還一定要-1
#include
#include
#include
#include
using
namespace
std;
const
int maxn=100010;
#define eps 1e-8
int s[maxn],a[maxn];
int main()
maxx=0;
for (i=1;i<=cnt;i++)
if (maxx) printf("%d\n",ans+maxx); else
printf("%d\n",ans-1);
}return
0;}
fzu 2254 英語考試
比賽的時候……用了各種姿勢
最短路 拓撲 wa的死去活來
……後來發現最短路能ac 但是我忘記初始化了……
最短路能ac,但總感覺怪怪的
每個單詞一定存在的一種花費是len
或者從已經背誦的單詞轉移過來,需要的花費是hamming(si, t) * w
用最短路的思路去更新,先記錄各個單詞之間轉移需要的花費
每次找需要花費最少的單詞進行背誦,然後更新未被背誦的單詞
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn=1010;
const
int inf=0x3f3f3f3f;
int len;
int n,mar[maxn][maxn],fin[maxn],dis[maxn];
int ind[maxn],vis[maxn];
vector
g[maxn];
void dijkstr(int source)
fin[source]=1;
dis[source]=0;
for (i=2;i<=n;i++)
memset(mar,0,sizeof(mar));
minn=len; mini=1;
for (int i=1;ifor (int j=i+1;j<=n;j++)
return
0;}
過河
fzu 2256 迷宮
一棵樹
n個點
接下來n-1行,第i行包含兩個數字pi和wi,表示i+1號房間的上級房間為pi,道路長度為wi。比賽的時候瘋狂mle是因為模板裡有個判斷負環的陣列沒刪qaq(這樣也行嘛)子節點和父節點之間的路是wi
也就是說任意兩點光靠走路其實都是相通的
每個房間擁有乙個時空傳送門,第i個房間的傳送門可以花費di單位的時間傳送到它的任意乙個下級房間中(如果x是y的下級房間,並且y是z的下級房間,那麼x也是z的下級房間)
這裡意味著父節點都有傳送陣,可以傳送到任意子節點。
所以考慮把利用dfs把子節點都傳遞上來,建邊,花費d[i]
跑個最短路……輸出
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn=100010;
const
int inf=0x3f3f3f3f;
int dis[maxn],inq[maxn];
int n,d[maxn];
struct points
;vector
g[maxn];
vector
son[maxn];
void add_edge(int u,int v,int w)
void spfa(int source)}}
} return;
}void dfs(int now)
int main()
for (int i=2;i<=n;i++)
dfs(1);
spfa(1);
for (int i=1;i<=n;i++) printf("%d ",dis[i]);
printf("\n");
} return
0;}
saya的小熊餅乾
dalao說是原題。。。
fzu 2258 獎勵
不能用除法……判斷總分》=240且單科都》=60就好了。圖
card game
浪裡個浪
多起點多終點最短路
把所有可能的起點和零點建邊,路程為0
把所有可能的終點和n+1點建邊,路程為0
跑一遍從0點開始的最短路,輸出到n+1這個點的最短路程
和hdu 2066類似
不過因為hdu那題資料小,……我跑了s遍最短路……emmmmm
哈爾濱工程大學第十四屆程式設計競賽 (補題
f 小帆帆走迷宮 簡單dp 一道其實不是很難的四維dp 但是在考場上因為只記錄轉彎次數沒記錄方向沒寫出來 看題發現 其實這道題就是二維數塔 轉向費的dp 所以我們用dp n n k m 來記錄狀態 前兩維n n 代表當前座標 k記錄轉彎幾次 m記錄方向 當m 0 記沒改變方向 當m 1 為改變了方向...
浙江財經大學第十四屆程式設計競賽命題感想
題目和題解點這裡 24號,學校一年一度的程式設計競賽結束了,這一次是我和兩個學弟命題的,還有一些人進行了題面書寫 review,還有一部分人幫忙進行了驗題。所以我想記錄一下這次命題的詳細過程,以後可以成為一次美好的回憶。大概從元旦前夕開始,逐步有了一些 idea,有些很 easy,有些很難 估計是我...
長春理工大學第十四屆程式設計競賽(重現賽)B
b bowling game cust的隊員打完省賽後,小r帶著大家去打保齡球。保齡球是一項難度非常高的遊戲,然而這根本難不住校隊成員,他們個個都很厲害 炸和 一發10個瓶都倒。尤其是小r,每次都能閉著眼睛一次扔倒10個瓶。他們當中也有乙個並不那麼厲害的下水道玩家,每次都能把球丟進下水道裡,導致乙個...