Title
摘要: 解题思路 很容易想到 $dp$,考虑到要求字典序最下,所以还需要贪心。 设 $dp[i][k]$ 表示第 $i$ 个人复制前 $k$ 本书所需的最小时间,$j$ 表示上一个人做完后的书的下一本,那么,我们很容易想到这样一个方程 $dp[i][j]=min(dp[i][j],max(dp[i-1][j 阅读全文
posted @ 2023-10-29 21:24 UncleSam_Died 阅读(17) 评论(0) 推荐(0)
摘要: 解题思路 图如下: 我们考虑转化角,把 CAE 沿着 AB 翻转,翻转后把 O 与 C' 相连,可得角 C'OD 为直角,然后直接算就可以了。 AC 代码 #include<stdio.h> #include<iostream> #include<cmath> double AB,DE; inlin 阅读全文
posted @ 2023-10-25 19:52 UncleSam_Died 阅读(31) 评论(0) 推荐(0)
摘要: 解题思路 虽然两台机器没法同时位于启动过程中,但是可以同时运行,也就是说,我们可以先启动第一台或者先启动第二台。那么,我们可以分别计算出先启动第一台和启动第二台能够生产的最多的材料,然后取一个最大值。 那么,第一台先启动能够生产的最大材料数量为:$$\max(k-a,0)\times x+\max( 阅读全文
posted @ 2023-10-23 20:55 UncleSam_Died 阅读(26) 评论(0) 推荐(0)
摘要: 题目大意 给你一个整数 $n$,问你能否找到两个正整数 $x$ 和 $y$ 使得 $x^2-y^2=n$。 解题思路 首先,我们把以上式子分解一下,得到 $(x-y)\times(x+y)=n$,令 $c_1\times c_2=n$,得 $\begin{cases}x+y=c_1\\ x-y=c_ 阅读全文
posted @ 2023-10-23 20:30 UncleSam_Died 阅读(29) 评论(0) 推荐(0)
摘要: 解题思路 很显然,对于每个选项都有选与不选两种状态,所以所有可能的情况共有 $2^n-1$ 种,直接输出就可以了。 AC 代码 #include<math.h> #include<stdio.h> int n;int main(){ scanf("%d",&n); printf("%d\n",(in 阅读全文
posted @ 2023-10-23 19:50 UncleSam_Died 阅读(30) 评论(0) 推荐(0)
摘要: 题目大意 给出两个字符 $s$、$t$,表示两个不超过 $25$ 的十进制数,请你求出它们的和,并用字符串表示。 解题思路 显然 $s$ 和 $t$ 的和不会超过$50$ 转化后不会超过两位,那么我们直接计算出答案的每一位即可。最后判断一下,如果十位是 $0$ 就不输出十位,个位无论如何都要输出。 阅读全文
posted @ 2023-10-23 19:44 UncleSam_Died 阅读(19) 评论(0) 推荐(0)
摘要: 总所周知,c++火车头分为优化火车头和一些对于头文件的引用,那么,如果我们再加上快读模板、高精模板、自定义math头文件函数、文件操作、常用字符串操作,会发生什么事呢? c++火车头优化 代码如下,直接粘贴在头文件之前就可以了。 #pragma GCC optimize(3) #pragma GCC 阅读全文
posted @ 2023-10-19 22:03 UncleSam_Died 阅读(1037) 评论(0) 推荐(0)
摘要: 前言 其实这道题的难度真的不高,但是比赛时蒟蒻也是花费了一个小时才想出来,主要考查思维能力和熟练运用基本语法、基础算法的能力。 博客食用更佳 解题思路 这道题要求我们求出在排名变动后能够获得的最大贡献值,那么,我们很容易能够想到,如果有若干个人的排名上升,那么肯定会有至少一人的排名会下降,且这些排名 阅读全文
posted @ 2023-10-17 19:34 UncleSam_Died 阅读(34) 评论(0) 推荐(0)
摘要: 解题思路 按照题目中的规律画出来的图片如下: 那么,我们直接根据规律判断当前查询的节点在那一条线段上就可以了。易得,当前的基础转向次数为 max$(|x|-1,|y|-1)\times 4$,那么加上一个在当前周期内部的转向次数就可以了。 AC 代码 #include<bits/stdc++.h> 阅读全文
posted @ 2023-10-10 22:11 UncleSam_Died 阅读(19) 评论(0) 推荐(0)
摘要: 解题思路 很容易知道,买完所有东西的最小花费是 $\sum_i^n k_i$,最大花费是 $\sum_i^n (k_i\times 2)$,所以,我们可以得出,买完所有物品的最小天数是 $\sum_i^n k_i$,最大天数是 $\sum_i^n (k_i\times 2)$,因此,我们只需要在这个 阅读全文
posted @ 2023-10-10 21:27 UncleSam_Died 阅读(27) 评论(0) 推荐(0)