網路賽的題比賽應該不會出了吧 嗯......
#include using namespace std;
#define ll long long
const int maxn=1005;
int down,up,s,n;
int a[maxn],b[maxn],c[maxn];
int dp[maxn][305];
int high,low;
mapmp;
int dfs(int pos,int now)
else if(now>low) return 1;
else return 0;
}if(dp[pos][mp[now]]!=-1) return dp[pos][mp[now]];
if(pos%2==1)
if(b[pos])
if(c[pos])
return dp[pos][mp[now]]=op;
}else
if(b[pos])
if(c[pos])
return dp[pos][mp[now]]=op;
}}int main()
down=-100,up=100;
memset(dp,-1,sizeof(dp));
scanf("%d%d%d%d",&n,&s,&high,&low);
for (int j = 1; j <=n; ++j)
int op=dfs(1,s);
if(op==2)
else if(op==1)
else puts("bad ending");
return 0;
}
記憶化搜尋:演算法上依然是搜尋的流程,但是搜尋到的一些解用動態規劃的那種思想和模式作一些儲存。這題真的題意殺.....一般說來,動態規劃總要遍歷所有的狀態,而搜尋可以排除一些無效狀態。
更重要的是搜尋還可以剪枝,可能剪去大量不必要的狀態,因此在空間開銷上往往比動態規劃要低很多。
記憶化演算法在求解的時候還是按著自頂向下的順序,但是每求解乙個狀態,就將它的解儲存下來,
以後再次遇到這個狀態的時候,就不必重新求解了。
這種方法綜合了搜尋和動態規劃兩方面的優點,因而還是很有實用價值的
挺難讀懂的,123代表已經知道的數,*代表知道是那些數但是不知道具體的,#代表未知的數。然後求期望。
#include using namespace std;
typedef long long ll;
int num[25] = ;
char mp[5][5];
int vis[10];
int cnt = 0, cnt1 = 0, cnt2 = 0;
char mp2[10];
int fial[10];
int idx = 0;
double allans = 0;
int ans[10];
int a(int n, int m)
return res;
}void check1()
void dfs2(int num)
if (fial[num] != 0) dfs2(num + 1);
else
}}void dfs(int num)
allans += maxx / (a(cnt2,cnt2)*1.0);
return;
}if (mp2[num] == '#')
else if (mp2[num] != '*')
else
}}int main()
if (mp[i][j] == '*')
cnt++;
mp2[idx++] = mp[i][j];}}
cnt2 = 9 - cnt1 - cnt;
dfs(0);
int k = a(9 - cnt1, cnt);
double tt = allans / k * 1.0;
printf("%.6lf\n", tt);
}return 0;
}
當初沒做出來,用set維護就可以解決問題。
也可以說是思維題吧
#include using namespace std;
#define ll long long
vectorvector1;
vectorvector2;
ll solve(vectorv1)
else
set1.insert(v1[i]);
}return res;
}int main()
printf("%lld\n",solve(vector1)+solve(vector2));
}
2018徐州網路賽
a.hard to prepare dp 題目 題意 環形圈中,給每人乙個號碼,求使得相鄰數字反異或為正數的方案數。有題意可推出,每兩個數反異或要麼是0要麼是正數,所以也就是讓相鄰數字反異或後不能為0。又知道,與某個數反異或之後為0的只有唯一乙個數,因此可推出第1個人到第n個人分別可選的數的個人為 ...
2018徐州網路賽F,H,I
只能來划水,只做了3題。f 隊友切的 includeusing namespace std int line,k,t,ans,x,y,len int main for auto it mp.begin it mp.end it ans max ans,len cout includeusing na...
2018 徐州網路賽 G 題解
電波 這題首先要倒著貼這樣 每次 就好了 還有就是 資料太大需要離散化 然後建線段樹,根據x軸的座標建座標軸 看 這個點的 max y 有多大 如果 y i max y 產生 貢獻 ans y x max x x軸同理 includeusing namespace std define maxn 1...