目前只会四道--》

1002:很明显的MST 把,但是注意不要每个点都连接四条边,会爆内存。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include<cmath>
 5 #include <algorithm>
 6
 7 typedef long long ll;
 8 using namespace std;
 9
10 #define N 1011
11 #define inf 0x3f3f3f3
12 typedef long long ll;
13 int f[N*N];
14
15 int mp[1011][1011];
16 int idx[1011][1011];
17
18 int n,m;
19 struct node
20 {
21     int x,y,z;
22 }e[3011111];
23
24 int dx[]={0,-1};
25 int dy[]={-1,0};
26
27
28 int find(int x)
29 {
30     if (x!=f[x])  f[x]=find(f[x]);
31     return f[x];
32 }
33
34 int cmp(node a,node b)
35 {
36     return a.z<b.z;
37 }
38
39 int main()
40 {
41
42     int cas=0;
43     int T;
44     scanf("%d",&T);
45     while (T--)
46     {
47         printf("Case #%d:\n",++cas);
48         scanf("%d%d",&n,&m);
49         int    id=0;
50         for (int i=1;i<=n;i++)
51         for (int j=1;j<=m;j++) scanf("%d",&mp[i][j]),idx[i][j]=(++id);
52
53         for (int i=1;i<=n*m;i++) f[i]=i;
54         int t=0;
55
56         for (int i=1;i<=n;i++)
57         for (int j=1;j<=m;j++)
58         {
59             for (int k=0;k<2;k++)
60             {
61                 int x=i+dx[k];
62                 int y=j+dy[k];
63                 if (x<=0||x>n||y<=0||y>m) continue;
64                 e[++t].x=idx[i][j];
65                 e[t].y=idx[x][y];
66                 e[t].z=abs(mp[i][j]-mp[x][y]);
67             }
68         }
69         ll ans=0;
70         sort(e+1,e+t+1,cmp);
71         for (int i=1;i<=t;i++)
72         {
73             int x=e[i].x;
74             int y=e[i].y;
75             x=find(x);
76             y=find(y);
77             if (x!=y)
78             {
79                 ans+=e[i].z;
80                 f[x]=y;
81             }
82         }
83         printf("%I64d\n",ans);
84     }
85     return 0;
86 }

View Code

1003 真实脑残了,

直接暴力DFS就好了,走过的标记一下不走就好了

一直以为这样会T,被自己的复杂度分析惊呆了

 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<string.h>
 4
 5 int a[505][505];
 6 int b[505][505];
 7 using namespace std;
 8
 9 void solve(int n,int m)
10 {
11     if(b[n][m]==1)return;
12     if(a[n][m]==1)
13     {
14         b[n][m]=1;
15         if(a[n-1][m-1]==1){a[n][m-1]=a[n-1][m]=1;solve(n,m-1);solve(n-1,m);}
16         if(a[n-1][m+1]==1){a[n-1][m]=a[n][m+1]=1;solve(n-1,m);solve(n,m+1);}
17         if(a[n+1][m-1]==1){a[n][m-1]=a[n+1][m]=1;solve(n,m-1);solve(n+1,m);}
18         if(a[n+1][m+1]==1){a[n][m+1]=a[n+1][m]=1;solve(n,m+1);solve(n+1,m);}
19     }
20 }
21 int main()
22 {
23     int n,m,T,g,n1,m1;
24     int i,j,k,sum;
25     scanf("%d",&T);
26     for(i=1;i<=T;i++)
27     {
28         memset(b,0,sizeof(b));
29         memset(a,0,sizeof(a));
30         scanf("%d%d",&n,&m);
31         scanf("%d",&g);
32         for(j=1;j<=g;j++)
33             {
34                 scanf("%d%d",&n1,&m1);
35                 a[n1][m1]=1;
36             }
37            sum=0;
38            for(j=1;j<=n;j++)
39            for(k=1;k<=m;k++)
40            solve(j,k);
41         for(j=1;j<=n;j++)
42             for(k=1;k<=m;k++)
43             if(a[j][k]==1)sum++;
44         printf("Case #%d:\n",i);
45         printf("%d\n",sum);
46     }
47 }

View Code

1004:魔法因子;

数学题,并不会。。

假设我们知道axxxxxxb *val =bxxxxxa;

int tmp=       bxxxxxxa-axxxxxxb=(b-a)*(pow(10,len-1)-1);

判断tmp==val-1 就好了,maya,神奇的题解。

然后我们枚举 头尾两个元素,注意,头元素不能为0,尾元素可以我0;

代码没有

1005:

做过!但是并没有出来

我们求最多的a[i],a[j],a[k]是上升,

那么要求a[j]-a[i]>=j-i;假设不改变的元素个数

化简一下a[j]-j>=a[i]-i;明显最长不下降子序列

用户upper_lound()

#include<iostream>
#include<string.h>
#include<string>
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>

using namespace std;
#define N 2234567
int a[N];
int f[N];void debug()
{for (int i=1;i<=5;i++) f[i]=i+2;int idx=lower_bound(f+1,f+6,8)-f;cout<<idx<<endl;
}int main()
{//   debug();
    int T;scanf("%d",&T);for (int _=1;_<=T;_++){int n;printf("Case #%d:\n",_);scanf("%d",&n);for (int i=1;i<=n;i++)scanf("%d",&a[i]),a[i]-=i;int t=0;for (int i=1;i<=n;i++){if (t==0) f[++t]=a[i];else if (f[t]<=a[i]) f[++t]=a[i];else{int idx=upper_bound(f+1,f+t+1,a[i])-f;f[idx]=a[i];}}printf("%d\n",n-t);}return 0;
}

转载于:https://www.cnblogs.com/forgot93/p/4545349.html

2015年百度之星程序设计大赛 - 初赛(2)相关推荐

  1. HDU 6114 Chess 【组合数】(2017百度之星程序设计大赛 - 初赛(B))

    Chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  2. hdu6383(2018 “百度之星”程序设计大赛 - 初赛(B))

    p1m2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Sub ...

  3. hdu6380(2018 “百度之星”程序设计大赛 - 初赛(B))

    degree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total S ...

  4. hdu6375(2018 “百度之星”程序设计大赛 - 初赛(A))

    度度熊学队列 Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total S ...

  5. 2019 年百度之星·程序设计大赛 - 初赛一 C. HDU 6670 Mindis 离散化+dijkstra

    题目链接 :http://acm.hdu.edu.cn/showproblem.php?pid=6670 Mindis Time Limit: 4000/2000 MS (Java/Others) M ...

  6. 2019 年百度之星·程序设计大赛 - 初赛一Game HDU 6669 (实现,贪心)

    Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissi ...

  7. 2019 年百度之星·程序设计大赛 - 初赛一 1003 Mindis

    Mindis Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total S ...

  8. 2018 “百度之星”程序设计大赛 - 初赛(A)

    hdu6374                         度度熊拼三角 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536 ...

  9. 2006 年百度之星程序设计大赛初赛题目 6 百度语言翻译机

    百度语言翻译机 2006 年百度之星程序设计大赛初赛题目 6 百度语言翻译机 时限 1s 百度的工程师们是非常注重效率的,在长期的开发与测试过程中,他们逐渐创造了一套他们独特的缩率语.他们在平时的交谈 ...

最新文章

  1. 理论经典:TCP协议的3次握手与4次挥手过程详解
  2. 计算机c盘属性不显示安全选项,win7系统中文件夹属性安全选项卡空白的解决方法...
  3. SQL语句获取数据库名、所有表名、所有字段名及字段类型
  4. 使用 cf push 部署应用到 SAP BTP 后启动失败 start unsuccessful 该如何处理
  5. UnrealEngine4 - 关于UObject被自动GC垃圾回收的巨坑
  6. core文件如何分析
  7. diff git 代码实现_Git 自救指南:这些坑你都跳得出吗?
  8. php对象不公用属性赋值,php 框架 Model 公用的问题
  9. 数据分析来诠释985/211废物的焦虑与失意
  10. PHP程序员五大兵器排行
  11. 从科技到“科技亲”,2019 IBM 中国论坛干货分享
  12. pkg_resources.DistributionNotFound: The 'psutil=5.6.1; platform_python_implementation== 报错解决
  13. mysql 触发器 实例_MySQL触发器简单用法示例
  14. 思科模拟器-单臂路由tftp配置
  15. C++定义点和矩形求矩形面积周长
  16. 牛客网--15894--WWX的520
  17. 文本框插入表情和图片
  18. html实现给微信发红包看照片,微信发红包看图片效果实现
  19. 重读《大数据时代》:关于大数据的再认识
  20. 如何面对无意义的生活

热门文章

  1. STM32f1系列压力传感器MPX4250压力检测
  2. MACOS Terminal终端:更改zsh模式到bash模式(切换shell)
  3. 虚拟主机 独立云服务器,虚拟主机 独立云服务器
  4. 一步一步教你将java代码打成jar包用bat批处理命令运行
  5. 快速入门JavaScript(一)
  6. php代码优化思路,PHP优化思路 Web程序 - 贪吃蛇学院-专业IT技术平台
  7. android游戏手柄,没手柄也不怕 键盘玩Android游戏攻略
  8. 【工具】markdown
  9. 如果当初......
  10. halide 资源整理