算法进阶指南
wtcl
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
递归实现排列型枚举
#include<cstdio> #include<iostream> #include<cstring> #include<vector> using namespace std; #define ll long long int n; vector<int> path; void dfs( int u,int state) { if...原创 2019-11-25 00:26:25 · 151 阅读 · 0 评论 -
递归实现组合数枚举
#include<cstdio> #include<iostream> #include<cstring> using namespace std; #define ll long long int n,m; int lowbit(int x) { return x&(-x); } int cal(int n) { int c=0; ...原创 2019-11-25 00:14:32 · 233 阅读 · 0 评论 -
递归实现组合型枚举
#include<cstdio> #include<iostream> #include<cstring> using namespace std; #define ll long long int n; void dfs( int u,int state) { if(u==n) { for(int i=0;i<n;i++) { if(s...原创 2019-11-24 23:48:34 · 140 阅读 · 0 评论 -
最短哈密顿路
状压dp(位运算应用) #include<cstdio> #include<iostream> #include<cstring> using namespace std; #define ll long long int map[30][30]; int dp[1<<21][21]; int main() { int n; cin&...原创 2019-11-24 23:41:30 · 284 阅读 · 0 评论 -
快速幂
#include<cstdio> #include<iostream> #include<cstring> using namespace std; #define ll long long int main() { ll a,b,p; cin>>a>>b>>p; ll s=1; while(b) { if(b&...原创 2019-11-24 23:10:59 · 104 阅读 · 0 评论 -
生日蛋糕 POJ1190
确定搜索状态: 第几层 当前体积 当前表面积 上一层高度和半径(可以用数组存) #include<cstdio> #include<algorithm> #include<iostream> #include<cstring> #include<cmath> using namespace std; int N,m; int ans=0x...原创 2019-11-23 00:19:57 · 210 阅读 · 0 评论 -
Sticks POJ - 1011
暴搜+剪枝 错误做法(类似于小猫爬山):确定搜索状态:当前已经分配好的小木棍 当前的木棒个数 每个木棒的长度 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int cnt[70]; int a[70]; in...原创 2019-11-21 22:18:18 · 118 阅读 · 0 评论 -
Sudoku POJ - 3074
dfs #include<iostream> #include<cstdio> #include<algorithm> using namespace std; const int N=9; int ones[1<<N],map[1<<N]; int row[N],col[N],cell[3][3]; char str[100]; in...原创 2019-11-21 14:44:44 · 175 阅读 · 0 评论 -
小猫爬山
1≤N≤18, n很小,可以考虑暴搜 1≤Ci≤W≤108 很像一个背包问题但w很大 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cstring> #define ll long long using name...原创 2019-11-21 13:26:25 · 249 阅读 · 0 评论 -
可达性统计
bitset topsort #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<bitset> #include<queue> using namespace std; int deg[30010]; int...原创 2019-11-21 12:47:34 · 198 阅读 · 0 评论 -
环路运输
环形 单调队列 #include<cstdio> #include<algorithm> #include<cstring> #include<iostream> using namespace std; #define ll long long int num[2000010]; int q[2000010]; int main() { i...原创 2019-11-17 00:29:05 · 230 阅读 · 0 评论 -
Naptime POJ - 2228
环形dp 分为两种情况:N休息 N不休息 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #define inf 0x3f3f3f3f using namespace std; int num[4010]; int dp1[2][4100][2]; ...原创 2019-11-16 21:46:49 · 198 阅读 · 0 评论 -
选课
有依赖的背包问题(树形dp+分组背包) #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> using namespace std; int num[310],deg[310]; int h[310],ver[310],ne[310],cnt=0; int...原创 2019-11-16 14:19:12 · 163 阅读 · 0 评论 -
Sightseeing trip POJ - 1734
floyd变形 求最小环 将结果看成一个集合:有编号最大为k的节点组成的环(1<=k<=n) #include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #include<vector> using namespace std; #defi...原创 2019-11-14 23:37:29 · 127 阅读 · 0 评论 -
Sorting It All Out POJ - 1094
1.floyd 求传递闭包 #include<cstdio> #include<algorithm> #include<iostream> #include<cstring> using namespace std; int d[30][30]; int g[30][30]; int n,m; int st[30]; int check() { f...原创 2019-11-14 22:13:14 · 145 阅读 · 0 评论 -
道路与航线
1.dij与topsort 2.有多个队列时注意变量 #include<cstdio> #include<cstring> #include<iostream> #include<queue> #include<algorithm> using namespace std; int head[50010],ne[200010],ver[2...原创 2019-11-14 12:08:08 · 202 阅读 · 0 评论 -
Mr. Young's Picture Permutations POJ - 2279
题目大意: 给出不超过5的k,有k行学生,当前行人数不超过后一行,每行学生有 ni 个,其中这些学生身高各不相同。 要求每一排从左到右身高递减,每一列从后到前身高递减。 设F[a1][a2][a3][a4][a5]表示各排从左边分别站了a1,a2,a3,a4,a5人时的方案数。 则可得转移方程。 其中我们可以发现,设计动态规划的转移方程,不一定要以如何计算出一个状态的形式给出,也可以考虑 一个已知...原创 2019-10-27 15:02:33 · 155 阅读 · 0 评论
分享