- 博客(35)
- 收藏
- 关注
原创 P1097 [NOIP2007 提高组] 统计数字
1. 由于最大数据来到 1.5 * 10^9 次方,无法直接开数组(①空间不允许开那么大的数组;②太浪费空间了,最后输出也很麻烦),于是采用map。2. 在map创建中,注意加个自定义的比较排序函数就ok了。
2024-07-30 20:20:38
205
原创 P1208 [USACO1.3] 混合牛奶 Mixing Milk 洛谷
1.很直接的贪心,只要当前cost值最小,最终满足需求的cost值一定最小。2.按照农夫单价排序(从低到高);
2024-05-26 08:33:35
190
原创 洛谷 P1204 [USACO1.2] 挤牛奶Milking Cows
sum0 = max ( sum0, 当前农夫的工作起始时间 - flag2 );flag1=当前连续时间起始点;flag2=当前连续时间结束点;如果当前农夫的工作起始时间 <= flag2,即当前连续时间段增长,那么。即若当前时间段不连续,则取当前最大的连续时间段与最大空闲时间段。③更新当前连续时间起始点,当前连续时间结束点。flag1 = 当前农夫工作起始时间;flag2 = 当前农夫工作结束时间;flag2 = 当前农夫工作结束时间。2.寻找最长连续时间,最长空闲时间。①更新当前连续时间结束点。
2024-05-11 00:15:35
184
原创 P1202 [USACO1.1] 黑色星期五Friday the Thirteenth
知识点:直接暴力思路:1.闰年特判( 是 4 的倍数 && 不是 100 的倍数 ) || ( 是 400 的倍数 )2.计算13号是周几:将累积到13号的总天数取余。
2024-05-08 00:23:58
169
原创 LeetCode 670. 最大交换
在第 j 位与第 k 位的数字都是比第 i 位最大的数字,交换max( j, k ) 与 i 的数字。这里需要将(从左往右)第一位的 1 与第三位的 9 进行交换,而不是与第二位的 9 交换。2.那么我们只需要从左到右,依次寻找比此位数字最大的数字,一旦寻到即交换数字并停止;可以交换一次数字中的任意两位。返回你能得到的最大值。3.再次注意一个点,举个例子:1991。1.首先注意,数字只能交换一次;交换数字2和数字7。给定一个非负整数,你。
2024-01-22 23:45:12
368
1
原创 矩阵链乘 Matrix Chain Multiplication 洛谷
接下来的n行每一行都包含了一个大写字母,说明矩阵的名称,以及两个整数,说明行与列的个数。 例如,A,B,C分别是 50 * 10 ,10 * 20 和 20 * 5 的矩阵。现在有两种方案计算 A * B * C ,即(A * B) * C 和 A*(B * C)。 假设你必须评估一种表达形如 A*B*C*D*E,其中 A,B,C,D,E是矩阵。矩阵a的n列是否与矩阵b的m行相等,若相等,进行计算;4.计算两个矩阵 a 与 b 的运算次数为矩阵 a.m * a.n * b.n。
2023-11-17 20:21:00
170
原创 离散 A和B谁是作案者
③按照我们人脑的逻辑就是,由于确定货柜上了锁(第5个条件),所以由第3个条件反推 B 的证据不正确( B 是作案者 );于是由第4个条件,作案不在营业时间;于是由第2个条件反证 A 不是作案者(验证了推理的正确性)①由第5个条件可确定,货柜上了锁,那么我们这里假设。②由第1个条件确定作案者范围,要么是 A,要么是 B。(4)若B 的证据不正确,则作案在营业时间;(3)若B 的证据正确,则货柜末上锁;(1)营业员 A 或 B 偷了手表;(2)若A作案,则作案不在营业时间;编写程序得出谁是作案者。
2023-07-05 23:41:09
276
原创 P4715 【深基16.例1】淘汰赛 洛谷
不需要开数组,只用在读取时就开始比较记录最大值和最大值的编号。,求左边和右边的最大值,然后再输出较小值的编号。
2023-05-16 08:15:57
172
原创 P9301 [CCC 2023 J3] Special Event 洛谷
边读取边记录是否为 “Y” ,若是 “Y” 则该天数能来人数+1。注意,可能会出现不同日期有相同的最大人数。用一个数组记录改天能来的人数。
2023-05-13 19:49:07
76
原创 P7369 [COCI2018-2019#4] Elder
同时,注意之前效忠过的巫师可能会再次效忠。所以用一个数组进行记录,新效忠的巫师之前是否效忠过。每次输入巫师决斗时,先判断当前老魔杖所效忠的巫师有无参与决斗。若参与决斗,那么老魔杖换人效忠;
2023-05-13 16:52:29
76
原创 P5734 【深基6.例6】文字处理软件 洛谷
可以通过 sting 类使用 find 函数。一个子字符串,从其指定的位置开始。所需的子字符串的起始位置。可以通过 sting 类使用 substr 函数。可以通过 sting 类使用 insert 函数。运用C++的四个函数就好了。串中第一个字符的索引为 0,默认值为0。
2023-05-12 08:01:08
547
1
原创 P5732 【深基5.习7】杨辉三角
至于没有使用 fill函数进行赋值,因为发现好像还不如直接for循环的快,具体哪个速度更快,没有具体测试过。再说一句,fill 函数在 algorithm 头文件里面,用法类似这样。查错了一个小时,结果错误可能是编译器抽风了......一个数组为“上一行”数组,另一个数组更新当前行的数。
2023-05-11 16:44:04
70
原创 P5710 【深基3.例2】数的性质
小 A 喜欢这两个性质同时成立的整数;Uim 喜欢这至少符合其中一种性质的整数;八尾勇喜欢刚好有符合其中一个性质的整数;正妹喜欢不符合这两个性质的整数。②Uim 喜欢这至少符合其中一种性质的整数,即 ( x + y )≥ 1 为真。③八尾勇喜欢刚好有符合其中一个性质的整数,即 ( x + y )== 1 为真。若性质1成立,则用 x = 1 标记,否则 x = 0。④妹喜欢不符合这两个性质的整数,即 ( x + y )== 1 为真。①小A喜欢两种性质同时成立,即 x && y 为真。
2023-05-11 15:15:54
179
原创 P5709 【深基2.习6】Apples Prologue / 苹果和虫子
她现在有 m(1 ≤ m ≤ 100)个苹果,吃完一个苹果需要花费 t( 0 ≤ t ≤ 100)分钟,吃完一个后立刻开始吃下一个。现在时间过去了 s( 1 ≤ s ≤ 10000)分钟,请问她还有几个完整的苹果?由整型除法时,直接舍去小数部分,所以需要进行一个判断:是否在s分钟吃完完整的苹果。3.注意是否会出现,时间过长,早已吃完苹果。2.设剩下的苹果数为n,可得。1.注意 t 可能为0的情况。
2023-05-11 14:59:28
117
原创 P5613 [MtOI2019]黑蚊子多 洛谷
连续跳楼梯,每秒跳一段台阶,若跳到特殊楼梯,则能跳的间隔+1。题目很简单,但是我WA了一次,原因在于。求跳到最终台阶的秒数。
2023-05-10 19:06:04
57
原创 P2907 [USACO08OPEN]Roads Around The Farm S 洛谷
如果这一群奶牛可以精确地分成两部分,这两部分的牛数恰好相差 K 头,那么就会分成两群牛。假设能分成两个群体,设较多的小群体牛数为a,较少的小群体牛数为b。因此能分裂的条件是,分裂前的牛数减去相差的k值能被2整除。问最后分成了多少群牛。(求牛被划成了多少个小群体)否则,牛群不会分裂,原地不动。若不能分裂,即就是一群。这题我的思路是递归。由此递归函数代码如下。
2023-05-10 09:02:03
121
原创 P2788 数学1(math1)- 加减算式
暂时用C代码写不出来(不用队列或栈)另一种类似的,也只有10分代码。以下是C的超时代码 T-T。以下是一位大佬的AC题解。
2023-05-09 15:29:24
84
1
原创 P2705 小球 洛谷
于是,我推敲是输出与定义的类型不同导致结果出错。然后有了如下AC代码。这题很简单,但是我足足WA了两次,第三次才能通过(果然小白。自以为最后的分值会超过整型,直接把最后的输出改为“lld”同时,一定要注意输入类型与输出类型的转化带来的影响。然后,这是我第一次提交的80分代码。仔细看,我还是有个“lld"没有改。再然后又删删改改,有了90分代码。首先,这是最后的AC代码。最后就是说,还是不能懒。
2023-05-09 13:12:11
156
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人