摘要: 这个题我们从1开始扫数组,把能够按顺序排下去的数字个数记录下来,用总数减去就是需要排序的个数,再除以k,如果能一次拿出来结果就是1,不然就是n/k上取整 #include<bits/stdc++.h> using namespace std; const int N=1e5+5; int a[N]; 阅读全文
posted @ 2025-08-25 23:03 流云鹤= 阅读(10) 评论(0) 推荐(0)
摘要: 其实差分就是前缀和的逆运算,通过前缀和的相减可以得到数组的原值 一维差分,给定一个前缀和序列a,我们可以通过计算得到它的差分序列 这里差分序列b定义为: b[1]=a[1],b[i]=a[i]-a[i-1]; 我们可以通过差分来实现区间操作,若要把a的区间[l,r]加d,就可以通过b[l]+d,b[ 阅读全文
posted @ 2025-08-23 17:07 流云鹤= 阅读(13) 评论(0) 推荐(0)
摘要: 还是从潜入深做做题 洛谷P8218求区间和 对于前缀和题目,数组下标一般从1开始取,这样在计算s[i]=s[i-1]+a[i]时s[i-1]最小就是s[0],直接定义s[0]=0; 处理出前缀和数组我们求区间和时可以用两个前缀和做差s[r]-s[l-1]即为从l到r的区间和 这里简单理解为什么是l- 阅读全文
posted @ 2025-08-22 16:17 流云鹤= 阅读(15) 评论(0) 推荐(0)
摘要: 题目链接:https://codeforces.com/contest/894/problem/A 由于题目范围是100,所以可以暴力, #include <bits/stdc++.h> using namespace std; string s; int main() { cin>>s; int 阅读全文
posted @ 2025-08-18 23:31 流云鹤= 阅读(12) 评论(0) 推荐(0)
摘要: 这篇文章想通过几个题来感觉一下二分应该怎么分析,如何使用二分算法 对于二分,二分是二分性而不是单调性 只要满足可以找到一个值一半满足一半不满足即可 而不用满足单调性。 https://www.luogu.com.cn/training/545539#problems一个二分题单 我是习惯看到最值考虑 阅读全文
posted @ 2025-08-18 18:06 流云鹤= 阅读(10) 评论(1) 推荐(0)
摘要: 作为一个算法小白也是被打击惨了,今天就来补题了 PS:是和小红做朋友的一天 A、小红的不动点 A题比较简单,输入一个数组,检查有多少个不动点(下标和元素值相等的点)。下标从1开始 #include <bits/stdc++.h> using namespace std; int a[5]; int 阅读全文
posted @ 2025-08-12 22:27 流云鹤= 阅读(11) 评论(0) 推荐(0)
摘要: AcWing466. 回文日期 /* 这里我们使用月份+日期转为对应回文日期,也可以用年份(难度较大) */ #include <bits/stdc++.h> using namespace std; int month[13]={0,31,29,31,30,31,30,31,31,30,31,30 阅读全文
posted @ 2025-08-09 22:55 流云鹤= 阅读(6) 评论(0) 推荐(0)
摘要: AcWing446.统计单词数 不多解释了,直接写在代码里了 这里用到读取字符串的函数getline(cin, s);可以无视空格。 注意:匹配单词时,不区分大小写,但要求完全匹配 题中提到不区分大小写,所以我们都转化为小写,用tolower 可以知道:每写一个单词就会空一格,我们可以对比两个空格间 阅读全文
posted @ 2025-08-09 22:17 流云鹤= 阅读(14) 评论(0) 推荐(0)
摘要: 题目来源:https://www.luogu.com.cn/problem/P5707 题意:学校要求在八点前到达,计算最晚出门时间。 已知路上要花十分钟用来垃圾分类。 输入与学校距离s,速度v m/min 输出24小时制的时间 这里考虑到不足1分钟按一分钟计算,所以在计算路上时间时我们需要向上取整 阅读全文
posted @ 2025-08-05 12:47 流云鹤= 阅读(16) 评论(0) 推荐(0)