每日打卡Day282
2025.08.23打卡Day282
健康
- 10 点半睡,7 点起床。
- 100 仰卧起坐 + 100 俯卧撑,没做深蹲和跑步是因为膝盖有点不舒服,休息一下。
娱乐
- 做发型。
- 看海龟汤。
算法
Codeforces:
- https://codeforces.com/contest/538/problem/C ,1600 分,只需要枚举每两个之间最多能到多少即可。
AtCoder:
- https://atcoder.jp/contests/abc403/tasks/abc403_f ,洛谷评普及+/提高,经典表达式题目。对于一个数 n,可以考虑其两种构造方式:直接拆分成两个数的乘积,即
n = i * j,然后递归解决i和j的问题;或者拆分成n = i + j,然后递归解决i和j的问题。递归边界是1...1的情况。注意细节,如果是i * j的情况,那么对于i和j来说,假如他们是通过加法得到的最短表达式,则应该加上括号才能正确相乘。这样做的复杂度正确,是因为可以粗略的估计出这个范围内每个数的最短字符串的长度肯定不会超过 200,所以完全存的下,拼接复杂度也可以接受。 - https://atcoder.jp/contests/abc402/tasks/abc402_f ,洛谷评普及+/提高,看到数据范围基本就知道是双向分别搜索了,也算是一种折半搜索。先从
(1, 1)开始走,走恰好n - 1步,把这些值存到对应的位置上,这个至多有2^20个数要存,可以承受。然后再从(n, n)开始走,走到中间那些位置上时,事实上最大值只需要看两个数,一个是加起来让自己恰好< m的那个数,一个是最大的数。 - https://atcoder.jp/contests/abc389/tasks/abc389_e ,洛谷评提高+/省选-,首先可以考虑拿 k 个和拿 k + 1 个,代价差多少,发现是
(2 * k + 1) * p,所以可以按照这个去贪心,每多拿一个,就把下一个的代价放到堆里。但是这样朴素的做会 TLE,因为总钱数很多。考虑加速,使用二分,去看少于某个代价的物品能否都被拿,求出这个最大的代价,然后对于剩下的来说,每种物品至多只能再买一个,所以复杂度就有了保证。
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
昨天学了三小时,但忘了打卡了,那就从头开始吧。[衰]day1 学习七小时学了mysql和tomcat底层
14
day5 今天学了四个小时,学了HttpServlerRequest和MySQL
11
day3学完HTTP协议复习了一些Javase的内容明天开始背面经
15
day2今天看完了Servlet,明天看HTTP。今天敲了敲坦克大战,想半天也实现不了,非得看课程。头疼。代码要还是敲了记忆才深刻,尤其是自己单独想通逻辑,然后不看视频就单独敲出来才能算初步学会,每天坚持,慢慢来吧
12
day1打卡今天主要看了韩顺平老师javaweb课程的Tomcat和Servlet的一小部分,前面的前端部分以前学过,就大概看了一下笔记复习了一下。今天感觉对tomcat和Servlet的理解有很大的提升,韩老师的课程很适合我。明天继续加油,明天应该看完Servlet差不多,这里自己第一次学就没学明白,明天就学明白Servlet就好,然后再练习一下SQL语句。
15
