题目1 : 提取用户名

时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

在现在的各种互联网应用中,在一段文字中使用'@'字符来提起一名用户是流行的做法。

例如:

"@littleho submitted his code 30 times before he got passed the system test."

其中littleho就是一个用户名。我们规定在一段文字中,'@'字符之后一段连续的、非空的大小写英文字母组成的字符串被视为提起的用户名。

给定一段文字,请你输出其中所有提到的用户名。

输入

一行文本,只包含大小写字母、标点符号和空格。长度不超过800。

输出

按文本中的顺序输出所有提到的用户名,之间用一个空格隔开。重复提到的相同用户名也重复输出。

样例输入
@abc:@@,@littleho's code is so confusing. @abc.
样例输出
abc littleho abc

无脑模拟,直接写就好了,但是要记得回退

#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
getline(cin,s);
for(int i=;s[i];i++)
{
if(s[i]=='@')
{
string c;
i++;
for(;s[i];i++)
if(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z')
c+=s[i];
else break;
if(c.length())
{cout<<c<<" ";}
if(s[i]=='@')i--;
} }
return ;
}

题目2 : 股票价格II

时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

小Hi最近在关注股票,为了计算股票可能的盈利,他获取了一只股票最近N天的价格A1~AN。

在小Hi的策略中,每天可以在下列三种操作中选取一种:

1.什么也不做;

2.按照当天的价格买进一个单位的股票;

3.按照当天的价格卖出部分或所有股票。

现在小Hi希望能够知道,如果在N天前手中持有的股票数为0,并且假设拥有无限的金钱,在这N天结束能够获得的最大利润是多少?

输入

第一行包含一个整数N。

第二行包含N个整数,A1, A2, ... AN。

对于30%的数据, 1 ≤ N ≤ 103

对于100%的数据,1 ≤ N ≤ 106, 1 ≤ Ai ≤ 100

输出

输出这N天结束能够获得的最大利润。

样例输入
5
1 2 3 4 5
样例输出
10

这个题目只要维护最高点就可以了,

相当于其他天都在买,等到最高点卖就行了

我把数组开小了,真是让人愁人

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+;
int a[N],b[N];
int main()
{
int n;
scanf("%d",&n);
for(int i=; i<=n; i++)
{
scanf("%d",&a[i]);
b[i]=a[i]+b[i-];
}
b[n+]=-;
int s=;
for(int i=n; i>; i--)
{
b[i]=max(b[i+],a[i]);
s+=b[i]-a[i];
}
printf("%d",s);
return ;
}

题目3 : 小Hi的生成树计数

时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

小Hi最近对生成树(包含所有顶点的联通无环子图。)非常的感兴趣,他想知道对于特定的简单平面无向图是不是存在求生成树个数的简单方法。

小Hi定义了这样的图:一个以{0,1,2……n}为顶点的图,顶点0与其他n个顶点直接相连,对于顶点i(1 ≤ i < n),顶点i与顶点i+1连有一条边。下面是小Hi画的图n=4的图:

请求出对于任意n,这样的图的生成树个数。

输入

多组数据,每组数据一行,包括一个整数n

30%的数据(1 ≤ n ≤ 100),组数不超过10组

70%的数据(1 ≤ n ≤ 1000000),组数不超过10组

100%的数据(1 ≤ n ≤ 1000000000),组数不超过10组

输出

每组数据输出一个行包括一个整数,代表了图的生成树个数(对1000000007取模)。

样例输入
2
样例输出
3

找规律的题,不,其实是让你找到状态转移方程的

f[i][0]表示第i个点选择完毕,其连通性为0的方案数
则f[i+1][0]=f[i][0](i+1只与i有边,拯救了i的连通性,却没解决自己的)
+f[i][1](i+1没有边连)
f[i+1][1]=f[i][1]*2(i+1与i连边,或者与0连边,解决了自己的连通性)
+f[i][0]

an=2*an-1+an-2+……+a1+a0

a1=1,a0=1

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL A[][], B[][], C[][], n;
const LL MD = 1e9+;
struct MX
{
int v[][];
void O()
{
memset(v,,sizeof(v));
}
void E()
{
memset(v,,sizeof(v));
for (int i = ; i < ; ++i)
v[i][i] = ;
}
MX operator * (const MX &b) const
{
MX c;
c.O();
for (int k = ; k < ; ++k)
{
for (int i = ; i < ; ++i)
if (v[i][k])
{
for (int j = ; j < ; ++j)
{
c.v[i][j] = (c.v[i][j] + (LL)v[i][k] * b.v[k][j]) % MD;
}
}
}
return c;
}
MX operator ^ (LL p) const
{
MX y;
y.E();
MX x;
memcpy(x.v, v, sizeof(v));
while (p)
{
if (p & )y = y * x;
x = x * x;
p >>= ;
}
return y;
}
} a, b, c;
int main()
{
a.O();
a.v[][] = ;
a.v[][] = ;
b.O();
b.v[][] = ;
b.v[][] = ;
b.v[][] = ;
b.v[][] = ;
LL n;
while (cin>>n)
{
cout<<(a * (b ^ (n - ))).v[][]<<endl;
}
return ;
}

按照3*3的矩阵也能做

hiho[Offer收割]编程练习赛30的更多相关文章

  1. hihocoder [Offer收割]编程练习赛4

    描述 最近天气炎热,小Ho天天宅在家里叫外卖.他常吃的一家餐馆一共有N道菜品,价格分别是A1, A2, ... AN元.并且如果消费总计满X元,还能享受优惠.小Ho是一个不薅羊毛不舒服斯基的人,他希望 ...

  2. hihocoder [Offer收割]编程练习赛61

    [Offer收割]编程练习赛61 A:最小排列 给定一个长度为m的序列b[1..m],再给定一个n,求一个字典序最小的1~n的排列A,使得b是A的子序列. 贪心即可,b是A的子序列,把不在b中的元素, ...

  3. [Offer收割]编程练习赛46

    [Offer收割]编程练习赛46赛后题解 A.AEIOU 分析

  4. hiho #1283 hiho密码 [Offer收割]编程练习赛3

    #1283 : hiho密码 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho根据最近在密码学课上学习到的知识,开发出了一款hiho密码,这款密码的秘钥是这样生成的 ...

  5. hiho #1272 买零食 [Offer收割]编程练习赛2

    #1272 : 买零食 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰 ...

  6. hihocoder offer收割编程练习赛11 A hiho字符串

    思路: 我用的尺取. 注意题目描述为恰好2个'h',1个'i',1个'o'. 实现: #include <iostream> #include <cstdio> #includ ...

  7. HihoCoder1641 : 热门号码([Offer收割]编程练习赛37)(模拟)

    描述 1 2 3 ABC DEF 4 5 6 GHI JKL MNO 7 8 9 PQRS TUV WXYZ * 0 # 我们知道电话拨号盘上数字会有若干字母对应,例如2对应ABC,7对应PQRS. ...

  8. [Offer收割]编程练习赛48

    题目1 : 折线中点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定平面上N个点P1, P2, ... PN,将他们按顺序连起来,形成一条折线. 请你求出这条折线的 ...

  9. [Offer收割]编程练习赛5-1 小Ho的防护盾

    #1357 : 小Ho的防护盾 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho的虚拟城市正在遭受小Hi的攻击,小Hi用来攻击小Ho城市的武器是一艘歼星舰,这艘歼星 ...

随机推荐

  1. Linux系统日志分析

    Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息. 大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 / ...

  2. MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)

    MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1)     VMawre-workstation版本包 地址: https://m ...

  3. HDU 3592 World Exhibition (差分约束,spfa,水)

    题意: 有n个人在排队,按照前后顺序编号为1~n,现在对其中某两人的距离进行约束,有上限和下限,表示dis[a,b]<=c或者dis[a,b]>=c,问第1个人与第n个人的距离最多可能为多 ...

  4. hdu 2126 Buy the souvenirs 买纪念品(01背包,略变形)

    题意: 给出一些纪念品的价格,先算出手上的钱最多能买多少种东西k,然后求手上的钱能买k种东西的方案数.也就是你想要买最多种东西,而最多种又有多少种组合可选择. 思路: 01背包.显然要先算出手上的钱m ...

  5. hdu 3861 The King’s Problem

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

  6. 洛谷 P1855 榨取kkksc03

    题目描述 洛谷2的团队功能是其他任何oj和工具难以达到的.借助洛谷强大的服务器资源,任何学校都可以在洛谷上零成本的搭建oj并高效率的完成训练计划. 为什么说是搭建oj呢?为什么高效呢? 因为,你可以上 ...

  7. Distinct Values(贪心)

    问题 D: Distinct Values 时间限制: 1 Sec  内存限制: 128 MB提交: 13  解决: 5[提交] [状态] [讨论版] [命题人:admin] 题目描述 Chiaki ...

  8. Django models多表操作

    title: Django models多表操作 tags: Django --- 多表操作 单独创建第三张表的情况 推荐使用的是使用values/value_list,selet_related的方 ...

  9. Idea01 Idea2018中集成Tomcat9导致OutPut乱码

    版本和平台 idea2018.3 tomcat9 jdk1.8 windows7 64位 output乱码 经过测试,项目编码格式设置为utf-8,在main方法中输出中文正常. 而iedea集成to ...

  10. JQuery EasyUI学习记录(五)

    1.datagrid使用方法(重要) 1.1将静态html渲染为datagrid样式 <!--方式一: 将静态html渲染为datagrid样式 --> <table class=& ...