概述

Solved Problem ID Title Ratio(Accepted / Submitted)
1001 更高、更快、更强 41.30%(19/46)(模拟)
1002 迷宫事件,胡恺再现 23.53%(8/34)(BFS)
1003 抗旱救灾,承轩有责 25.40%(16/63)(并查集)
1004 家瑞学信奥 10.00%(4/40)(DP)

1001 更高、更快、更强

更高、更快、更强
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 46 Accepted Submission(s) : 19
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
我们都知道,奥林匹克的精神是“更高,更快,更强”!

信息学奥林匹克也是奥林匹克哦~

大家作为信息学奥林匹克竞赛的爱好者,也应该有着同样的追求~

今天,你的任务就是要找出哪一个更快,哪一个更高,哪一个更强。
Input
输入数据第一行是一个整数T( 1 < =T< = 50 ),表示有T组测试用例。

每组测试案例包含3行:
第一行是纪录的类型,我们有三种类型“Faster” 、“Higher” 或 “Stronger” 。
第二行是一个正整数n表示纪录的个数。
第三行有n个正整数,即记录数据。

所有整数均小于2008。
Output
每组数据输出一行。

如果该类型是“Faster” ,则表示的是时间记录,你应该输出速度最快的那一个。
如果该类型是“Higher” ,则表示长度的记录,你应该输出最高的那一个。
如果类型是“Stronger” ,表示重量的纪录。你应该输出最强的那一个。
Sample Input
3
Faster
3
10 11 12
Higher
4
3 5 4 2
Stronger
2
200 200
Sample Output
10
5
200

#include<bits/stdc++.h>
using namespace std;
int a[5050];
int main(){int T;  cin>>T;while(T--){string s; int n;  cin>>s>>n;for(int i=1; i<=n; i++)cin>>a[i];sort(a+1,a+n+1);if(s=="Faster")cout<<a[1]<<"\n";else if(s=="Higher")cout<<a[n]<<"\n";else if(s=="Stronger")cout<<a[n]<<"\n";}return 0;
}

1002 迷宫事件,胡恺再现

迷宫事件,胡恺再现
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 34 Accepted Submission(s) : 8
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
“张晨乐陷入迷宫事件”还没有过去几天,又发生了一件类似的事件!

王胡恺,作为张晨乐的文渊中学同学,一直对上次的那个迷宫充满好奇,他很想知道是什么一个迷宫能把张晨乐弄得那么狼狈,他决定一探究竟。

就在前天,王胡恺无视老师的警告,一个人悄悄地进入了迷宫,他刚刚进去不久,迷宫又开始摇晃,他意识到:这次闯大祸了,要是被困住,没吃没喝事小,不能参加丁爸的信奥考试就太遗憾了!于是,王胡恺不顾一切地想冲出这个迷宫。

迷宫是一个大小为N*M的矩形,有一扇门,一开始,门是打开的,并将在T秒后关闭。因此,王胡恺必须最迟在第T秒钟到达门口。

每一秒,他都可以向上,下,左,右四个相邻的位置中的任意一个移动,请问,可怜的王胡恺能够逃出迷宫吗?
Input
输入由多个测试用例组成。

每个测试用例的第一行包含三个整数N,M和T(1 <N,M <7; 0 <T <50),分别表示迷宫的大小为N*M,门将在T秒后关闭。

接下来的N行给出迷宫布局,每行包含M个字符。

每个字符含义如下:

‘X’:不能进入的墙
‘S’:起点
‘D’:门
‘.’:可以行走的地方

输入以三个0结束,这个测试用例不被处理。
Output
对于每组测试数据,如果王胡恺能够逃出迷宫,则请输出“YES”,否则,请输出“NO”。
每组数据输出占一行。
Sample Input
4 4 5
S.X.
…X.
…XD

3 4 5
S.X.
…X.
…D
0 0 0
Sample Output
NO
YES
Source
丁爸信奥培训(2018春)- 结业测试(0)

#include<bits/stdc++.h>
using namespace std;
char a[10][10];
int vis[10][10];
struct node{int x, y, step; char ch;};
const int dx[] = {0,0,-1,1};
const int dy[] = {1,-1,0,0};
int main(){int n, m, t;while(cin>>n>>m>>t){if(n==0&&m==0&&t==0)break;memset(vis, 0, sizeof(vis));int sx, sy, ans = 1e9;for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){cin>>a[i][j];if(a[i][j]=='S')sx = i, sy = j;}}queue<node> q;q.push((node){sx,sy,0,'S'});while(q.size()){node t = q.front();  q.pop();if(t.ch=='X')continue;if(t.ch=='D' && t.step<=ans)ans = t.step;for(int i = 0; i < 4; i++){int nx = t.x+dx[i], ny=t.y+dy[i];if(nx>=1 && nx<=n&&ny>=1 &&ny<=m && !vis[nx][ny]){q.push((node){nx,ny,t.step+1,a[nx][ny]});vis[nx][ny] = 1;}}}if(ans<=t)cout<<"YES\n";else cout<<"NO\n";}return 0;
}

1003 抗旱救灾,承轩有责

抗旱救灾,承轩有责
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 63 Accepted Submission(s) : 16
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
正所谓——“百年不遇年年遇”!
某年夏天,中国西南诸省再次出现了“百年不遇”的严重旱情!

由于灾情越来越严重,很多学校师生的用水困难已成为最急需解决的问题,而要给各学校提供用水,就必须先知道各学校是否与水库有道路相连。

胡承轩——国家防汛抗旱总指挥部总指挥,现在想请你编写一个程序,读入所有道路的信息,计算有多少学校没有路与水库相通。

同学们,好好学信奥,为胡总指挥分忧~
Input
输入有多组数据。

每组数据第一行包括两个正整数n,m(0<n<1000, 0<m<=(n*(n+1)/2), n表示学校的数目,m表示道路的数目),学校用1到n的整数编号,水库的编号永远记为0;

接下来有m行,每行有两个数a和b,a和b用一个空格分开,表示a到b有一条路。

请处理到文件结束。
Output
对于每组输入数据:
如果所有的学校均与水库相通,则请在一行内输出0;
如果有学校不通水库,则请输出与水库无路连接的学校个数;

每组数据的输出占一行。
Sample Input
4 4
0 1
0 2
1 2
2 3
Sample Output
1
Source
丁爸信奥培训(2018春)- 结业测试(0)

#include<bits/stdc++.h>
using namespace std;int fa[10010];
void init(int n){for(int i = 0; i <= n; i++)fa[i]=i;}
int find(int x){return x==fa[x]?x:fa[x]=find(fa[x]);}
void merge(int x, int y){x=find(x);y=find(y);if(x!=y)fa[x]=y;}
int count(int n){int cnt=0; for(int i = 1; i <= n; i++)if(fa[i]==i)cnt++;return cnt;}int main(){int n, m;while(cin>>n>>m){init(n);for(int i = 1; i <= m; i++){int x, y;  cin>>x>>y;merge(x,y);}int cnt = 0;for(int i = 1; i <= n; i++){if(find(0)!=find(i))cnt++;}cout<<cnt<<"\n";}return 0;
}

1004 家瑞学信奥

家瑞学信奥
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 40 Accepted Submission(s) : 4
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
张家瑞已经在丁爸信奥培训班学习了一段时间,水平也有了很大的提高。

但是,他仍然不满足于现状,想更快地提高自己的水平,于是他便向丁爸要题目来做,丁爸给了他这样一个问题:

有n个数,第i个数的值为a[i],现在要从中挑出一些数,使得挑出的数的和最大。

需要指出的是,挑出的数必须满足这样一个条件:如果数字x被挑出,那么数字x-1和数字x+1都不能被挑出。

求挑出的数的和最大值为多少?

Hint

温馨提醒:

如果数字x被挑出,那么数字x-1和数字x+1都不能被挑出。

不要误读成:

如果第x个数字被挑出,那么第x-1和第x+1个数字都不能被挑出。

Input
输入数据第一行为一个正整数T,代表有T组测试数据(T<=10)。

每组数据中:
第一行为整数N,表示有N个数(2<=N<=100,000)。
接下来一行有N个数,记为a[1]…a[n], 其中a[i]对应第i个数的值(1<=a[i]<=100,000)。
Output
请计算挑出的数和最大值为多少。
每组数据输出一行。
Sample Input
4
2
1 2
3
1 2 3
9
1 2 1 3 2 2 2 2 3
4
1 2 3 3

Sample Output
2
4
10
7
Author
NMfloat
Source
Alpha Test

//题意:给出n个数,从中选出任意个使得和最大。若x选了,则x-1和x+1不能选。
//思路:f[i]表示选到数字i为止能获得最大和,转移时考虑第i个数选还是不选,f[i]=max(f[i-2]+a[i],f[i-1]);
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 1e6+10;
LL a[maxn], f[maxn];
vector<LL>vc;
int main(){int T;  scanf("%d",&T);while(T--){vc.clear();memset(a,0,sizeof(a));//memset(f,0,sizeof(f));int n;  scanf("%d",&n);for(int i = 1; i <= n; i++){LL x;  scanf("%lld",&x);if(!a[x])vc.push_back(x);a[x] += x;}sort(vc.begin(), vc.end());f[0] = a[vc[0]];for(int i = 1; i < vc.size(); i++){if(vc[i]==vc[i-1]+1)f[i] = max(f[i-1],f[i-2]+a[vc[i]]);else f[i] = f[i-1]+a[vc[i]];}//cout<<f[vc.size()-1]<<"\n";printf("%lld\n",f[vc.size()-1]);}return 0;
}

HDOJ水题集合4:杂题相关推荐

  1. [HZWER NOIP模拟题][杂题][防骗题]数列

    简要题意: 长度为n的数列,有m个询问,每组询问a,b,c,表示要求出最小的i满足a*(i+1)*xi^2+(b+1)*i*xi+c+i=0,为保证强制在线,实际的a=a+lastans(b,c同理) ...

  2. 【刷题记录】杂题记录

    1.[bzoj 4552][Tjoi2016&Heoi2016]排序 题意:给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序.排序分为两种:(0,l,r)表示将区间[l,r]的数字 ...

  3. AcWing蓝桥杯AB组辅导课10、疑难杂题

    文章目录 前言 例题1:AcWing 1242. 修改数组(并查集) 分析 题解:单链表式并查集 例题2:AcWing 1234. 倍数问题(背包问题+贪心) 分析 题解1:01背包问题,三维解法(贪 ...

  4. DSt:数据结构的最强学习路线之数据结构知识讲解与刷题平台、刷题集合、问题为导向的十大类刷题算法(数组和字符串、栈和队列、二叉树、堆实现、图、哈希表、排序和搜索、动态规划/回溯法/递归/贪心/分治)总

    DSt:数据结构的最强学习路线之数据结构知识讲解与刷题平台.刷题集合.问题为导向的十大类刷题算法(数组和字符串.栈和队列.二叉树.堆实现.图.哈希表.排序和搜索.动态规划/回溯法/递归/贪心/分治)总 ...

  5. NOIP历年第二轮入门组真题集合

    NOIP历年第二轮入门组真题集合 年份 题目 题解链接 2000 T1-计算器的改良 T2- 税收与补贴问题 T3-乘积最大 T4-单词接龙 题解链接 2001 T1-数的记数 T2-最大公约数和最小 ...

  6. 杂题记录及简要题解(一)

    一些前几天做过的还不错的但是不是太想专门花一整篇博客的篇幅去写的题就简要地记录在这里. 说是简要题解,其实写得还是挺详细的.之后的杂题记录可能就会写得简略一点. CF1060E Sergey and ...

  7. 贼全面的计算机考研数据结构算法题集合(408+自命题均可)

    文章目录 Code 数组 合并排序的数组 约瑟夫环问题--高效解法 栈 栈实现队列 最小栈 逆波兰表达式求值 队列 设计循环队列 链表 删除链表节点 删除链表中间节点 删除链表的倒数第n个节点 删除链 ...

  8. arrays中copyof复制两个数组_C语言100题集合026-使用指针交换两个数组中的最大值

    系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...

  9. c语言 空格_C语言100题集合-ex003

    系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞收藏哦- 1 题目 函数:fun() 功能:统计一行字符串单词的个数,作为函数值返回 描述:一行字符串在 ...

  10. 网易2017春招笔试真题编程题集合

    网易2017春招笔试真题编程题集合 题目来源:牛客网 https://www.nowcoder.com/profile/7952866/test/7811777/83061 1.双核处理 题目描述 一 ...

最新文章

  1. plotly基于dataframe数据绘制柱状图(bar plot)
  2. 深度揭秘Windows 7
  3. 西安网络推广浅谈SEO优化旧内容页面能不能删?怎么删?
  4. 新手入门之j2me学习方法总结--摘录篇
  5. 私有云搭建 OpenStack(centos7.3, centos-release-openstack-ocata)
  6. LeetCode 314. 二叉树的垂直遍历(BFS/DFS)
  7. mysql2017windows安装_mysql的windows安装
  8. 奥拉星插件flash下载手机版下载安装_奥拉星游戏插件
  9. 对应到对象 数据库驼峰_SpringJPA底层DAO查询的写法归类总结
  10. 我的 8 年投资心路历程
  11. 关于sublime text4 和Google Chrome 的live reload插件
  12. 数据结构-哈夫曼编码例题
  13. 服务器自动更新不能关闭,Windows2008服务器如何关闭系统自动更新?
  14. sam文件获取与解密
  15. matlab如何求有约束最优化最大值,6.4.2有约束最优化问题的求解-东北大学数学系.ppt...
  16. 企业如何做好终端设备管理?
  17. java生成不重复8位数字_生成8位随机不重复的数字编号
  18. Redis有效时间设置及时间过期处理
  19. 假如shiro启动报The bean ‘sysUserServiceImpl‘ could not be injected as a ‘com.zyr.springbootdemo.sys.user.
  20. matlab公式上为什么会有问号,MathType公式显示问号怎么解决

热门文章

  1. Xavier Initialization 的理解与推导(及实现)
  2. 电脑问题勘查 —— BIOS
  3. druid 连接池的释放 配合上spring bean销毁_spring boot基于DRUID数据源密码加密及数据源监控实现...
  4. 自学python能找到工作吗-自学 Python,我是如何找到工作的?
  5. python怎么使用-Python中__all__作用何在以及如何使用?
  6. python工资一般多少p-Python里的黄金库,学会了你的工资至少翻一倍
  7. python自动化测试-【自动化测试】Python - unittest单元测试框架
  8. 干货|详解最新语音识别框架 深度全序列卷积神经网络
  9. 11个程序员最常犯的MySQL错误(PHP开发)
  10. linux下docker部署redis