[Offer收割]编程练习赛104
题目过于简单,没啥好说的,但是拿了个第一感觉很爽,记录一下

题目1 : 小Hi与魔法 排序,从1开始递增
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=;
int a[N];
int main()
{
int n;
cin>>n;
for(int i=;i<n;i++)cin>>a[i];
sort(a,a+n);
int ans=,l=;
for(int i=;i<n;i++)
{
if(a[i]==l)
l++,ans++;
else if(a[i]==l-)ans++;
else break;
}
cout<<ans<<"\n";
}
题目2 : 选项编码 就是map一下
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
string s;
cin>>s;
unordered_map<string,string>M;
M[""]="A";
M[""]="B";
M[""]="C";
M[""]="D";
string t;
for(auto X:s)
{
t+=X;
if(M.count(t))
cout<<M[t],t="";
}
}
题目3 : 假期旅行 直接dp当前天是不是可以到达,然后分别转移(题目不太好读懂
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=;
char s[N][N];
int dp[N][N];
int main()
{
int n,m;
cin>>n>>m;
for(int i=;i<=n;i++)cin>>(s[i]+);
for(int i=;i<m;i++)dp[][i]=;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
if(dp[i-][j-]&&s[i][j]=='O')dp[i][j]=;
if(dp[i][j-]&&s[i][j]=='O')dp[i][j]=;
}
int ans=-;
for(int i=;i<=m;i++)
if(dp[n][i])
{
ans=i;
break;
}
cout<<ans;
}
题目4 : 脉冲星观测 说的是其中有一个多记了,所以只要看前面对,还是后面对就可以了,(当然可以都不对,3的情况)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=;
int a[N];
set<int>S;
void la(int x)
{
//cout<<x<<"\n";
S.insert();
S.insert(x);
int y=sqrt(x+0.5);
for(int i=;i<=y;i++)
if(x%i==)S.insert(i),S.insert(x/i);
}
int main()
{
int n;
cin>>n;
for(int i=;i<n;i++)cin>>a[i];
//cout<<a[1]-a[0]<<" "<<a[n-1]-a[n-2]<<"\n";
if(a[]-a[]!=a[n-]-a[n-])
{
if(a[]-a[]!=a[]-a[])
la(a[n-]-a[n-]);
if(a[n-]-a[n-]!=a[n-]-a[n-])
la(a[]-a[]);
}
else la(a[]-a[]);
for(auto X:S)cout<<X<<"\n";
}
[Offer收割]编程练习赛104的更多相关文章
- hihocoder [Offer收割]编程练习赛4
描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的人,他希望 ...
- hihocoder [Offer收割]编程练习赛61
[Offer收割]编程练习赛61 A:最小排列 给定一个长度为m的序列b[1..m],再给定一个n,求一个字典序最小的1~n的排列A,使得b是A的子序列. 贪心即可,b是A的子序列,把不在b中的元素, ...
- [Offer收割]编程练习赛46
[Offer收割]编程练习赛46赛后题解 A.AEIOU 分析
- hihoCoder[Offer收割]编程练习赛1题目解析
题目1 : 九宫 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 小Hi近期在教邻居家的小朋友小学奥数.而近期正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不反 ...
- ACM学习历程—Hihocoder [Offer收割]编程练习赛1
比赛链接:http://hihocoder.com/contest/hihointerview3/problem/1 大概有一个月没怎么打算法了.这一场的前一场BC,也打的不是很好.本来Div1的A和 ...
- HihoCoder1670 : 比赛日程安排([Offer收割]编程练习赛41)(模拟)
描述 H国编程联赛中有N只队伍,编号1~N. 他们计划在2018年一共进行M场一(队)对一(队)的比赛. 为了让参赛队员能得到充分的休息,联赛组委会决定:每支队伍连续两场比赛之间至少间隔一天.也就是如 ...
- [Offer收割]编程练习赛48
题目1 : 折线中点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定平面上N个点P1, P2, ... PN,将他们按顺序连起来,形成一条折线. 请你求出这条折线的 ...
- [Offer收割]编程练习赛3 - 题目3 : 智力竞赛
智力竞赛 Problem's Link ---------------------------------------------------------------------------- Mea ...
- [Offer收割]编程练习赛5-1 小Ho的防护盾
#1357 : 小Ho的防护盾 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho的虚拟城市正在遭受小Hi的攻击,小Hi用来攻击小Ho城市的武器是一艘歼星舰,这艘歼星 ...
随机推荐
- JavaSE_06_Collection、泛型
1.Collection集合 1.1 集合概述 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值.集合存储的都是对象.而且对象的类型可以不一致.在开发中一 ...
- vue.js_07_vue-resource的请求方式
1.vue-resource 实现 get, post, jsonp请求 <body> <div id="app"> <input type=&quo ...
- TZOJ 4021 Ugly Problem(线段树区间子段最大)
描述 给定一个序列A[0],A[1],…A[N-1],要求找到p0,p1,p2,p3使得A[p0]+A[p0+1]+…+A[p1] + A[p2]+A[p2+1]+…+A[p3]最大(0<=p0 ...
- Leetcode438.Find All Anagrams in a String找到字符串中所有字母异位词
给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引. 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100. 说明: ...
- spring源码学习之容器的扩展(一)
在前面的章节,我们一直以BeanFactory接口以及它的默认实现XmlBeanFactory为例进行解析,但是,spring还提供了另一个接口ApplicationContext,用于扩展BeanF ...
- bzoj 4373 算术天才⑨与等差数列——线段树+set
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4373 能形成公差为k的等差数列的条件:mx-mn=k*(r-l) && 差分 ...
- Vim 日常操作
显示 # 显示行号 :set nu # 插入:i # 保存并退出:wq 查找 # 最普通的查找:/search # 查找非分号开头的行.[正则表达式](php.ini 很多以分号开头的行,懒得看) ...
- Windows 禁用Windows updata服务
方法一:禁用Windows updata服务 按WIN+R 打开运行,输入 services.msc 回车 然后找到 “Windows updata”服务,双击后设置为禁用 应用即可; 方法二:推迟自 ...
- linux bash算术运算
+, -, *(乘), /(除), **(乘方), %(取模) let var=算术运算符表达式 var=$[算术运算符表达式] var=$((算术运算符表达式)) var=$(expr $ARG1 ...
- “微信小程序” js部分注解
1.小程序不提供获取dom的操作,而是让我们直接将事件绑定写入到组件内.区别在于bind不阻止冒泡,而catch阻止冒泡. <view id="tapTest" bindta ...