题解
文章平均质量分 66
题解汇总(持续更新中)
_皓月星辉_
一眼贪心
展开
-
UVA1605
给出有多少个国家nn<=50),需要给每个国家安排办公室。大楼的每一层有着相同的行列数,请你构造一种安排,使得每两个国家之间都有一间挨着的办公室,且办公室总数不超过1000000,用不同字母表示不同国家(A~Z a~z)。第一行:三个数,层数,行数,列数。然后若干行:第一层的构造以及第二层的构造。原创 2024-08-22 21:06:06 · 525 阅读 · 0 评论 -
P8976「DTOI-4」排列 题解
每个数只能用一次,所以整个序列之和是 $\dfrac{n(n + 1)}{2} $(为方便,以下统称。下面来解释一下,若不够就得补上,每个数最多可以增大。构造时我们只看前半个序列 (为方便,以下统称。,然后将没用过的数输出即可。) 半个序列之和最大是。原创 2024-08-22 21:04:20 · 1016 阅读 · 0 评论 -
P8437 伟大的神
对于大部分的 k 可以如下构造,放。的策略进行构造,所以连分类都省了。我们事实上注意到上面的算法无法处理。是有问题的,所以要做一点小调整。可以用 Sub1 的算法构造。的情况,于是我们可以选择特判。但更简单的写法是,前面放的改成。同时我们注意到所有不小于。的显然的解法就是输出。所以可以在开头少放一个。就可以保证答案不变了。综合上述算法可以得到。,然后在后面连续接上。本质解法都是相同的。原创 2024-08-21 20:37:02 · 1099 阅读 · 0 评论 -
P1881 绳子对折——题解
然后想一想,我们模拟一下,选定一个点,往两边扫描,直到有一边到达尽头,此时如果有结的的点全部对称,答案加一。分析一下,这就是一道模拟。有位大佬也提到了:将。原创 2024-08-21 20:35:32 · 407 阅读 · 0 评论 -
P10155题解
在有解的情况下,考虑贪心思路,从倒数第二大的元素开始操作,若该元素之后没有比它小的元素,就不进行操作,若有比它小的元素,就进行操作,因为该元素是为进行操作的元素中最大的,所以会将它插入到所有未进行操作的元素的后面,从而保证排列的有序性。先说无解的情况,如果排列中最大的元素不在最后一个,那么最大的元素之后没有比它大的元素,就无法进行操作,故无解。,将它插入到它之后的第一个大于它的数之前,最小化使整个排列单调不降的次数,若无法做到,输出。,每次可以选择一个数。原创 2024-08-19 20:25:50 · 458 阅读 · 0 评论 -
P10423题解
将所有水平和竖直走过距离平移到一起,就可以用勾股定理算出答案,综上所述,暴力枚举即可求得正解,代码如下。小球最后要回到原点,所以水平方向与竖直方向上走过的距离肯定是边长的偶数倍,又因为水平走过。个单位,所以水平方向与竖直方向上走过的距离之比一定是。个人,每个人应该与除自己以外的其他。个人握手,上过小学的都知道,一共是。人彼此之间没有进行握手,即少了。篇题解,希望能帮助大家。原创 2024-08-19 20:22:56 · 1133 阅读 · 0 评论 -
AT_abc027_b题解
的代价,将其中的每个数都变成该子串的平均值,现在你必须将每个数都变成相同的,你必须同时保证每个数为非负整数。的特判掉,然后遍历一遍序列,考虑贪心,一旦遇到能够刚好平均的子串,就记录下代价,直至结束。的非负整数序列,你可以进行若干次操作,每次操作都可以选择一个长度为。先算出平均数,再把输出为。原创 2024-08-18 20:45:42 · 359 阅读 · 0 评论 -
P8705题解
每个数都得放在第一行或第二行的第一个没有放数的位子上,这不就简单了吗。代码过于长,所以不贴了,楼上大佬有,可以自己看。代码就不贴了(状态转移方程不都在上面了吗)答案是。小明打算跑一分钟、休息一分钟,如此循环。次,参与过九年义务教育的人都知道,要让。次,全国每个阳性都会使次数加。人有一个阳性,那么全国就有。- 跑步每分钟损耗的体力。- 休息每分钟增加的体力。人用一个试剂盒,做了。注意每加一次都要取余!篇题解,希望能帮助大家。次,如果有阳性则加做。为常数,约掉之后就是。稍微改亿下不就行了。原创 2024-08-18 17:07:30 · 663 阅读 · 0 评论 -
CF538E Demiurges Play Again题解
的一棵树,两个人轮流玩树上向下走一步,一个人先手,先手最大化收益,后手最小化收益,收益为最终到的叶子的权值,问当先手分配叶子权值(为一个排列)最大化收益为多少,后手最小化收益为多少。在叶子,才能使得这个子树向下走可以必定走到一个。注意到相对大小与单调性,我们尝试二分验证。是否是对于先手而言可以分配取到的收益。此时我们把过程描述为,至少需要放多少个。原创 2024-08-17 22:36:05 · 685 阅读 · 2 评论 -
CF162J题解
遇到右括号时,如果站内有左括号,则将栈顶弹出,如果栈是空的,则直接输出错。遇到右括号,如果变量为零,输出错,反之,就将变量减一。遍历完整个序列,如果栈是空的,输出对,反之,输出错。遍历完整个序列,如果变量为零,输出对,反之,输出错。说白了就是括号匹配(红题)。遇到左括号就就将变量加一。我们用一个变量来记录。原创 2024-08-17 22:24:57 · 194 阅读 · 0 评论