![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
杭电oj
織978
这个作者很懒,什么都没留下…
展开
-
HDU-1176 免费馅饼
HDU-1176 免费馅饼题目链接:添加链接描述逆路径dp#include<bits/stdc++.h>#define maxx(a,b,c) max(a,max(b,c))#define MXT 100010#define MXX 15int n,dp[MXT][MXX];using namespace std;int main(){ int T,t,x,i,j; while(scanf("%d",&n),n){ t=0;原创 2021-06-02 20:42:05 · 65 阅读 · 0 评论 -
HDU-2084 数塔
HDU-2084 数塔题目链接:添加链接描述#include<bits/stdc++.h>using namespace std;int main(){ int C,N,i,j; int a[101][101],dp[101][101]; cin>>C; while(C--){ cin>>N; memset(dp,0,sizeof(dp)); fo原创 2021-06-02 19:31:48 · 62 阅读 · 0 评论 -
HDU-1058 Humble Numbers
HDU-1058 Humble Numbers代码链接:添加链接描述#include<bits/stdc++.h>#define smaller(a,b) (a<b?a:b)#define smallest(a,b,c,d) smaller(smaller(a,b),smaller(c,d))using namespace std;long long dp[6000];int main (){ int n1,n2,n3,n4; int i; dp[1]=1; n1=原创 2021-05-23 11:29:09 · 55 阅读 · 0 评论 -
HDU-2067 小兔的棋盘
HDU-2067 小兔的棋盘题目链接:添加链接描述思路: 卡特兰数#include<bits/stdc++.h>using namespace std;int main (){ long long f[40]={0}; int i,j; f[0]=1; f[1]=1; for(i=2;i<=35;i++){ for(j=0;j<i;j++){ f[i]+=f[j]*f[i-j-1]; } } int n,c=1; while(~scanf("原创 2021-05-19 20:30:07 · 52 阅读 · 0 评论 -
HDU-2045 RPG难题
HDU-2045 RPG难题题目链接:添加链接描述#include<bits/stdc++.h>using namespace std;int main (){ long long f[51]; int i; f[1]=3; f[2]=6; f[3]=6; for(i=4;i<51;i++) f[i]=f[i-1]+2*f[i-2]; int n; while(~scanf("%d",&n)){ cout<<f[n]<<en原创 2021-05-18 20:57:37 · 49 阅读 · 0 评论 -
HDU-2047 阿牛的EOF牛肉串
HDU-2047 阿牛的EOF牛肉串题目链接:添加链接描述#include<bits/stdc++.h>using namespace std;int main (){ long long f[41]; int i; f[1]=3; f[2]=8; for(i=3;i<41;i++) f[i]=2*f[i-1]+2*f[i-2]; int n; while(~scanf("%d",&n)){ cout<<f[n]<<endl;原创 2021-05-18 20:37:22 · 62 阅读 · 0 评论 -
HDU-2190 重建希望小学
HDU-2190 重建希望小学题目链接:添加链接描述#include<bits/stdc++.h>using namespace std;int main (){ long long f[31]; int i; f[1]=1; f[2]=3; for(i=3;i<31;i++) f[i]=f[i-1]+2*f[i-2]; int c,n; cin>>c; for(i=0;i<c;i++){ cin>>n; cout<原创 2021-05-18 20:26:18 · 125 阅读 · 0 评论 -
HDU-2050 折线分割平面
HDU-2050 折线分割平面题目链接:添加链接描述思路: 第n条折线最多与前面每一条折线有4个交点,所以最多能增加4*(n-1)个交点,增加4*(n-1)+1个部分。#include<bits/stdc++.h>using namespace std;int main (){ long long f[10005]; int i; f[1]=2; for(i=2;i<=10001;i++) f[i]=f[i-1]+4*(i-1)+1; int c,n; cin&原创 2021-05-18 20:12:12 · 94 阅读 · 0 评论 -
HDU-2046 骨牌铺方格
HDU-2046 骨牌铺方格题目链接:添加链接描述#include<bits/stdc++.h>using namespace std;int main (){ long long fib[51]; int i; fib[0]=1; fib[1]=1; for(i=2;i<51;i++) fib[i]=fib[i-1]+fib[i-2]; int n; while(~scanf("%d",&n)){ cout<<fib[n]<<原创 2021-05-18 20:02:18 · 55 阅读 · 0 评论 -
HDU-2044 一只小蜜蜂
HDU-2044 一只小蜜蜂题目链接:添加链接描述**注意事项:**斐波那契数列的第49个数用int超出了,所以改用long long型#include<bits/stdc++.h>using namespace std;int main (){ long long fib[50]; int i; fib[0]=1; fib[1]=1; for(i=2;i<50;i++) fib[i]=fib[i-1]+fib[i-2]; int n,a,b; cin>原创 2021-05-18 19:53:02 · 57 阅读 · 0 评论 -
HDU-2041 超级楼梯
HDU-2041 超级楼梯题目链接:添加链接描述**思路:**递推,用数组存储结果减少运算量。#include<bits/stdc++.h>using namespace std;int main (){ int a[42],i; a[2]=1; a[3]=2; for(i=4;i<=40;i++){ a[i]=a[i-1]+a[i-2]; } int n,m; cin>>n; for(i=1;i<=n;i++){ cin>>原创 2021-05-17 21:20:49 · 60 阅读 · 0 评论 -
HDU-1863 畅通工程
HDU-1863 畅通工程题目链接:添加链接描述**思路:**基本类似HDU-1233添加链接描述,增加一个变量c记录已合并的城镇数,若还存在城镇未连通则输出“?”。#include<bits/stdc++.h>using namespace std;struct DDD{ int x,y,d; bool operator<(DDD D){return d<D.d;}}D[6050];int sum,c; int fa[110]; //fa[r]代表r的父节点原创 2021-05-13 19:39:58 · 83 阅读 · 0 评论 -
HDU-1233 还是畅通工程
HDU-1233 还是畅通工程题目链接:添加链接描述思路:运用Kruskal(克鲁斯卡尔)算法构造最小生成树#include<bits/stdc++.h>using namespace std;struct DDD{ int x,y,d; bool operator<(DDD D){return d<D.d;}}D[6050];int sum; int fa[110]; int find(int r){ if(r!=fa[r]) fa[r]=find(fa[原创 2021-05-12 20:46:04 · 68 阅读 · 0 评论 -
HDU-1232 畅通工程
HDU-1232 畅通工程链接添加链接描述分析:1.运用了并查集的思想,将互相连通的城镇看成一个集合,建设a与b之间的一条道路就是把a所在的集合与b所在的集合进行合并。2.使用find函数进行路径压缩,使得代码更加高效。3.将所有集合都看成一个点,则易得使n个点(城镇集合)全部连通所需要最少的边(道路)为n-1条.代码#include<bits/stdc++.h>using namespace std;int fa[1010]; //fa[r]代表r的父节点 int find原创 2021-05-11 20:39:26 · 81 阅读 · 0 评论 -
HDU-3183 A Magic Lamp
HDU-3183 A Magic Lamp添加链接描述贪心思想需注意输入有0的情况#include<bits/stdc++.h>using namespace std;int main (){ char ch[1010]; int a[100000]; int m,i,j,k,len; memset(ch,0,sizeof(ch)); while(cin>>ch>>m){ memset(a,0,sizeof(a)); len=strlen(原创 2021-05-09 16:33:45 · 70 阅读 · 0 评论 -
HDU-2037 今年暑假不AC
HDU-2037 今年暑假不AC添加链接描述#include<bits/stdc++.h>using namespace std;#define max 100struct j{ int s,e;};j a[max];int main (void){ int n,i; int c,t; while(scanf("%d",&n)&&n!=0){ for(i=0;i<n;i++){ scanf("%d %原创 2021-04-11 16:40:57 · 56 阅读 · 0 评论 -
HDU-1050 Moving Tables(贪心)
HDU-1050添加链接描述移桌子 利用贪心思想,找到重复经过次数最多的走廊即为最小移动趟数。 需注意2n与(2n+1)个房间是共用一个走廊的。#include<stdio.h>int main (void){ int i,j,k,T,N,s[200],t[200],tp1; int c[200],max; scanf("%d",&T); for(i=0;i<T;i++){ for(j=0;j<200;j++)原创 2021-04-11 15:51:09 · 79 阅读 · 0 评论 -
HDU-1052 田忌赛马
HDU-1052田忌赛马添加链接描述#include<stdio.h>int main (void){ int n,i,j,temp,tian[1000],wang[1000],tmax,tmin,wmax,wmin,qian; while(~scanf("%d",&n)&&n!=0){ for(i=0;i<n;i++){//输入并降序排序 scanf("%d",&tian[i]); for(j=原创 2021-04-06 20:57:22 · 84 阅读 · 0 评论