每日算法练习

此博客用来记录自己在线OJ的练习,

来训练自己的编程和算法能力,

代码都是自己思考编写,

遇到困难的题目会在牛客讨论区查看思路,

杜绝ctrl+c,

因为是练习,所以源代码中缺乏注释

===================分割线========================

    第一天:小易的字典


题目描述:
小易在学校中学习了关于字符串的理论, 于是他基于此完成了一个字典的项目。
小易的这个字典很奇特, 字典内的每个单词都包含n个’a’和m个’z’, 并且所有单词按照字典序排列。
小易现在希望你能帮他找出第k个单词是什么。

输入描述:

输入包括一行三个整数n, m, k(1 <= n, m <= 100, 1 <= k <= 109), 以空格分割。
2 2 6

输出描述:

输出第k个字典中的字符串,如果无解,输出-1。
zzaa
字典中的字符串依次为aazz azaz azza zaaz zaza zzaa

代码:

https://github.com/akh5/C-/blob/master/%E6%AF%8F%E6%97%A5%E7%AE%97%E6%B3%95/day1.cpp

===================分割线========================

    第二天:瞌睡


题目描述:
小易觉得高数课太无聊了,决定睡觉。不过他对课上的一些内容挺感兴趣,所以希望你在老师讲到有趣的部分的时候叫醒他一下。你知道了小易对一堂课每分钟知识点的感兴趣程度,并以分数量化,以及他在这堂课上每分钟是否会睡着,你可以叫醒他一次,这会使得他在接下来的k分钟内保持清醒。你需要选择一种方案最大化小易这堂课听到的知识点分值。

输入描述:

第一行 n, k (1 <= n, k <= 105) ,表示这堂课持续多少分钟,以及叫醒小易一次使他能够保持清醒的时间。
第二行 n 个数,a1, a2, … , an(1 <= ai <= 104) 表示小易对每分钟知识点的感兴趣评分。
第三行 n 个数,t1, t2, … , tn 表示每分钟小易是否清醒, 1表示清醒。
6 3
1 3 5 2 5 4
1 1 0 1 0 0

输出描述:

小易这堂课听到的知识点的最大兴趣值。
16

源代码:(复杂度O(n2)有点高,在线OJ超时)

https://github.com/akh5/C-/blob/master/%E6%AF%8F%E6%97%A5%E7%AE%97%E6%B3%95/day2_O(n2).cpp

===================分割线========================

    第三天:丰收


题目描述:
小易觉得高数课太无聊了,决定睡觉。不过他对课上的一些内容挺感兴趣,所以又到了丰收的季节,恰逢小易去牛牛的果园里游玩。
牛牛常说他对整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛。
在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第x个苹果是属于哪一堆的。
牛牛觉得这个问题太简单,所以希望你来替他回答。

输入描述:

第一行一个数n(1 <= n <= 105)。
第二行n个数ai(1 <= ai <= 1000),表示从左往右数第i堆有多少苹果
第三行一个数m(1 <= m <= 105),表示有m次询问。
第四行m个数qi,表示小易希望知道第qi个苹果属于哪一堆。
5
2 7 3 4 9
3
1 25 11

输出描述:

m行,第i行输出第qi个苹果属于哪一堆。
1
5
3

源代码:(复杂度O(n),在线OJ超时)

https://github.com/akh5/C-/blob/master/%E6%AF%8F%E6%97%A5%E7%AE%97%E6%B3%95/day3.cpp

===================分割线========================

    第四天:表达式求值


<
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值