拓扑,哈希
,
infinity°º
stay hungry stay foolish
展开
-
hdu7108哈希的运用(map掌握)
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=1e5+5; int t,n,x,y; ll ans; char s[maxn]; map<pair<int,int>,int> pos; int main(){ cin>>t; while(t--){ x=y=0;ans=0; while(!pos.empty()) pos.clea.原创 2021-09-01 15:56:59 · 93 阅读 · 0 评论 -
hdu2647拓扑(用队列)
/*用队列是因为 一层层(每次选一层度为0的,其实也是按钱的档次分的) 处理更高效。可避免重复多余的操作 ?? */ //领接矩阵内存超限,所以要用领接表 #include<bits/stdc++.h> using namespace std; const int maxn=1e4+5; typedef long long ll; int n,m,ind[maxn],res[maxn]; vector <int> g[maxn]; int topu(){ queue&l..原创 2021-07-30 23:00:57 · 67 阅读 · 0 评论 -
hdu1285拓扑排序
g[][]ind[]res[] #include<bits/stdc++.h> using namespace std; const int maxn=5e2+5; typedef long long ll; int n,m,g[maxn][maxn],ind[maxn],res[maxn]; void topu(){ int k; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){//这句根据...原创 2021-07-28 19:57:56 · 49 阅读 · 0 评论 -
康拓展开和康拓逆展开
原创 2021-08-15 16:25:42 · 82 阅读 · 0 评论 -
hdu1496哈希函数
Hash的H大写,hash好像是保留字 /*题目规定了abcd不能同时为0 所以只要考虑全正的情况 (而正负对称 *2,又因为是 4个数,所以2^4) */ #include <bits/stdc++.h> using namespace std; const int maxn=50021; int g[maxn],f[maxn],t[105]; int Hash(int k){ int t=k%maxn; if(t<0) t+=maxn; while(f[t]!=0&原创 2021-08-10 22:13:59 · 57 阅读 · 0 评论 -
hdu1800字符串哈希?(数据不大,可用map)
普通方法:求最多 有多少个 相等的数 #include<bits/stdc++.h> using namespace std; const int maxn=3e3+5; int n,m,b[maxn]; char s[35]; int main(){ while(~scanf("%d",&n)){ getchar(); for(int i=0;i<n;i++){ scanf("%s",s); b[i]=0; for(int j=0;j<...原创 2021-08-10 19:50:45 · 105 阅读 · 0 评论