- 博客(61)
- 收藏
- 关注
原创 hdu 6957 Maximal submatrix
#include<bits/stdc++.h> using namespace std; const int M = 2005; int l[M][M],r[M][M],h[M][M],v[M][M];: int t,n,m,temp; int main (){ int ans; scanf("%d",&t); while(t--){ scanf("%d%d",&n,&m); for(int i = 1;i<=n;i++){ for(int j
2021-08-01 14:37:00
216
原创 hdu 1151 Air Raid
#include<bits/stdc++.h> using namespace std; const int M = 122; int link[M],g[M][M]; bool vis[M]; int t,n; bool dfs(int u){ for(int v = 1;v<=n;v++) if(g[u][v]&&!vis[v]){ vis[v] = true; if(link[v]==-1||dfs(link[v])){ link[v] = u;re
2021-07-30 16:32:49
186
原创 hdu 2063 过山车
#include<bits/stdc++.h> using namespace std; const int M = 502; int k,m,n; int g[2*M][2*M],link[M]; bool vis[M]; bool dfs(int u){ for(int v = 1;v<=n;v++) if(g[u][v]&&!vis[v]){ vis[v] = true; if(link[v]==-1||dfs(link[v])){ link[v]
2021-07-30 15:39:44
195
原创 hdu 1150 Machine Schedule
#include<bits/stdc++.h> using namespace std; const int M = 510; int k,m,n; int g[M][M],link[M]; bool vis[M]; bool dfs(int u){ for(int v = 0;v<n;v++) if(g[u][v]&&!vis[v]){ vis[v] = true; if(link[v]==-1||dfs(link[v])){ link[v] = u;r
2021-07-30 15:31:28
159
原创 hdu 6954 Minimum spanning tree
题目链接:https://acm.hdu.edu.cn/showproblem.php?pid=6954 #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll M = 1e7+2; ll v[M],prime[M],ans,n,m; void primes(int n){//线性筛法找质数,o(n); memset(v,0,sizeof v);m = 0;//m是质数的数量 for(int i
2021-07-30 10:03:48
163
原创 hdu 1312 Red and Black
#include<bits/stdc++.h> using namespace std; const int M = 22; char Map[M][M]; bool vis[M][M]; int w,h,ans; int dir[4][2] = {{0,1},{0,-1},{1,0},{-1,0}}; void dfs(int si, int sj){ if(si<1||si>w||sj<1||sj>h) return; ans++; vis[si][sj]=1;
2021-07-29 19:25:36
150
原创 hdu 1241 Oil Deposits
#include<bits/stdc++.h> using namespace std; int i,j,n,m; const int M = 105; int dir[8][2]={{1,0},{-1,0},{0,1},{0,-1},{1,1},{-1,1},{1,-1},{-1,-1}}; char a[M][M]; void dfs(int si,int sj){ int di,dj; for(int k=0;k<8;k++){ di=si+dir[k
2021-07-28 19:52:08
132
原创 hdu 1010 Tempter of the Bone
#include<bits/stdc++.h> using namespace std; char Map[9][9]; int n,m,t,di,dj; bool escape; int dir[4][2] = {{0,-1},{0,1},{1,0},{-1,0}}; void dfs(int si,int sj,int cnt); int main (){ int i,j,si,sj; while(cin>>n>>m>>t){ if(n==0&am
2021-07-28 16:54:30
166
原创 hdu 1242 Rescue
#include<bits/stdc++.h> using namespace std; const int M = 205; int dx[] = {1,0,0,-1}; int dy[] = {0,1,-1,0}; int n,m; int vis[M][M];char mp[M][M]; struct dot{ int x,y,time; }; bool in(dot gx){ if(gx.x>=0&&gx.x<n&&gx.y>=0&a
2021-07-23 20:19:51
160
原创 hdu 1372 Knight Moves
#include<bits/stdc++.h> using namespace std; int d[8][2]={-1,-2,-2,-1,1,-2,2,-1,-2,1,-1,2,1,2,2,1}; struct node{ char x; int y,t; }a,b; int vis[200][10]; int vj(char x,int y){ if(x>='a'&&x<='h'&&y>=1&&y<=8&&
2021-07-23 16:46:28
161
原创 hdu 1495 非常可乐
#include<bits/stdc++.h> using namespace std; const int M = 105; int s,n,m; struct cup{ int v[5]; int step; }temp; int vis[M][M][M],v[5]; void pour(int a,int b){ int sum = temp.v[a]+temp.v[b]; if(sum>=v[b]) temp.v[b] = v[b]; else temp.v[b] = s
2021-07-23 14:18:45
139
原创 hdu 2066 一个人的旅行
#include<bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define MAXN 1002 int T,S,D; int Map[MAXN][MAXN]; void InitMap(){ for(int i = 0; i <= 1000; i++){ Map[i][i] = 0; for(int j = i+1; j <= 1000; j++)
2021-07-23 10:16:03
132
原创 hdu 2680 Choose the best route
#include<stdio.h> #include<string.h> #define N 0x3f3f3f #define M 1010 int Map[M][M],vis[M],dis[M],m,n,Min; int min(int a,int b) { return a>b?b:a; } void dj(int v) { int k,i,j; memset(vis,0,sizeof(vis)); for(i=1;i<=m;i++) dis[i]=Map[
2021-07-14 19:39:11
131
原创 hdu 1874 畅通工程续
#include<bits/stdc++.h> using namespace std; #define M 205 #define inf 0x7fffffff int Map[M][M], vis[M], dis[M]; int main(){ int n, m, a, b, d, s, t, next, Min; while(scanf("%d %d", &n, &m) == 2) { for(int i = 0; i < M; i+
2021-07-13 20:37:14
187
原创 hdu 1159 Common Subsequence
#include<bits/stdc++.h> using namespace std; #define MXM 1010 string str1,str2; int dp[MXM][MXM]; int main () { int i,j; while(cin>>str1>>str2) { memset(dp,0,sizeof dp); for(i = 1;i<=str1.length();i++) { for(j = 1;j<=str
2021-07-13 14:09:30
140
原创 HDU 2159 FATE
#include<bits/stdc++.h> using namespace std; #define MAX 1000 int main() { int i,j,z,min; int n,m,s,k,a[MAX],b[MAX],dp[110][MAX]; while(scanf("%d%d%d%d",&n,&m,&k,&s)!=EOF) { memset(a,0,sizeof(a)); memse
2021-07-12 16:10:29
141
原创 hdu 1248 寒冰王座
#include<bits/stdc++.h> using namespace std; int main () { int c1,c2,c3,t,n,i,j,k,ans; cin>>t; while(t--) { cin>>n;c1 = n/150;c2 = n/200;c3 = n/350;int min = 100010; for(i = 0;i<=c1;i++) { for(j = 0;j<=c2;j++) {
2021-06-08 21:03:28
149
原创 hdu 1114 Piggy-Bank
#include<bits/stdc++.h> using namespace std; //const int INF=0x3f3f3f3f; #define INF 0x3f3f3f3f #define MXM 10010 #define MXN 100010 int v[MXM],w[MXM],dp[MXN]; int main(){ int t,a,b,ans,n; cin>>t; while(t--){ memset(v,0,sizeof(v)); memse
2021-06-08 20:24:31
158
原创 hdu 4508 湫湫系列故事——减肥记I
#include<bits/stdc++.h> using namespace std; #define MXM 100010 #define MXN 110 int dp[MXM],v[MXN],w[MXN]; int main () { int i,j,n,m; while(scanf("%d",&n)==1) { for(i = 0;i<n;i++) scanf("%d%d",&v[i],&w[i]); scanf("%d",&m);
2021-06-07 20:40:40
143
原创 hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
#include<bits/stdc++.h> using namespace std; #define MXM 110 int p[MXM],h[MXM],c[MXM],dp[MXM]; int n,m; int main() { int T,i,j,k; cin>>T; while(T--) { memset(dp,0,sizeof dp); cin>>n>>m; for(i=
2021-06-07 19:28:45
131
原创 hdu 2602 Bone Collector
#include<bits/stdc++.h> using namespace std; #define MXM 1010 int w[MXM],v[MXM],dp[MXM][MXM]; int main() { int t,n,m; cin>>t; while(t--) { memset(dp,0,sizeof(dp)); cin>>n>>m; for(int i=1;i<=n;i++) { cin>>v[i]
2021-06-06 20:43:22
123
原创 hdu 1087 Super Jumping! Jumping! Jumping!
#include<bits/stdc++.h> using namespace std; int num[1010],dp[1010]; int main () { int n,ans; while (scanf("%d",&n),n) { ans=0; memset(dp,0,sizeof(dp)); for (int i=0;i<n;i++) { scanf("%d"
2021-06-03 20:21:09
143
原创 hdu 1257 最少拦截系统
#include <bits/stdc++.h> using namespace std; int a[10010],c,n,h,i; int main() { while (scanf("%d",&n)==1) { c = 1; memset(a, 0, sizeof(a)); scanf("%d",&h); a[1] = h; for ( i = 2; i <= n; ++i) {
2021-06-03 19:20:30
135
原创 hdu 1160 FatMouse‘s Speed
#include<bits/stdc++.h> using namespace std; #define MXM 1010 struct Fm{ int w,s,id; }fm[MXM]; int dp[MXM],t[MXM][MXM]; int main () { int i,j,pm,c = 0; while(scanf("%d%d",&fm[c+1].w,&fm[c+1].s)==2) { c++;fm[c].id = c; } sort(fm+1,fm+c
2021-06-01 18:00:21
149
原创 hdu 1176 免费馅饼
#include<bits/stdc++.h> using namespace std; #define MXM 100010 #define MXN 15 int dp[MXM][MXN]; int main () { int T,t,n,i,j,x; while(scanf("%d",&n),n) { T=0;memset(dp,0,sizeof dp); while(n--) { scanf("%d%d",&x,&t); dp[t][x
2021-05-27 19:29:39
128
原创 hdu 1421 搬寝室
#include<bits/stdc++.h> using namespace std; int dp[2001][1001]; int Min(int a,int b) { return a<b?a:b; } int main() { int n,k,i,j,a[2010]; while(cin>>n>>k) { for(i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+n+1);
2021-05-24 20:15:08
155
原创 hdu 2084 数塔
自底向上–从哪来 #include<bits/stdc++.h> using namespace std; int dp[110][110]; int main () { int c,n,i,j; scanf("%d",&c); while(c--) { scanf("%d",&n); for(i = 1;i<=n;i++) { for(j = 1;j<=i;j++) scanf("%d",dp[i]+j); }
2021-05-23 16:27:50
113
原创 hdu 1058 Humble Numbers
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll a[10000]; int min(int a,int b) { return a>b?b:a; } int main () { int c2 = 1,c3 = 1,c5 = 1,c7 = 1; int i = 2,n; a[1] = 1; while(i<=5842) { a[i] = min(min(2*a[c2],3*a[c
2021-05-23 14:21:36
131
原创 hdu 4165 Pills
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll a[35] = {1}; int main () { int n,i; while(scanf("%d",&n),n) { for(i = 1;i<=n;i++) a[i] = a[i-1]*4 - a[i-1]*6/(i+1);//符合卡特兰数 printf("%lld\n",a[n]); } return 0; }
2021-05-20 19:23:47
152
转载 hdu 2067小兔的棋盘
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main () { int n,i,j,c = 0; ll ans[40][40]; while(scanf("%d",&n)==1) { if(n==-1) break; else for(i = 1;i<=n;i++) { ans[i][0] = 1; for(j = 1;j<i;j++)
2021-05-17 20:00:01
140
原创 hdu 2045 不容易系列之(3)—— LELE的RPG难题
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main () { int n,i; ll a[55];a[1]=3; while(scanf("%d",&n)==1) { if(n>1) { a[n] = pow(2,n)+pow(-1,n)*2; printf("%lld\n",a[n]); } else printf("%d\n",a[1]
2021-05-17 19:25:25
157
原创 hdu 2047 阿牛的EOF牛肉串
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main () { int n,i; ll e[45],o[45]; e[1] = 2;o[1] = 1; while(scanf("%d",&n)==1) { for(i = 2;i<=n;i++) { o[i] = e[i-1]; e[i] = 2*e[i-1]+2*o[i-1]; } printf(
2021-05-16 18:34:40
131
原创 hdu 2501Tiling_easy version
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main () { int t,i,n; ll ans[35]; ans[1] = 1,ans[2] = 3; while(scanf("%d",&t)==1) { while(t--) { scanf("%d",&n); for(i = 3;i<=n;i++) ans[i] = 2*ans[i-2]+a
2021-05-16 18:13:26
203
原创 hdu 2190 悼念512汶川大地震遇难同胞——重建希望小学
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main () { int c,i,n; ll ans[35]; ans[1] = 1,ans[2] = 3; while(scanf("%d",&c)==1) { while(c--) { scanf("%d",&n); for(i = 3;i<=n;i++) ans[i] = 2*ans[i-2]+a
2021-05-16 18:05:08
151
原创 hdu 2050 折线分割平面
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main () { int n,i,c; ll a[10010]; a[1] = 2; while(scanf("%d",&c)==1) { while(c--) { scanf("%d",&n); for(i = 2;i<=n;i++) a[i] = a[i-1]+4
2021-05-16 17:02:10
176
原创 hdu 2046 骨牌铺方格
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main () { int n,i; ll ans[55]; ans[1] = 1,ans[2] = 2; while(scanf("%d",&n)==1) { for(i = 3;i<=n;i++) ans[i] = ans[i-1]+ans[i-2]; printf("%lld\n",ans[n]); } ret
2021-05-16 16:48:37
109
原创 hdu 2044 一只小蜜蜂
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main () { int n,i,a,b; ll ans[55]; ans[1] = 1,ans[2] = 2; for(i = 3;i<=50;i++) ans[i] = ans[i-1]+ans[i-2]; scanf("%d",&n); while(n--) { scanf("%d%d",&a,&b)
2021-05-16 16:34:22
109
原创 hdu 2041 超级楼梯
#include<bits/stdc++.h> using namespace std; int main () { int n,m,i; int a[45];a[1] = 1,a[2] = 1; scanf("%d",&n); while(n--) { scanf("%d",&m); for(i = 3;i<=m;i++) a[i] = a[i-1]+a[i-2]; printf("%d\n",a[m]); } r
2021-05-16 11:13:38
166
转载 hdu 1272 小希的迷宫
链接 #include<bits/stdc++.h> using namespace std; #define MXN 100010 int n,m,fa[MXN], flag; int find(int r){ if(r != fa[r]) fa[r] = find(fa[r]); return fa[r]; } void merge(int x, int y){ int t1 = find(x); int t2 = find(y); if(t1!=t2) fa[t1] = t2;
2021-05-13 20:18:43
136
原创 hdu 1879 继续畅通工程
#include<bits/stdc++.h> using namespace std; #define MXN 110 #define MXM 5050 struct T{ int a,b,c,d; }t[MXM]; int fa[MXN],ans = 0; bool cmp(T t1,T t2) { return t1.c<t2.c; } int find(int r) { if(r!=fa[r]) fa[r] = find(fa[r]); return fa[r];
2021-05-11 20:46:10
151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅