代码源 T1-T5(week 13)
T1 走楼梯 题目: 是一道简单的dp题,可以压缩成一维数组。 #include <iostream> using namespace std; int main() { long long int n,a[55]; cin>>n; a[0]=1,a[1]=1,a[2]=2; for(int i=3;i<…
三题(week 12)
T1 宝物筛选(P1776) 未优化,当成多重背包做。 #include <iostream> #include <stdio.h> using namespace std; int v[1005],w[1005],s[1005],dp[1005]; int main(){ freopen("P1776_…
五题(week12)
T1 汤姆斯的天堂梦(P1796) #include <iostream> using namespace std; const int inf=1e9+5; int n,t,ans; int c[105][105][105],dp[105][105],planet[105]; //c(i,j,…
图论(week 10)
T1 Einstein学画画 是一题(一笔画)欧拉路的模板。欧拉路 是指若从起点到终点的路径恰经过图中每条边一次,则该路径成为欧拉路。存在欧拉路的条件是:图是联通的,且有0个或2个奇点(出入度为奇数的点)。欧拉路一定是从一个奇点开始,到另一个奇点结束,所以有两个奇点的时候能一笔画完。 若每多出两个奇点,画的次数就会+1,所以答案就是 奇点的个数 /…
图论(week 9)
T1 查找文献 (dfs bfs模板题) 下附代码: #include <bits/stdc++.h> using namespace std; const int maxx=1e6+5; int n,m; int vis[maxx]; vector<int> book[maxx]; queue<int…
第二次双周赛(搜索)
T1 输出全排列 很典的一道题(在某哈算法一书里作为dfs的例题) 代码如下: #include <iostream> using namespace std; int n; int a[11],vis[11]; void dfs(int step){ if(step==n+1){ for(int i=1;i<=n;i+…
动态规划(Week7)
T1 采药 太典了。 大家闭着眼睛都能敲出来。(?) #include <iostream> using namespace std; int T,M; int t[1005],v[1005],dp[1005]; int main(){ cin>>T>>M; for(int i=1;i<=M;i++){ cin>…
动态规划(Week8)
T1 疯狂的采药 题目: 是经典的01背包问题,在博客另一处有介绍,推出 状态转移方程即可。 代码如下。 #include <iostream> using namespace std; long long int T,n; long long int t[10005],w[10005]; long long int d…
第二次双周赛。
T1 输出全排列 是暑假就做过的题!代码如下。 #include <iostream> using namespace std; int n; int a[11],vis[11]; void dfs(int step){ if(step==n+1){ for(int i=1;i<=n;i++){ cout<<…
贪心 (Week 6)
T1 三国游戏 每次选择都不可能选中最大默契值的武将,所以从1号到最后一号武将找与他默契值第二大的武将,并一直更新答案。 代码如下。 #include <iostream> #include <algorithm> using namespace std; int g[505][505]; int main(){ int…