題目pdf
w神爺的題解
t1:簡單$dfs$
#include#includeview code#include
#include
using
namespace
std;
inline
intread()
while(c>='
0'&&c<='9')
return f*ans;
}int a1[80],b1[80],a2[80],b2[80
];int n,m,num[102
];bool
check()
if(ans==n+m) return1;
return0;
}void dfs(int
pos)
if(pos==m+1) return
;
if(!a2[pos])
dfs(pos+1
);
for(int i=1;i<=n;i++)
}} int
main()
t2:(垃圾題目,$getchar$換成$scanf$,就$100 score$了)
$k\leq 15$,所以想到可以用狀壓$dp$來解決,第一步是要求每兩個寶藏之間的距離,假設起點也是乙個寶藏,用$bfs$解決,然後問題就轉換成在乙個完全圖中選擇$x$個點,使經過一次後距離不超過$t$,最大的$x$是多少。所以考慮狀壓$dp$,但是當只有一位($dp(i)$ 表示當前狀態時是有後效性的,所以考慮二維)。
設$dp(i,j)$表示當前取到的狀態為$i$,最後乙個點是$j$的最小距離。然後看一下當前距離是否小於$t$,若小於然後統計一下狀態裡的$1$即可.$dp(i,j)=dp(u,p)+dis(p,j) $,然後就瞎搞了
#include#includeview code#include
#include
#include
using
namespace
std;
inline
intread()
while(c>='
0'&&c<='9')
return f*ans;
}int
n,m,k,t;
int a[512][512
];struct
nodep[
21];
int sx,sy,sry=1,has[512][512],vis[512][512],dis[21][21
];struct
node1;
queue
que;
int dx[4]=;
char str1[510
];int dy[4]=;
int dp[125537][21],d[21],inf=99999999
,ans;
intmain()
if(str=='s')
}getchar();
}memset(dis,
127/3,sizeof
(dis));
for(int st=1;st<=sry;st++)}}
}}
memset(dp,
127/3,sizeof
(dp));
dp[1][1]=0
;
for(int i=1;i<=(1
<1;i++)
for(int j=1;j<=sry;j++)
d[j]=1
;
if(dp[i][j]<=t)
ans=max(ans,st);}}
cout
<1
<
}
t3:其實就是一道比較簡單的$dp$,結果看錯了$a_i$的範圍
首先,先離散化,lower_bound即可,確定一下每個數,就是把他們存到$1~n$中。然後看見題目上說的是最小的最大,果斷二分答案。我們假設$x$為二分的最小值,所以對於每乙個位置$pos$,我們先設$st[pos]$表示右端點為$pos$的最小$l$值滿足在$l~pos$中沒有相同的數,其實就是這道題(this)。所以$pos$上一塊的取值範圍是$[st[pos]-1,pos-i]$,我們設$g(i)$表示前$i$個音符已經劃定的方案數,及從$\sum_^r g(i)$,當前複雜度$o(n^2)$,考慮到$\sum_^r g(i)$這個式子可以字首和優化,所以$dp$總複雜度$o(n)$,時間複雜度:$o(nlog(n))$
#include#includeview code#include
#define mod 998244353#include
#define int long long
using
namespace
std;
inline
intread()
while(c>='
0'&&c<='9')
return f*ans;
}int g[525011],sumg[525011],n,a[525011],x[525011],st[525011],last[525011
];inline
intget(int
lim)
g[i]=(g[i]+mod)%mod;
sumg[i]=sumg[i-1]+g[i];
sumg[i]=(sumg[i]+mod)%mod;
}return g[n]%mod;
}bool check(int mid)
intmaxn;
signed main()
int l=1,r=n;
while(l<=r)
cout
return0;
}
2017 3 18考試記錄
雖然只做出了乙個題,但是第二題跟第三題也有思路,就是單位時間解題效率不高導致沒有做完,所以以後要多做題來加強一下。第一題 題目要求看能否讓所有排隊的人都能正好買到票拿到找零 分析 運用新學的stl中的map容器,將面值與數量存入容器中 注 當收到100要找零75時,應該注意找零順序,有50就給50和...
2019 7 30考試記錄
機房模考 2019.7.30 今天考了三道題,算是題量較小,所以在考場上時間挺充裕,寫下了一段簡單的記錄。在引用的基礎上增加一些考試後講題的感悟吧。這道題乍一看是個斯特林數,但是慢慢審題,會發現它和斯特林數的區別 座位不能連續放女生 男生預設填充 那就有點像兔子生殖的那題,也就是在乙隻兔子生下後不能...
2019 8 3考試記錄
題目不難,還剩乙個小時,寫下記錄 寫於考場 現在看來好樂觀233 題目確實不難,但是打的有多差233 難受 字串模擬。不看下面的描述,我還以為是道裸kmp。但是更貼心的是,模式串可以分開 笑哭 應該就是反著掃一遍 字典序要大 模式串匹配了就存一下陣列下標。如果存下來的下標個數等於模式串長度那就是匹配...